Commit Graph

21 Commits

Author SHA1 Message Date
David Guillen Fandos 3a7fedb8fb Simplify MMAP machinery for Win/Lin/Mac/Android
This gets rid of the bloated memmap_win32.c in favour of a much simpler
wrapper. This will be needed in the future since the wrapper does not
support MAP_FIXED maps (necessary for some platforms)
2021-11-05 18:23:05 +01:00
David Guillen Fandos c39f5391f0 [ARM] Start using mmap'ed JIT caches for most builds
Will revisit remaining platforms and try to clean them too.
This should fix Android once and for all.
2021-10-29 22:51:39 +02:00
David Guillen Fandos 8e670a3263 Rewire warning flags (new NDK?) 2021-07-27 01:06:06 +02:00
David Guillen Fandos 1e8097ac79 Improve and simplify dynarec JIT area.
Also fix a regression on VITA.
Use gcc/OS cache flushing routines for MIPS32 instead of synci
2021-03-12 18:05:48 +01:00
David Guillen Fandos 0522d9a4f5 Add workaround for Android ARM builds
While we are at it, use ARM mode for better performance.
2021-03-09 19:29:18 +01:00
David Guillen Fandos 56dc6ecb70 Remove libco
This removes libco and all the usages of it (+pthreads).
Rewired all dynarecs and interpreter to return after every frame so that
libretro can process events. This required to make dynarec re-entrant.

Dynarecs were updated to check for new frame on every update (IRQ, cycle
exhaustion, I/O write, etc). The performance impact of doing so should
be minimal (and definitely outweight the libco gains). While at it,
fixed small issues to get a bit more perf: arm dynarec was not idling
correctly, mips was using stack when not needed, etc.

Tested on PSP (mips), OGA (armv7), Linux (x86 and interpreter). Not
tested on Android though.
2021-03-08 18:44:03 +01:00
jdgleaver c45187a7c8 Set 'USE_LIBCO=1' in Android JNI build file 2020-10-23 22:32:41 +01:00
Aaron Kling 9dcd9144cd Refactor android jni makefiles 2018-04-06 16:13:44 -05:00
Aaron Kling d982c5d050 Allow compiling android jni for all archs
Will not compile with clang, so toolchain override must remain.
2018-04-03 16:29:03 -05:00
Aaron Kling 4b0914b103 Fix up android jni makefiles
Clean up and fix errors with newer ndk versions
2018-03-31 15:03:16 -05:00
Gregor Richards 415b5ba67b Report git version with library_version 2016-12-09 18:42:12 -05:00
twinaphex c78a0dd39b (Android) For Android x86 build - try to use mmap, for Android - use ARM_MEMORY_DYNAREC
codepath
2014-12-11 01:38:47 +01:00
twinaphex eeeff89a2c (Android) Works now with dynarec 2014-12-10 21:12:45 +01:00
twinaphex a9ce972736 Add HAVE_DYNAREC and -DARCH_ARM optionally to CFLAGS 2014-12-10 20:31:56 +01:00
twinaphex e33a56cd83 PC_BUILD can go now 2014-12-10 18:53:06 +01:00
twinaphex 51d78afa09 Add HAVE_DYNAREC ifdef 2014-12-10 17:06:09 +01:00
twinaphex b3fe5aa3e4 (Android) Add x86 target too 2014-12-10 15:21:49 +01:00
aliaspider 6d7fd87e07 add a HAVE_MMAP check, cleanups. 2014-12-10 12:29:19 +01:00
aliaspider 13d5e9c875 Android build fix 2014-12-10 05:46:03 +01:00
twinaphex 26e7362de8 Cleanups in Android.mk 2014-12-10 04:56:50 +01:00
twinaphex 68efde5b94 Add Android JNI files 2014-12-10 04:54:32 +01:00