Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-23 | Move caches to stub files to get around gcc 10 | David Guillen Fandos | |
Seems that using the __atribute__ magic for sections is not the best way of doing this, since it injects some default atributtes that collide with the user defined ones. Using assembly is far easier in this case. Reworked definitions a bit to make it easier to import from assembly. Also wrapped stuff around macros for easy and less verbose implementation of the symbol prefix issue. | |||
2021-03-23 | Make ewram memory lineal | David Guillen Fandos | |
This saves a few cycles in MIPS and simplifies a bit the core. Removed the write map, only affects interpreter performance very minimally. Rewired ARM and x86 handlers to support direct access to I/EWRAM (and VRAM on ARM) to compensate. Overall performance is slightly better but code is cleaner and allows for further improvements in the dynarecs. | |||
2021-03-17 | Enable runtime dynarec enable/disable | David Guillen Fandos | |
Added a more thorough cache cleanup for reset/mode-change too. Fixed the mmap initialization that ends up leaking memory. Minor x86 asm fixes for Android. | |||
2021-03-17 | Remove BIOS reserved translation area | David Guillen Fandos | |
This is not really necessary since it can share area with ROM. Performance impact should be very minimal (haven't noticed it myself) and could be compensated (even by a positive offset) if we bump the ROM cache area size. Tested with several dynarecs. | |||
2021-03-16 | Rewrite of the MIPS dynarec stubs | David Guillen Fandos | |
This allows us to emit the handlers directly in a more efficient manner. At the same time it allows for an easy fix to emit PIC code, which is necessary for libretro. This also enables more platform specific optimizations and variations, perhaps even run-time multiplatform support. | |||
2021-03-12 | Improve and simplify dynarec JIT area. | David Guillen Fandos | |
Also fix a regression on VITA. Use gcc/OS cache flushing routines for MIPS32 instead of synci | |||
2021-03-12 | Improve cache flush magic | David Guillen Fandos | |
Make it better and more generic. Add support for MIPS32 and fix the messy PSP code. | |||
2021-03-10 | Remove PSP-specific stuff from MIPS backend | David Guillen Fandos | |
This is unnecessary since newlib supports all file I/O. This is needed for other mips ports | |||
2021-03-09 | Add workaround for Android ARM builds | David Guillen Fandos | |
While we are at it, use ARM mode for better performance. | |||
2021-03-06 | Fix x86 dynarec, broken by d10c4afe | David Guillen Fandos | |
The dynarec expects function args to be located in registers instead of the stack, which is not the default calling convetion in GCC/clang. | |||
2021-03-05 | Reduce executable size by 90% | David Guillen Fandos | |
Turns out most of that file ends up in JIT section, which is RWX and not a very nice way to run code really (security issues aside). This also makes possible to build that file with -ggdb otherwise it complains about stuff. | |||
2021-02-15 | More cleanups (mostly whitespace and unused stuff) | David Guillen Fandos | |
2021-02-10 | Fix ARM dynarec | David Guillen Fandos | |
Turns out there were a couple of very interesting and hard to track bugs. A missing comma made the reg list too short, leaving the 31th element at the mercy of the linker ordering algorithm, which seems to work in some cases depending on the compiler version. Also the cache flush code seemed not to work on my machine (OGA), not sure why it wored in the past :/ | |||
2019-11-09 | [VITA] Fixes bug causing dynarec stuttering | Francisco José García García | |
2019-10-20 | Get dynarec working again for PSP | bmaupin | |
2016-10-04 | Remove RW_INIT | Francisco José García García | |
2016-10-04 | (VITA) Dynarec changes | Francisco José García García | |
2016-10-03 | (VITA) Dynarec working | Francisco José García García | |
2016-08-15 | Fix build issues | twinaphex | |
2016-08-14 | (VITA) Dynarec WIP | Francisco José García García | |
2016-08-08 | (VITA) Dynarec WIP | Francisco José García García | |
2015-11-04 | (3ds) dynarec: map the translation caches to specific addresses at | aliaspider | |
runtime, increases compatibility with loaders that can reloacate each program section seperately. move the svc enabling functions to the frontend. | |||
2015-09-11 | (3DS) add dynarec support when started from a .cia install | aliaspider | |
use libkhax for ninjhax 1.0 | |||
2015-04-08 | (3DS) enable dynarec support, works only with ninjahax. | aliaspider | |
2014-12-20 | Get rid of function_cc | Twinaphex | |
2014-12-13 | Remove a lot of the GNU case range extensions instances | twinaphex | |
2014-12-11 | Reimplement cache invalidation code | twinaphex | |
2014-12-11 | (Android) For Android x86 build - try to use mmap, for Android - use ↵ | twinaphex | |
ARM_MEMORY_DYNAREC codepath | |||
2014-12-10 | (Android) Works now with dynarec | twinaphex | |
2014-12-10 | PC_BUILD can go now | twinaphex | |
2014-12-10 | We don't need to get rid of idle loop patching for non-dynarec | twinaphex | |
core | |||
2014-12-10 | Add HAVE_DYNAREC ifdef | twinaphex | |
2014-12-10 | Code nits - get rid of '== NULL' / '!= NULL' | twinaphex | |
2014-12-10 | Style nits | twinaphex | |
2014-12-10 | cleanups | aliaspider | |
2014-12-10 | add a HAVE_MMAP check, cleanups. | aliaspider | |
2014-12-10 | Demacro-ize block_builder_arm/block_builder_thumb | twinaphex | |
2014-12-10 | Add macro parameter 'opcode' to some macros | twinaphex | |
2014-12-09 | dynamic recompiler now works when the core is compiled as a shared | aliaspider | |
library. | |||
2011-09-06 | enable -Wall and fix warnings reported by it | notaz | |
2011-09-03 | fix some warnings | notaz | |
2011-09-03 | revive PC build, support Linux | notaz | |
2011-09-03 | get rid of GP2X_BUILD checks where they are not really needed | notaz | |
2011-09-02 | move platform-independent stuff out of /gp2x. | notaz | |
2009-06-21 | cache clean fix | notaz | |
2009-05-21 | original source from gpsp09-2xb_src.tar.bz2 | notaz | |