541947c6f8
CPU/CodeCache: Fix currently-invalidated blocks breaking memory states
2022-01-06 22:47:10 +10:00
c440593788
CPU/CodeCache: Add InvalidateAll() method
2021-12-25 14:28:32 +10:00
a542fa85d6
CPU/CodeCache: Fix crash when switching from interpreter to recompiler
2021-07-31 13:29:02 +10:00
5bf24265aa
CPU/CodeCache: Fix compilation without recompiler
2021-07-27 13:11:46 +10:00
c9f8828448
CPU/CodeCache: Drop block linking warning to dev level
2021-07-27 13:11:42 +10:00
d9d41de81b
CPU/Recompiler: Skip updating current_instruction_pc
2021-07-24 13:30:35 +10:00
21938e14c6
CPU/Recompiler: Implement block linking
2021-07-24 13:07:11 +10:00
033d85cd90
CPU/Recompiler: Simplify fast map addressing
2021-07-24 13:03:43 +10:00
7ea78ad2df
CPU/CodeCache: Fix incorrect macro for code buffer size
2021-07-20 00:00:43 +10:00
ca747d8d7a
CPU/CodeCache: Support UWP
2021-07-11 15:20:38 +10:00
7c43f5c13e
CPU/CodeCache: Fix compilation on 32-bit x86
2021-05-26 02:48:46 +10:00
8c7282046b
CPU/CodeCache: Re-enable interpreter fallback heuristic
2021-05-20 12:19:25 +10:00
acda42be16
CPU/Recompiler: Get rid of non-constant offsetofs
2021-05-20 12:19:24 +10:00
e382df0d41
Support expanding RAM to 8MB (dev console)
2021-05-03 12:43:33 +10:00
f34a048009
CPU/CodeCache: Fall back constantly-modified blocks to interpreter
...
Partial fix for slowdown in Colin McRae Rally 2.0.
2021-04-27 02:56:57 +10:00
dd5277321b
CPU/CachedInterpreter: Fix infinite loop when block compile fails
2021-04-14 19:06:52 +10:00
e087e6f3a2
CPU/Recompiler: Prevent using fastmem when cache is isolated
...
No point even trying since it's just going to fault.
2021-04-12 02:08:56 +10:00
922d320523
CPU/Recompiler: Reserve whole fastmem region to avoid clashes
2021-04-11 12:42:51 +10:00
5bbbb8d3d5
CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon
2021-03-19 18:47:31 +10:00
bf5f53e1d1
CPU/CodeCache: Don't choke on indirect -> direct branch in delay slot
2021-03-06 02:21:27 +10:00
520b64e711
CPU/Recompiler: Don't zero read-only bits in mtc0
...
Fixes memory card error in Digimon Digital Card Battle.
2021-02-28 15:06:24 +10:00
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
c9240eea72
CPU/Recompiler: Use PGXP interpreter for fallback
...
Fixes holes in geometry with PGXP enabled in Threads of Fate.
2021-01-01 17:16:55 +10:00
02377b1a92
CPU/CodeCache: Fix possible crash on invalidate->recompile->overflow
2020-12-31 02:10:49 +10:00
a894b295b6
CPU/CodeCache: Fix assertion failure when patching in double branch
2020-12-29 22:49:52 +10:00
3b23542ec9
CPU: Provide debugger/breakpoint/step functionality
2020-12-17 11:57:47 +10:00
5164840c25
CPU/CodeCache: Don't choke on indirect branches in delay slot
...
Fixes emulator crash/memory usage explosion in Shadow Master.
2020-12-14 01:35:53 +10:00
f5ccb6ea60
CPU: Fall back to mmap'ed buffer if reprotecting code space fails
2020-12-06 18:13:07 +10:00
bf2e38aed5
CPU/Recompiler: Implement LUT-based fastmem
2020-11-24 14:49:21 +10:00
0793f98c87
CPU/Recompiler: Reduce armv7 code buffer size
2020-11-22 13:59:26 +10:00
a03bca2f72
CPU: Make fastmem a compile-time feature (support 32-bit targets)
2020-11-21 18:39:03 +10:00
53f81d067a
CPU/CodeCache: Remove warning about executing uncompiled blocks
2020-11-21 18:39:03 +10:00
042bdd9c0c
CPU/CodeCache: Fetch second delay slot from first branch for double branches
2020-11-19 00:40:02 +10:00
576914cd2c
CPU/CodeCache: Backpatch code writes after they exceed 10 faults
...
Small performance improvement in Driver 2.
2020-11-08 00:22:35 +10:00
2e53bf914e
CPU/CodeCache: Fix crash when jumping to invalid block in recompiler
2020-10-31 14:27:57 +10:00
be63d893cd
CPU: Use partial icache fills for non-line-aligned addresses
2020-10-30 00:44:40 +10:00
cbc7e3d64a
CPU/Recompiler: Add register allocation safety check to fastmem
2020-10-26 21:59:29 +10:00
7566c45f64
CPU/Recompiler: Implement fastmem
2020-10-18 14:54:38 +10:00
a6f8dde790
CPU/Recompiler: Faster ASM dispatcher
2020-10-18 14:54:38 +10:00
cb351a7dbd
CPU: Move interrupt check out of inner-most exec loop
2020-10-18 14:54:38 +10:00
19d6037b99
CPU: Implement instruction cache simulation
...
Implemented for all execution modes. Disabled by default in the cached
interpreter and recompiler, always enabled in the pure interpreter.
2020-08-29 22:07:40 +10:00
d3f530f96e
CPU/CachedInterpreter: Very slight optmization
2020-08-23 01:41:55 +10:00
1d4d1d06a7
CPU/Recompiler: Disable static code buffer on macOS/Haiku
2020-08-22 13:24:57 +10:00
31695c4ff7
Haiku port of duckstation libretro core ( #716 )
...
* Haiku build 1st attempt
* fix load on Haiku
* Removed debugging flags
* Added a couple ifndef
2020-08-22 13:20:37 +10:00
2e9f656546
CPU: Implement PGXP CPU Mode
...
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
5b9db71b87
CPU/Recompiler: Fix mid-block software interrupts not updating pc
...
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00
1d5f810a4b
CPU/Recompiler: Disable memory access exceptions by default
...
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
2020-08-08 23:44:13 +10:00
b1377fe0d9
CPU/Recompiler: Add a fast block lookup array
...
Up to 15% perf improvement.
2020-08-08 23:06:28 +10:00
f6e88353eb
CPU/Recompiler: Make generated code invariant to virtual PC
2020-08-08 23:06:28 +10:00
2885d2e547
CPU/CodeCache: Hopefully fix 32-bit compile errors
2020-08-01 03:53:53 +10:00