David Guillen Fandos
46cad2958a
Move a few more registers to context
...
This gets rid of some more absolute addrs in the MIPS dynarec.
Tested on several platforms, we should be good.
2021-03-16 01:02:10 +01:00
David Guillen Fandos
c86b9064df
Move palettes around to simplify MIPS dynarec
...
Will move also OAM structures to gain a few cycles per load/store.
Loads can also be optimized for an extra instruction per access.
2021-03-15 02:25:02 +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
David Guillen Fandos
d21478e06e
ARM dynarec: Do not use the stack at all
...
Fix a C func call while at it. This is a prerequisite to make the
dynarec re-entrant and get rid of libco
2021-03-05 17:47:20 +01:00
David Guillen Fandos
7bebd3051c
Remove dead code
...
Turns out this was not even used! No need to fix it then!
2021-03-05 01:15:55 +01:00
David Guillen Fandos
6770e0a5e7
Minor improvements in ARM stubs
...
This gets rid of stack usage (except for callback invocations) in the
dynarec execution code. A requirement to make the dynarec re-entrant.
2021-03-04 18:35:48 +01:00
David Guillen Fandos
8d52e613c7
Minor cleanup in ARM and MIPS
...
Fix some small issues, mainly associated with undefined behaviour
expressions
2021-02-12 21:47:35 +01:00
twinaphex
d6c3c8dee6
(iOS) Compatibility patches pt. 1
2014-12-11 16:36:30 +01:00
twinaphex
89feda2e3e
(ARM ASM) Use .globl instead of .global
2014-12-11 04:57:55 +01:00
twinaphex
512f7f5b27
Code nits - get rid of '== NULL' / '!= NULL'
2014-12-10 16:40:43 +01:00
aliaspider
a926a68eb3
cleanups
2014-12-10 12:53:26 +01:00
notaz
8f91b883fc
use single literal pool in arm_stub
...
..to reduce dcache trashing
2011-09-08 00:48:33 +03:00
notaz
1e02ad6bbd
mask off arguments for write hadlers
...
newer gcc wants this
2011-09-08 00:48:27 +03:00
notaz
0a74ef66e1
drc: fix eabi alignment
2011-09-04 17:37:46 +03:00
notaz
d5e0983c10
move platform-independent stuff out of /gp2x.
2011-09-02 17:44:41 +03:00