Commit Graph
508 Commits
Author SHA1 Message Date
Lin Runze 1d910b81ff loongarch: Add emitter, JIT and disassembler support for LoongArch64 2025-07-12 03:21:23 +08:00
Henrik Rydgård 6e84cd7f38 Correct the clearing/destruction order when switching JITs.
Fixes #20502
2025-06-11 16:27:48 +02: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
Henrik Rydgård 962bd8239d Remove more excessive error reporting. 2025-03-02 02:28:45 +01:00
oltolm 02e767866a fix compiler warnings 2025-02-22 14:15:15 +01:00
Henrik Rydgård e93c80db4e Cleaning up our SIMD header includes, using the new header 2024-12-19 16:08:48 +01:00
Henrik Rydgård 45cf6d423e Buildfixes 2024-12-18 13:57:29 +01:00
Henrik Rydgård 83af54950f Move more core-related stuff into Core.cpp/h 2024-12-08 11:54:58 +01:00
Henrik Rydgård 96c4a10e8c Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping. 2024-12-01 21:04:21 +01:00
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årdandGitHub 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