Commit Graph
2365 Commits
Author SHA1 Message Date
Henrik Rydgård 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
Henrik Rydgård 13815e6f5a Merge pull request #17423 from unknownbrackets/debugger
Debugger: Correct PC if replacement breaks
2023-05-06 23:08:53 +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
Henrik Rydgård 4e732af786 Minor cleanup, add a speculative comment. 2023-05-04 10:07:49 +02:00
Henrik Rydgård 1a2d599942 JIT: Consider the block cache full a few block before it is, to allow space for proxy blocks.
Should fix the following crash:

Core/MIPS/JitCommon/JitBlockCache.cpp:190

JitBlock &b = blocks_[num_blocks_];
2023-05-02 21:53:01 +02:00
Unknown W. Brackets 07d2b77c2a Debugger: Add a simple way to exclude from hashmap.
Sometimes funcs have common patterns, this is a quick way to avoid
poisoning the hashmap.
2023-04-29 10:59:32 -07:00
Unknown W. Brackets 5b1235537f Debugger: Make disasm more thread safe. 2023-04-29 09:56:17 -07:00
Unknown W. Brackets 6da10463f9 Debugger: Make reg names safer, stop using v000.
Better to use S000, etc. as that's more clear throughout.
2023-04-29 09:48:33 -07:00
Unknown W. Brackets 2f3a0ea0b5 Debugger: Simplify expression error handling. 2023-04-29 09:15:14 -07:00
Unknown W. Brackets 46101581c0 Core: Cleanup disasm buffer usage. 2023-04-29 09:07:25 -07:00
Henrik Rydgård 7723aebb9b Buildfixes 2023-04-28 21:56:39 +02:00
Henrik Rydgård 6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Unknown W. Brackets 129700596f x86jit: Correct wrong PC after bad mem access. 2023-04-16 19:11:20 -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
Henrik Rydgård 39d7651866 Merge pull request #17270 from unknownbrackets/debugger-cond
Debugger: Add memory breakpoint conditions
2023-04-12 23:13:26 +02:00
Unknown W. Brackets 9cebfc31b3 Debugger: Avoid unaligned reads in expressions.
Potentially, a watch or break condition could crash if it was unaligned
between mirrors.  This might happen if it's not the condition you wanted,
especially.  Play it safe.
2023-04-12 01:14:30 -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
Unknown W. Brackets a37f0c256d Debugger: Correct stack walk at start of func. 2023-04-09 16:05:47 -07:00
Henrik Rydgård 7f60acf898 Merge pull request #17259 from unknownbrackets/debugger-minor
A few more debugger things
2023-04-09 22:25:04 +02:00
Unknown W. Brackets 1fc74b1980 Debugger: Format vfpu offsets as hex.
Let's be consistent across FP and VFPU, it's confusing otherwise.
2023-04-09 10:44:19 -07:00
Unknown W. Brackets f6640cf5e5 Debugger: Fix viim disassembly. 2023-04-09 10:36:51 -07:00
Unknown W. Brackets 5233a3bc84 Debugger: Cleanup some sign extends in disassembly. 2023-04-09 10:36:20 -07:00
Henrik Rydgård f390c3a6ee Merge pull request #17244 from unknownbrackets/debugger-memcheck
Debugger: Trigger mem breakpoints for mirrors
2023-04-06 07:56:56 +02:00
Unknown W. Brackets 6df939034a Core: Cleanup some sign extensions for clarity. 2023-04-05 17:16:51 -07:00
Unknown W. Brackets 142707ccf3 x86jit: Reduce memory breakpoint codegen.
Was generating a lot of code and, in some games, burning through the jit
cache causing constant recompilation with just a few breakpoints.
2023-04-05 17:14:51 -07:00
Henrik Rydgård ff907bd523 Fix crash in MIPSStackWalk 2023-04-05 09:48:03 +02:00
Henrik Rydgård aba026f7e9 Add back our older VFPU approximations, as fallbacks if files are missing.
PR #16984 added more accurate versions of these functions, but they require
large lookup tables stored in assets/.

If these files are missing, PPSSPP would simply crash, which isn't good.

We should probably try to warn the user somehow that these files are
missing, though...
2023-04-03 11:33:41 +02:00
Henrik Rydgård d996fb74d4 MSVC: Set language standard to c++17.
Noticed that we were getting some new warnings after merging the
constexpr stuff.
2023-04-02 17:55:15 +02:00
Henrik Rydgård fc62d587c0 Fix whitespace issues 2023-04-02 16:36:39 +02:00
Герман Семенов 8d5af48efd Core: using if constexpr C++17 optimization 2023-04-02 16:35:57 +02:00
Henrik Rydgård 2814668cf5 Show a MIPS stack trace on crash screen (#17211)
* Print simple stack traces to log on crashes.

* Display stack traces on crash screen

* Show the in-function offset in the printed callstacks.

* Libretro buildfix attempt
2023-03-31 10:08:12 +02:00
Henrik Rydgård 98d9a9c8ca Merge pull request #16984 from fp64/vfpu-sincos
VFPU sin/cos
2023-03-28 16:36:51 +02:00
Henrik Rydgård d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Unknown W. Brackets d97790e28e irjit: Fix vi2us/vi2s with non-consecutive.
Vec2ClampToZero and similar assume consecutive.
2023-03-15 21:30:35 -07:00
fp64 38fc21a2c0 Implement load-on-demand of vfpu tables 2023-03-12 08:21:15 -04:00
fp64 d3be0ee654 Fix tabs vs spaces, tweak comments, error on BE 2023-03-12 08:21:15 -04:00
fp64 67bb17eba3 Add more vfpu_*, move tables to assets 2023-03-12 08:21:15 -04:00
fp64 ee98603fe7 Fix the sign of cos(2*n+1)
Also fix the license text.
2023-03-12 08:21:14 -04:00
fp64 3661bb27ce Implement sin/cos as per #16946 2023-03-12 08:21:13 -04: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 89c18d8077 riscv: Cleanup missing Poison, Crash. 2023-02-12 12:10:29 -08:00
Henrik Rydgård 9e736ca50c Workaround for sin/cos issue in GTA on Mac (and maybe others) 2023-02-07 17:43:12 +01:00
Henrik Rydgård 6dc930feb7 Merge pull request #16796 from unknownbrackets/icache-typo
jit: Fix reporting of icache invalidate near PC
2023-01-12 07:30:24 +01:00
Unknown W. Brackets 8341b09087 jit: Fix reporting of icache invalidate near PC.
Reversed the check, that's what I get for not testing it.
2023-01-11 20:22:09 -08:00
Henrik Rydgård e1a48d74c4 A bit more GetPointer cleanup.
Probably not worth it for performance reasons, but some semantic cleanup
is good, especially the accidental GetPointer -> writable casts without
using GetPointerWrite.

Using Unchecked on already checked pointers, or when we'd crash anyway
if it returned nullptr, is good for clarity.
2023-01-10 12:13:47 +01:00
Unknown W. Brackets dea9cac16c Core: Add range checks to some helpers and similar. 2023-01-09 16:56:18 -08:00
Unknown W. Brackets 1f66c1d689 jit: Also report invalidation near PC. 2023-01-06 19:51:43 -08:00
Unknown W. Brackets b073d3e207 jit: Report unaligned icache invalidations.
And over invalidate them a bit.
2023-01-06 19:46:43 -08:00
Unknown W. Brackets fb13dbf169 riscv: Correct type warning, oops. 2023-01-04 21:42:22 -08:00
Henrik Rydgård 14bd411036 Round addr to nearest cacheline when invalidating 2023-01-04 11:40:53 +01:00