Henrik Rydgård
749e3a02cb
Jit: Add missing instruction address check from ARM jits
2026-02-26 10:37:12 +01:00
Henrik Rydgård
8897b5914a
Improve integrity checks in JIT (trying to catch an elusive crash)
2026-02-17 22:42:04 +01:00
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
9f5be16663
Jit: Remove the Jal-to-replacement optimization (really not all that benificial)
2026-02-17 09:40:27 +01:00
Henrik Rydgård
2797cfca56
Remove more vestiges of old experiments
2026-02-12 01:23:48 +01:00
Henrik Rydgård
44a2585753
Rename some function, remove an unused return value
2026-02-12 01:23:45 +01:00
Henrik Rydgård
d5444a7f46
Remove old rudimentary start at a MIPS->MIPS jit
2026-02-11 23:33:41 +01:00
Henrik Rydgård
d6ebfed432
Fix some bugs and warnings from a pass of static analysis
2026-01-29 17:41:54 +01:00
Henrik Rydgård
41b77bf1ae
More log cleanup
2025-04-14 22:27:51 +02: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
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
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Henrik Rydgård
e5af1f8bd0
Merge pull request #18560 from unknownbrackets/replacement-slice
...
HLE: Slice the very slow memset/memcpy variants
2023-12-17 12:35:48 +01:00
Unknown W. Brackets
053831bf4d
HLE: Add mechanics for sliced replacements.
2023-12-16 09:08:58 -08:00
Herman Semenov
b871e76d05
[Core/Debugger/FileLoaders/FileSystems/MIPS] Using reserve if possible
2023-12-15 13:59:19 +03:00
Henrik Rydgård
51d5026792
WriteExit: Assert on bad exit numbers
2023-09-26 19:39:48 +02:00
Henrik Rydgård
e64d1e94fe
add reporting to the invalid replacement op
2023-09-23 11:39:20 +02:00
Henrik Rydgård
8a90e94e74
Add an assert to try to track down a mysterious reported crash.
2023-09-21 12:08:16 +02:00
Unknown W. Brackets
74e5e43fdc
jit: Skip known prefix writes.
...
If we already know what's in memory and it's default, we can skip
overwriting with default values. This is common, actually.
2023-08-22 23:26:31 -07:00
Henrik Rydgård
4a4cd3d977
Add logging when loading a save state that has "unknown-prefix-mode" set
2023-06-14 10:23:23 +02:00
Unknown W. Brackets
87217053ef
Debugger: Correct PC if replacement breaks.
...
If a memory breakpoint hits within a replacement (like memcpy, memset) we
would previously move PC back to the jal in cases, which would break
things if you tried to resume.
2023-05-06 13:40:01 -07:00
Unknown W. Brackets
129700596f
x86jit: Correct wrong PC after bad mem access.
2023-04-16 19:11:20 -07:00
Unknown W. Brackets
0f5859510e
x86jit: Simplify memcheck handling.
...
Now it's mostly the same as the other jits.
2023-04-12 01:07:48 -07:00
Henrik Rydgård
d586ec0d5e
Don't create Host objects except in headless/unittest
2023-03-25 10:47:01 +01:00
Henrik Rydgård
718cb9ee4a
Reorder savestates to put memory before CoreTiming.
...
Also, don't clear the JIT for rounding after saving, only after loading.
2023-02-14 16:43:22 +01:00
Unknown W. Brackets
b2798c7ada
jit: Add more reasonable estimates for RX protect.
2022-11-20 10:55:35 -08:00
Unknown W. Brackets
17d94cd358
SaveState: Restore replacements in only one place.
2022-10-29 17:59:35 -07:00
Unknown W. Brackets
b9de1a44df
jit: Reduce some include pollution.
...
Usually no need for all of MIPSAnalyst.
2022-10-27 23:26:44 -07:00
Unknown W. Brackets
80e481bbdc
Core: Show exception on misaligned jump.
2022-08-21 14:49:34 -07:00
Unknown W. Brackets
52e9856b4b
Debugger: Fix breakpoints on delay slots.
2021-08-23 23:00:30 -07:00
Unknown W. Brackets
86585e9551
unittest: Fix jit harness init.
2021-04-24 15:48:17 -07:00
Unknown W. Brackets
4178f09e57
Build: More consistently avoid _M_ defines.
...
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
cae0815095
jit: Avoid using mips identifier directly.
...
Apparently this gets defined on mips systems.
2021-02-26 07:24:58 -08:00
Henrik Rydgård
6b4356a060
Handle exec addr errors better - don't let IgnoreBadMemoryAccesses skip dispatcher exceptions.
...
It would then just fall through into the compiler and die.
Should remove one of the "mystery" crashes from #14082 .
2021-02-09 09:32:38 +01:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
Unknown W. Brackets
b8342fb8ec
SaveState: Rename ChunkFile files to Serialize.
...
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
4b4e3432cd
SaveState: Split Do() into a separate header.
2020-08-10 08:03:41 +00:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgard
c988d42b04
ARM/ARM64 instruction analysis, hook up to handler
2020-07-14 09:25:45 +02:00
Unknown W. Brackets
ae224b3893
jit: Add some basic checks in armjit/arm64jit.
...
Just the simple (and unlikely) case so far...
2020-07-13 01:49:19 -07:00
Unknown W. Brackets
b3bf61dde1
x86jit: Trigger exec exceptions.
...
A common case might be, you're hacking something in the game and you broke
the stack, so you `jr ra` into outer space.
2020-07-12 22:40:25 -07:00
Henrik Rydgård
efc3f4f5e4
Split CORE_ERROR into CORE_BOOT_ERROR and CORE_RUNTIME_ERROR
2020-07-12 15:25:20 +02:00
Unknown W. Brackets
7910b4029a
arm64jit: Track writable and non-writable pointers.
...
Switch uses different memory regions. We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Henrik Rydgård
55b4b4b9e3
Style fix
2019-06-02 16:22:19 +02:00
Henrik Rydgård
6fd40332fd
JitDisable: Add option to disable regalloc across instructions (flush after every instruction)
2019-06-02 16:06:10 +02:00
Unknown W. Brackets
ab809bd19e
jit: Apply hasSetRounding at compile time.
...
Otherwise, the block will be executed with the wrong rounding mode the
first time rounding is set. This could be important if it was set for a
single operation.
This is only a problem the first time it's set.
2018-04-01 10:36:16 -07:00
Unknown W. Brackets
09e307b097
arm64jit: Update rounding mode on thread switch.
...
Since fcr31 is per-thread, we must update jit state when it changes.
This also fixes the rounding mode on load state and jit/interp switch.
2018-04-01 10:12:32 -07:00
Unknown W. Brackets
8ffb0101fe
jit: Report blocks with uneaten VFPU prefixes.
...
There may be options to avoid, like continuing these blocks, especially if
they're likely or something.
2018-01-01 08:38:10 -08:00