Henrik Rydgård and Claude Opus 5.5
f3c69fc5d1
Remove FakeJit and the pre-IR JitBlockCache
...
FakeJit was the native JIT for architectures without one, but the config
already forces those onto the IR interpreter, so CreateNativeJit() now
returns that instead. The vertex decoder fallback no longer needs
FakeEmitter.
JitBlockCache was the block cache of the pre-IR JITs. Its header keeps
the debug interface types the IR block caches use. Also removes the
JitInterface link hooks only it called, and the JitState fields tied to
it. This fixes a null dereference in the ImDebugger memory section,
which read GetBlockCache(), always null with the IR JITs.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-15 02:24:25 +02:00
Henrik Rydgård
4fb5d5965c
MMIO: Simplest possible kernel-mode permission check, start work on supporting in JIT
2026-08-21 10:32:22 +02:00
Henrik Rydgård
8897b5914a
Improve integrity checks in JIT (trying to catch an elusive crash)
2026-02-17 22:42:04 +01:00
Henrik Rydgård
f0ba391a4e
Remove the whole concept of proxy blocks from the block cache, and experimental uses of it.
2026-02-17 09:40:27 +01:00
Henrik Rydgård
2797cfca56
Remove more vestiges of old experiments
2026-02-12 01:23:48 +01:00
Henrik Rydgård
b999c51a1a
Code cleanup. Don't use gpr.SetRegImm where all we do is write to a scratch register
2026-02-10 19:28:53 +01:00
Henrik Rydgård
4a8aeac38a
Jit: Remove unused x86-only feature continueBranches.
2026-01-29 17:41:57 +01:00
Henrik Rydgård
ed5a052258
Remove unused initial work for adding NEON support to ARM JITs.
...
Our SIMD strategy for ARM is the JitUsingIR.
2026-01-29 17:41:57 +01:00
Lin Runze
1d910b81ff
loongarch: Add emitter, JIT and disassembler support for LoongArch64
2025-07-12 03:21:23 +08:00
Unknown W. Brackets
fcc90095f7
riscv: Enable block linking.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets
89c18d8077
riscv: Cleanup missing Poison, Crash.
2023-02-12 12:10:29 -08:00
Henrik Rydgård
a34e32abe1
Revert "Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194 "
...
This reverts commit bc28f54612 .
2022-10-11 15:42:59 +02:00
Henrik Rydgård
bc28f54612
Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194
...
I'm not sure if we should call it at all here, but at least this makes
games work again on ARM32. Will need more investigation.
2022-10-11 10:10:52 +02:00
Henrik Rydgård
584e94f01e
ARM32: Remove a lot of non-NEON fallback paths
2022-04-13 11:44:55 +02:00
Unknown W. Brackets
13ec384dbe
Build: Explicitly include ppsspp_config.h.
...
This adds it to all files that use it. Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
4e24b27053
mipsjit: Fix basic compilation.
2021-02-08 23:30:14 -08:00
Unknown W. Brackets
46649a218e
Core: Add flags to disable jit features.
...
Not actually disabling yet, just setup.
2019-02-03 13:58:24 -08:00
Unknown W. Brackets
08e85d0cd4
arm64jit: Autodetect pointerify support.
...
Also, re-enable static alloc without pointerify, it works now.
2017-12-28 10:48:55 -08:00
Unknown W. Brackets
cccf448ae0
arm64jit: Allow disabling pointerification.
...
For platforms where we can't get base aligned.
2017-12-27 17:02:19 -08:00
Henrik Rydgard
5df685fa07
Fix another couple of arch define things
2016-11-03 22:25:55 +01:00
Henrik Rydgard
4e5f1e2797
Fix block linking with W^X mode
2016-08-28 18:54:14 +02:00
Henrik Rydgard
b264657d56
Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
...
Disabled block linking in this mode, can re-enable with some more work later.
To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Henrik Rydgard
844a3f19a9
Fix bugs and issues in ARM64 static alloc. Thanks unknown for finding the problem.
2015-07-11 16:59:09 +02:00
Henrik Rydgård
d014d420db
Unify JitOptions across the backends.
...
This is required to make ExtractIR not a member of the various backends.
2015-04-12 11:41:26 -07:00