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
a72fc6f79c
Support showing (and sorting by) IR profiler info in the JIT viewer
...
This will help future work on #19143 .
2025-10-09 17:02:52 -06:00
Henrik Rydgård
ff5dea821b
New jit viewer is starting to work a bit.
2025-10-08 16:59:25 -06:00
Henrik Rydgård
ba148e5ec7
JIT/IRJit: Delete an old "function preloading" experiment
...
This caused some confusion while trying to debug #20502
2025-06-11 15:45:18 +02:00
Mark Zhuang
ec9401374e
IR: Fix compile error when enable IR_PROFILING
2025-05-21 14:04:01 +08:00
Nemoumbra
e3b09bea59
Ported the MIPSLogger's UI + basic integration of MIPSTracer
2024-09-14 19:46:05 +03:00
Nemoumbra
00cd142365
Comment fix + new QOL method
2024-09-14 19:46:04 +03:00
Henrik Rydgård
b6a3996e65
Remove a warning, change some & params to pointers for clarity, func rename
2024-09-11 11:48:12 +02:00
Henrik Rydgård
7139301692
IR interpreter: Replace the assert for downcount with a very predictable branch
...
Fixes breakpoints and other similar things, with a negligible penalty.
2024-09-11 11:24:43 +02:00
Henrik Rydgård
96c4ae4457
TimeUtil: Minor cleanup, add precise_sleep()
2024-07-26 11:25:58 +02:00
Henrik Rydgård
eda60a5df9
IR: Disable unworkable overwriting of instructions on invalidation. Add debug-mode sanity check.
2024-07-22 12:03:53 +02:00
Henrik Rydgård
aa7fd6979e
Disable preloading of function stubs if bPreloadFunctions is off
...
Fixes #19349 . Strange that the game worked at all.
The issue is that the arena could get resized due to precompile during
sceKernelModuleLoad . Now respect the flag that turns precompile off
properly (we should probably make it work differently instead, if we're
gonna have it).
2024-07-22 09:51:58 +02:00
Henrik Rydgård
44f3d113d0
Buildfix
2024-07-22 09:08:47 +02:00
Henrik Rydgård
85e7ff7ac3
Target->Native renaming. More intuitive (at least to me)
2024-07-22 01:24:34 +02:00
Henrik Rydgård
898774a93d
Attempt more thorough block invalidation
2024-07-22 01:22:54 +02:00
Henrik Rydgård
d3e6f19b6d
Comments, log, cleanup
2024-07-22 01:15:35 +02:00
Henrik Rydgård
9d36a08ec4
Some renaming, remove a gross hack
2024-07-21 19:12:51 +02:00
Henrik Rydgård
fb499bf5bf
ARM32: Remove runtime checks for VFPv3 and NEON since we require these when building anyway.
2024-07-17 22:14:24 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
9ef5250387
IRJit: If we're in "JIT using IR" mode, don't accidentally optimize for the interpreter.
2024-06-11 10:24:08 +02:00
Henrik Rydgård
bd0beb68a4
Add new IR optimization pass, OptimizeLoadsAfterStores
2024-06-07 19:32:37 +02:00
Henrik Rydgård
a4c4fb44fb
Cleanup
2024-06-07 18:33:48 +02:00
Henrik Rydgård
94ef6d4ce7
Fix savestates (oops)
2024-06-07 18:33:40 +02:00
Henrik Rydgård
7ef6cdb515
Improve accuracy of block timing
2024-06-07 10:17:16 +02:00
Henrik Rydgård
a6f398a7d2
Add IRJit arena overflow check
2024-06-07 10:17:01 +02:00
Henrik Rydgård
8d6e96d04e
Use binary search to find IR block offsets
2024-06-07 09:28:27 +02:00
Henrik Rydgård
ee6ba74c88
Store IRInst offsets instead of block indices
2024-06-07 09:28:27 +02:00
Henrik Rydgård
5526ef012c
Store IR instructions in a large arena vector instead of loosely in each block.
2024-06-07 09:28:27 +02:00
Henrik Rydgård
0ea9120ca5
Add a stats view
2024-06-06 19:21:50 +02:00
Henrik Rydgård
ba1ced77c3
IRJit block profiling basics
2024-06-05 13:02:40 +02:00
Henrik Rydgård
f2837e3b55
JIT compare screen with IR blocks - fix some crashing issues
2024-05-26 14:10:50 +02:00
Henrik Rydgård
7464b5f17b
IRInterpreter: Enable some optimizations that accidentally were only enabled on non-ARM64.
2024-05-26 13:41:31 +02:00
Henrik Rydgård
e75e7a0e43
Add an optimizeForInterpreter flag
2024-05-26 13:41:31 +02:00
Henrik Rydgård
fae846e52a
Remove the count parameter from IRInterpret. This is a good speed boost!
2024-05-10 23:31:24 +02:00
Henrik Rydgård
7a097cb34a
Shave a couple instructions in the common case
2024-05-10 23:23:58 +02:00
Henrik Rydgård
c332d564db
IRInterpreter: Cache the MIPSState pointer in a local, faster address check
2024-05-10 23:21:51 +02:00
Henrik Rydgård
91d9ef9b81
Minor IR interpreter optimization
2024-05-10 18:27:29 +02:00
Herman Semenov
17ecee1715
Fixed return copies from functions and const ref params
2024-04-02 18:37:00 +03:00
Herman Semenov
b871e76d05
[Core/Debugger/FileLoaders/FileSystems/MIPS] Using reserve if possible
2023-12-15 13:59:19 +03:00
Unknown W. Brackets
57123e8f9e
irjit: Reserve some arrays that churn.
...
Improves IR compile time by around 20-30%.
2023-08-20 08:59:47 -07:00
Unknown W. Brackets
159b41a0fa
irjit: Fuse unaligned svl.q/svr.q together.
...
They're almost never used outside paired, which we can do on most
platforms easily.
2023-08-13 18:10:40 -07:00
Unknown W. Brackets
2e6dbab5fa
irjit: Add flag to prefer Vec4, use for add/sub.
...
This will improve things when using SIMD.
2023-08-13 18:10:40 -07:00
Unknown W. Brackets
247788806a
irjit: Add direct helper for start PC.
...
It's annoying always fetching length too.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets
3757ebca2d
irjit: Invalidate/finalize target blocks.
...
Doesn't actually do anything yet, but adds plumbing.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets
f870271011
riscv: Spill registers more intelligently.
2023-07-30 14:24:12 -07:00
Unknown W. Brackets
8d60c10a64
riscv: Use jit address offsets directly.
...
We'll have IR able to use block number or target offset.
2023-07-29 19:02:15 -07:00
Unknown W. Brackets
3468423bb4
Debugger: Handle missing crash/block ptrs better.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets
e4f9c72fe9
riscv: Avoid unaligned mem combine in IR.
2023-07-16 16:20:58 -07:00
Unknown W. Brackets
d4e689b096
irjit: Allow IRInterpret() on partial block.
...
For later if we want to fallback from native to IR interpret.
2023-07-16 16:19:53 -07:00
Unknown W. Brackets
46101581c0
Core: Cleanup disasm buffer usage.
2023-04-29 09:07:25 -07:00