Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
The dynarec expects function args to be located in registers instead of
the stack, which is not the default calling convetion in GCC/clang.
|
|
|
|
|
|
runtime, increases compatibility with loaders that can reloacate each
program section seperately.
move the svc enabling functions to the frontend.
|
|
remove the static memory limitation, no need to use the smaller dynarec
buffer size.
|
|
|
|
recompiler.
|
|
|
|
|
|
|
|
|
|
library.
|
|
|
|
|
|
|
|
|