Henrik Rydgård and Claude Opus 5.5
5a9cbf007c
CPU: Pass the MIPSState explicitly where it was already at hand
...
The JIT backends' calls out of generated code (the MIPS and IR interpreter
fallbacks, and the bad address report) now take the state the backend was
built for instead of reading currentMIPS. Likewise the interpreter's tick
check, the IR dispatcher's Advance, and a couple of debugger helpers.
MIPSState::InitRegisters() no longer sets currentMIPS; the boot paths set it.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-20 09:47:48 +02:00
Henrik Rydgård
eb0813c0e3
Add a utility function for all the ABIs to call functions with a pointer arg. Use to call Advance from the JIT with the MIPSContext. Indent some code better.
2026-08-13 08:09:30 +02:00
Unknown W. Brackets
4178f09e57
Build: More consistently avoid _M_ defines.
...
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Florent Castelli
83aaf30207
cmake: Use preprocessor for conditional compilation in Common
...
CommonExtra is gone!
Still need to fix CommonFake later though.
2016-10-11 16:55:29 +02:00
Unknown W. Brackets
df3f90d763
x86jit: Fix a copy/paste error.
2015-01-18 13:26:14 -08:00
Unknown W. Brackets
031a1de139
Add some additional ABI call funcs, cleanup.
...
ImmPtr is cleaner, let's use it rather than ugly casts.
2014-09-21 08:34:08 -07:00
Unknown W. Brackets
d7233159aa
Store thunk regs on the stack, not a global.
...
This may even be more near active memory anyway, but it reduces the "64
bit address out of range" RIP issues a bit too. It's currently impossible
to enable appverif memory checks and jit in 64-bit...
Avoided the 32-bit path because I'm less sure about alignment.
2014-02-14 22:59:57 -08:00
Unknown W. Brackets
2347498667
x86jit: Use templates to avoid some void * casts.
...
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Unknown W. Brackets
732ae13ebb
Fast path CallSyscall where possible.
...
It seems we're spending a decent amount of time there, which isn't
entirely unexpected. We can eliminate some things easily.
2013-11-04 07:59:37 -08:00
adrian17
5f86bc44d4
Deleted some doubled #includes.
2013-09-27 21:38:07 +02:00
Unknown W. Brackets
3e6df2d7aa
Just save XMM0-XMM15 on x64.
...
Not really sure why but seems like VS2010 expects XMM4 to be preserved.
Fixes headless on x64.
2013-09-16 23:17:34 -07:00
Unknown W. Brackets
662ae77214
Save regs before/after 3-arg func calls on x86.
...
This fixes bugs only on x64 when ABI_CallFunctionACC and etc. were used.
This was breaking things since R8 was not being saved (arg 3.)
2013-07-06 00:54:53 -07:00
Unknown W. Brackets
d1b7b9ac63
Save XMM regs as required by the Windows x64 ABI.
...
Fixes jitter in analog in recent builds, possibly other bugs.
2013-05-25 00:34:19 -07:00
Unknown W. Brackets
5305017fc3
Properly save registers before the slowmem call.
2013-01-19 11:11:44 -08:00
Unknown W. Brackets
f1295f6262
Don't muck with currentMIPS->r in the slowmem jit.
2013-01-19 11:11:44 -08:00
Unknown W. Brackets
d5ae85201c
Optimize sw/lw even under safe memory.
...
They're very common instructions, so shaving cycles helps.
2013-01-18 23:10:50 -08:00
Henrik Rydgard
687b085357
Missed these somehow
2012-11-04 23:58:25 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00