Henrik Rydgård
7992ff4627
Make CBreakpoints an object
2024-11-25 00:22:53 +01:00
Henrik Rydgård
d3e9398cb3
Split Core_EnableStepping into Core_Break and Core_Resume
2024-11-03 17:53:42 +01:00
Henrik Rydgård
2e85eb5128
More static code analysis fixes
2024-10-28 17:59:06 +01:00
Henrik Rydgård
e51c58716b
Fix minor code issues flagged by PVS-Studio and reported by alphrixus.
2024-10-10 14:10:30 +02:00
Henrik Rydgård
1a89c26dc0
Warning fixes
2024-10-03 18:19:11 +02:00
Nemoumbra
bd6c469543
Code-review fixes
2024-09-16 02:48:52 +03:00
Nemoumbra
08b20ce9c8
Buildfix for std::back_inserter
2024-09-14 20:16:17 +03:00
Nemoumbra
f23b04fb4a
Logic errors fixed + refactoring
2024-09-14 19:46:05 +03:00
Nemoumbra
ff5877e993
Renamed the IR instruction, new UI button added
2024-09-14 19:46:05 +03:00
Nemoumbra
a26afb4c2f
Implemented the trace reconstruction + bugs fixed
2024-09-14 19:46:05 +03:00
Nemoumbra
25f6b01d86
Added the initialization code + UI bindings + logs
2024-09-14 19:46:05 +03:00
Nemoumbra
e3b09bea59
Ported the MIPSLogger's UI + basic integration of MIPSTracer
2024-09-14 19:46:05 +03:00
Nemoumbra
34f113207d
Added the MIPSTracer files to the project + name fix
2024-09-14 19:46:04 +03:00
Nemoumbra
00cd142365
Comment fix + new QOL method
2024-09-14 19:46:04 +03:00
Nemoumbra
a6be0517dc
New IR instruction added
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
9fb97add3f
Bugfixes
2024-07-26 14:22:31 +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
78c75e1a0b
Delete duplicate function (now that we can easily check for compileToNative)
2024-07-21 19:17:21 +02:00
Henrik Rydgård
9d36a08ec4
Some renaming, remove a gross hack
2024-07-21 19:12:51 +02:00
Henrik Rydgård
8a535ed5d4
Bugfix in DoIRInst, thanks Nemoumbra
2024-07-21 18:56:22 +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
982a83d867
IRInterpreter: Optimize variable shifts (no need to mask by 0x1f)
2024-06-24 09:30:21 +02:00
Henrik Rydgård
06315ae6ee
IRInterpreter: Slight optimization for fmul
...
Just put stuff in temporaries, allows for better codegen
2024-06-24 09:12:57 +02:00
Henrik Rydgård
6ebec02f05
Fix crash in JITIR after disassembly improvement.
...
Fixes #19292
2024-06-22 15:16:27 +02:00
Henrik Rydgård
06e636bfdc
Build and comment fixes
2024-06-19 20:24:59 +02:00
Henrik Rydgård
e64d768113
Implement the same for ARM64
2024-06-19 20:00:36 +02:00
Henrik Rydgård
0080f71ca4
Implement FPU rounding mode support in the IR interpreter for x86/x64
2024-06-19 18:09:38 +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
5bfc0259be
Optimize away the redundant vector loads in the Wipeout games.
2024-06-08 23:22:58 +02:00
Henrik Rydgård
2ff91fab2b
Optimize a common case of the ins instruction
2024-06-08 23:10:29 +02:00
Henrik Rydgård
c9ca3904d3
Combine move-from-gpr and float cast.
2024-06-08 22:59:48 +02:00
Henrik Rydgård
0abcd00372
IR Interpreter: Don't split up lone lwr/swr/lwl/swl instructions, the interpreter handles them faster.
2024-06-08 22:28:11 +02:00
Henrik Rydgård
0c246297d2
Create an IR op for a FPRtoGPR + shift-right-8, very common
2024-06-07 21:26:20 +02:00
Henrik Rydgård
d1e0384b2f
Improve disasm
2024-06-07 19:32:37 +02:00
Henrik Rydgård
bd0beb68a4
Add new IR optimization pass, OptimizeLoadsAfterStores
2024-06-07 19:32:37 +02:00
Henrik Rydgård
da88011805
Specialize a few arithmetic instructions for the interpreter.
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