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
Henrik Rydgård
c55847a79e
Fix typo causing #10408
2017-12-14 00:23:07 +01:00
Henrik Rydgård
0207739d76
Can't call functions through known-nil pointers, even if they don't touch local data - LLVM's optimizer might have done something stupid.
2017-11-30 01:07:03 +01:00
Unknown W. Brackets
3dacd323c8
x64: Avoid clobbering jr dest in cases.
2017-07-08 16:40:06 -07:00
Unknown W. Brackets
79a6690a30
x64: Fix coreState rip checks.
2017-07-08 16:39:26 -07:00
Henrik Rydgård
567937fa4d
x64: Enable non-RIP addressing for FPU registers
2017-07-07 11:33:07 +02:00
Henrik Rydgård
cfa7c61651
More RIP removal. Also add some comments to make it easy to just search for "M(&" to find remaining offenders.
2017-07-07 11:33:06 +02:00
Henrik Rydgård
0743334946
Guess what? More RIP elimination (but keep the fast path too)
2017-07-07 11:33:05 +02:00
Henrik Rydgård
7c3b37c561
More RIP elimination
2017-07-07 11:33:05 +02:00
Henrik Rydgård
d82f90f1b2
More RIP removal
2017-07-07 11:33:05 +02:00
Henrik Rydgård
f44f7472e5
Remove more RIP addressing
2017-07-05 13:27:38 +02:00
Henrik Rydgård
99d23fb021
X64/X86: Even more use of the context register
2017-07-05 13:21:35 +02:00
Henrik Rydgård
730e9ced6c
X86/X64: We have the context register loaded, let's use it more.
2017-07-05 13:12:42 +02:00
Henrik Rydgård
c4db0a2311
x64: Use context register to access saved_flags
2017-07-05 12:45:56 +02:00
Henrik Rydgård
0ec1e5e3b2
Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708
2017-05-26 15:48:03 +02:00
Henrik Rydgard
c1f9f96621
Minor code formatting in x86 Jit
2017-02-04 14:34:39 +01:00
Henrik Rydgård
635b2ada43
Remove a function that didn't make a lot of sense.
2017-01-26 09:50:16 +01:00