Age | Commit message (Collapse) | Author |
|
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.
|
|
Fix a C func call while at it. This is a prerequisite to make the
dynarec re-entrant and get rid of libco
|
|
Turns out this was not even used! No need to fix it then!
|
|
This gets rid of stack usage (except for callback invocations) in the
dynarec execution code. A requirement to make the dynarec re-entrant.
|
|
Fix some small issues, mainly associated with undefined behaviour
expressions
|
|
|
|
|
|
|
|
|
|
..to reduce dcache trashing
|
|
newer gcc wants this
|
|
|
|
|