Commit graph

78 commits

Author SHA1 Message Date
Stenzek 80e3d29ab8 Misc: clang-cl warning clean-up 2023-09-03 14:30:26 +10:00
Stenzek 5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Connor McLaughlin 05eea3cd2b CPU/CodeCache: Always compute uncached fetch ticks
Running code out of uncached ROM is slowwww.
2023-01-11 19:15:59 +10:00
Connor McLaughlin 8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin 601e3586b2 CPU/CodeCache: Impove overflow handling 2022-11-05 14:43:52 +10:00
Connor McLaughlin 7bbacd2392 Misc: Remove unused code 2022-08-22 19:55:38 +10:00
Connor McLaughlin 541947c6f8 CPU/CodeCache: Fix currently-invalidated blocks breaking memory states 2022-01-06 22:47:10 +10:00
Connor McLaughlin c440593788 CPU/CodeCache: Add InvalidateAll() method 2021-12-25 14:28:32 +10:00
Connor McLaughlin a542fa85d6 CPU/CodeCache: Fix crash when switching from interpreter to recompiler 2021-07-31 13:29:02 +10:00
Connor McLaughlin 5bf24265aa CPU/CodeCache: Fix compilation without recompiler 2021-07-27 13:11:46 +10:00
Connor McLaughlin c9f8828448 CPU/CodeCache: Drop block linking warning to dev level 2021-07-27 13:11:42 +10:00
Connor McLaughlin d9d41de81b CPU/Recompiler: Skip updating current_instruction_pc 2021-07-24 13:30:35 +10:00
Connor McLaughlin 21938e14c6 CPU/Recompiler: Implement block linking 2021-07-24 13:07:11 +10:00
Connor McLaughlin 033d85cd90 CPU/Recompiler: Simplify fast map addressing 2021-07-24 13:03:43 +10:00
Connor McLaughlin 7ea78ad2df CPU/CodeCache: Fix incorrect macro for code buffer size 2021-07-20 00:00:43 +10:00
Connor McLaughlin ca747d8d7a CPU/CodeCache: Support UWP 2021-07-11 15:20:38 +10:00
Connor McLaughlin 7c43f5c13e CPU/CodeCache: Fix compilation on 32-bit x86 2021-05-26 02:48:46 +10:00
Connor McLaughlin 8c7282046b CPU/CodeCache: Re-enable interpreter fallback heuristic 2021-05-20 12:19:25 +10:00
Connor McLaughlin acda42be16 CPU/Recompiler: Get rid of non-constant offsetofs 2021-05-20 12:19:24 +10:00
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin 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
Connor McLaughlin dd5277321b CPU/CachedInterpreter: Fix infinite loop when block compile fails 2021-04-14 19:06:52 +10:00
Connor McLaughlin 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
Connor McLaughlin 922d320523 CPU/Recompiler: Reserve whole fastmem region to avoid clashes 2021-04-11 12:42:51 +10:00
Connor McLaughlin 5bbbb8d3d5 CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon 2021-03-19 18:47:31 +10:00
Connor McLaughlin bf5f53e1d1 CPU/CodeCache: Don't choke on indirect -> direct branch in delay slot 2021-03-06 02:21:27 +10:00
Connor McLaughlin 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
Connor McLaughlin 701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
Connor McLaughlin 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
Connor McLaughlin 02377b1a92 CPU/CodeCache: Fix possible crash on invalidate->recompile->overflow 2020-12-31 02:10:49 +10:00
Connor McLaughlin a894b295b6 CPU/CodeCache: Fix assertion failure when patching in double branch 2020-12-29 22:49:52 +10:00
Connor McLaughlin 3b23542ec9 CPU: Provide debugger/breakpoint/step functionality 2020-12-17 11:57:47 +10:00
Connor McLaughlin 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
Connor McLaughlin f5ccb6ea60 CPU: Fall back to mmap'ed buffer if reprotecting code space fails 2020-12-06 18:13:07 +10:00
Connor McLaughlin bf2e38aed5 CPU/Recompiler: Implement LUT-based fastmem 2020-11-24 14:49:21 +10:00
Connor McLaughlin 0793f98c87 CPU/Recompiler: Reduce armv7 code buffer size 2020-11-22 13:59:26 +10:00
Connor McLaughlin a03bca2f72 CPU: Make fastmem a compile-time feature (support 32-bit targets) 2020-11-21 18:39:03 +10:00
Connor McLaughlin 53f81d067a CPU/CodeCache: Remove warning about executing uncompiled blocks 2020-11-21 18:39:03 +10:00
Connor McLaughlin 042bdd9c0c CPU/CodeCache: Fetch second delay slot from first branch for double branches 2020-11-19 00:40:02 +10:00
Connor McLaughlin 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
Connor McLaughlin 2e53bf914e CPU/CodeCache: Fix crash when jumping to invalid block in recompiler 2020-10-31 14:27:57 +10:00
Connor McLaughlin be63d893cd CPU: Use partial icache fills for non-line-aligned addresses 2020-10-30 00:44:40 +10:00
Connor McLaughlin cbc7e3d64a CPU/Recompiler: Add register allocation safety check to fastmem 2020-10-26 21:59:29 +10:00
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 2020-10-18 14:54:38 +10:00
Connor McLaughlin a6f8dde790 CPU/Recompiler: Faster ASM dispatcher 2020-10-18 14:54:38 +10:00
Connor McLaughlin cb351a7dbd CPU: Move interrupt check out of inner-most exec loop 2020-10-18 14:54:38 +10:00
Connor McLaughlin 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
Connor McLaughlin d3f530f96e CPU/CachedInterpreter: Very slight optmization 2020-08-23 01:41:55 +10:00
Connor McLaughlin 1d4d1d06a7 CPU/Recompiler: Disable static code buffer on macOS/Haiku 2020-08-22 13:24:57 +10:00
kwyxz 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