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 and GitHub
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
Unknown W. Brackets
053831bf4d
HLE: Add mechanics for sliced replacements.
2023-12-16 09:08:58 -08:00
Henrik Rydgård
84d0236bf4
Comment fixes
2023-09-27 12:31:17 +02: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
8fc01e37d9
Check for bad indices in GetReplacementFunc to avoid crashes
2023-09-23 10:09:55 +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
Henrik Rydgård
c59e9e51b2
Non-change to see if CI fixes itself..
2023-08-25 12:39:19 +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
Henrik Rydgård and GitHub
67a35d3476
Merge pull request #17356 from unknownbrackets/minor-cleanup
...
Cleanup some more string formats, mostly in debugger
2023-05-23 08:29: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
46101581c0
Core: Cleanup disasm buffer usage.
2023-04-29 09:07:25 -07:00
Henrik Rydgård
237c3ce128
Apply the fix to avoid jit clearing for rewind savestates to all platforms
...
Silly oversight made in commit 718cb9e .
2023-04-16 00:02:16 +02:00
Unknown W. Brackets
6df939034a
Core: Cleanup some sign extensions for clarity.
2023-04-05 17:16:51 -07:00
Unknown W. Brackets
b9fe48f42d
Crash: Lookup block numbers more efficiently.
...
We only care about the first one in these places anyway. Also make sure
we don't try to match an invalid block number.
2022-12-20 21:02:52 -08:00
Unknown W. Brackets
b2798c7ada
jit: Add more reasonable estimates for RX protect.
2022-11-20 10:55:35 -08: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
fa5f9d5e74
jit: Consistently check range on invalidate.
...
We did this on x86, we should do it everywhere or nowhere.
2022-10-15 18:30:13 -07:00
Unknown W. Brackets
52e9856b4b
Debugger: Fix breakpoints on delay slots.
2021-08-23 23:00:30 -07: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
1b596ef82b
Fix/workaround ARM64 with the MASKED_PSP_MEMORY build flag.
2020-11-03 00:20:16 +01:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Unknown W. Brackets
6b8f7294b3
Global: Remove ARM64 define.
...
Was barely used anymore, and some users are specifying it when it's not
the case, so better to detect consistently.
2020-08-29 08:45:50 -07:00
Henrik Rydgård
b43698a13d
Remove most instances of base/logging.h from Common, Core, GPU, more
2020-08-15 19:08:44 +02:00
Unknown W. Brackets
4b4e3432cd
SaveState: Split Do() into a separate header.
2020-08-10 08:03:41 +00: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
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
eb4b59b530
arm64jit: Enable breakpoints.
...
Memory breakpoints not yet really tested.
2018-06-06 17:31:56 -07: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
Unknown W. Brackets
08e85d0cd4
arm64jit: Autodetect pointerify support.
...
Also, re-enable static alloc without pointerify, it works now.
2017-12-28 10:48:55 -08:00
Unknown W. Brackets
257a4fdd12
arm64jit: Reprotect fixed code after icache flush.
2017-12-27 19:33:04 -08: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
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
d68953c18c
Buildfixes
2017-03-02 13:29:51 +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
Florent Castelli
8c3552de74
cmake: Detect features at compile time
...
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Henrik Rydgard
03279e1212
Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
...
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgård
22b6988424
Fix issue with iOS JIT block linking, see #8122
2016-08-29 17:32:46 +02:00
Henrik Rydgard
4e5f1e2797
Fix block linking with W^X mode
2016-08-28 18:54:14 +02:00
Henrik Rydgard
b264657d56
Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
...
Disabled block linking in this mode, can re-enable with some more work later.
To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Unknown W. Brackets
4113fd940c
Add ugly invalidation workaround for SGS7s.
...
Otherwise they just crash, and crash often. Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Henrik Rydgard
f8659b8e1e
Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes.
2016-05-08 22:06:13 +02:00
Henrik Rydgard
492ea5fac4
Address a bunch of comments, thanks for the review
2016-05-08 21:38:03 +02:00