Commit Graph

340 Commits

Author SHA1 Message Date
Unknown W. Brackets
7f07b4154a Debugger: Keep separate tag dirty for RAM.
VRAM and RAM can often be separately dirty, so keeping two ranges helps
reduce flushing, and flushing things together is more efficient.
2022-03-20 13:24:42 -07:00
Unknown W. Brackets
7eafbb54bd Debugger: Fast path write tag lookup. 2022-03-20 13:19:13 -07:00
Unknown W. Brackets
6945151384 Debugger: Improve tag on copies.
MemInit shows up sometimes when the allocation would be more useful.
2022-03-20 12:05:31 -07:00
Unknown W. Brackets
80e054b797 Debugger: Avoid write tag lookup on small alloc. 2022-02-06 09:28:48 -08:00
Unknown W. Brackets
2e2b222983 Debugger: Use detailed meminfo with breakpoints.
Usually there won't be any breakpoints, so it makes sense to enable detail
when they're added automatically.
2022-02-06 09:23:53 -08:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
48b597a1b9 Display: Move core counters/stats to HW file.
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
ad2e380987 Display: Move listeners to separate HW file.
Mixing this in with the HLE management funcs was messy.
2022-01-30 09:41:08 -08:00
Unknown W. Brackets
664d18cc9d Debugger: Encourage better meminfo accounting.
This makes MSVC generate a tighter loop and inline.
2022-01-30 08:03:54 -08:00
Unknown W. Brackets
0f2fc00f1b Debugger: Avoid flushing meminfo on write lookup.
Small improvement on frequent block transfers, etc.
2022-01-15 19:43:16 -08:00
Henrik Rydgård
cc767622d0
Merge pull request #15247 from unknownbrackets/debugger-hash
Debugger: Don't try to hash invalid RAM
2021-12-21 08:29:37 +01:00
Unknown W. Brackets
9017f91253 Debugger: Don't try to hash invalid RAM. 2021-12-20 16:17:18 -08:00
Unknown W. Brackets
db2eddcf27 Debugger: Remove double debug window updates.
Core_EnableStepping() is already marking the debug windows for update,
there's no need to call SetDebugMode() again.
2021-12-12 11:24:03 -08:00
Unknown W. Brackets
9155cd7491 Debugger: Reduce meminfo block check hazard.
If a debugger (i.e. the memory view) checks for memory block info while a
save state is being loaded, it can crash.  This was already rare, but this
change makes it significantly rarer.

Of course, it's still possible without a mutex, but I'm wanting to avoid
slowing down the lookups as they are used at runtime within emulation.
2021-12-04 14:51:02 -08:00
Unknown W. Brackets
e2425a1e00 Debugger: Speed up GetFunctionSize().
Tested games with lots of functions, it's just never worth generating the
full active symbols.  Direct lookup saves 0.005s startup on desktop in a
typical game.
2021-12-04 14:49:50 -08:00
Unknown W. Brackets
b8ab7f39df jit: Lock around changes to the jit pointer. 2021-11-28 10:04:22 -08:00
Unknown W. Brackets
fc2efe5dff Debugger: Add reason to cpu.stepping event. 2021-10-23 22:08:15 -07:00
Unknown W. Brackets
2bd13c5d9d Debugger: Track reason for entering stepping. 2021-10-23 16:56:15 -07:00
Unknown W. Brackets
83909f816e Debugger: Add APIs for GPU stats. 2021-10-19 10:01:41 -07:00
Unknown W. Brackets
ce3b80dcea Debugger: Add initial GPU stats shell. 2021-10-19 10:01:40 -07:00
Unknown W. Brackets
c48a203363 Debugger: Avoid infinite loop in disasm API.
This allows for wrap around, but prevents getting stuck looping in out of
bound addresses.
2021-08-29 11:11:01 -07:00
Henrik Rydgård
bea9f67c02 Fix assorted path issues 2021-07-19 17:34:51 +02:00
Henrik Rydgård
cd8cfcfcd7 Merge __CtrlSetAnalogX/Y into one function. Always called together. 2021-07-09 10:41:26 +02:00
Unknown W. Brackets
09bd12f6c9
Merge pull request #14502 from Kingcom/armips
Transform labels to lower case for armips
2021-06-04 23:59:32 -07:00
Kingcom
bb6f6051fc Transform labels to lower case for armips 2021-06-04 17:51:28 +02:00
Henrik Rydgård
914b4478b6
Merge pull request #14493 from unknownbrackets/replay
Add debugger APIs for replay recording
2021-05-31 11:45:39 +02:00
Unknown W. Brackets
6e128eb510 Debugger: Expose API to reset game.
This can be useful to put the game back to a known-good state before
setting up breakpoints, overwriting memory, and processing replay data.
2021-05-30 21:12:30 -07:00
Unknown W. Brackets
ea59fa3562 Debugger: Add replay execute/flush APIs. 2021-05-30 15:25:07 -07:00
Unknown W. Brackets
85c64d3ec3 Replay: Properly load RTC time on load file. 2021-05-29 14:50:57 -07:00
Unknown W. Brackets
64e007c0ce Debugger: Add stub API for replay functionality. 2021-05-29 14:50:57 -07:00
Henrik Rydgård
4d344f556a Additional feedback. 2021-05-13 10:39:17 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Henrik Rydgård
f4a6d291e1 Common: Capitalize setCurrentThreadName(). 2021-04-30 23:02:36 -07:00
Unknown W. Brackets
56bcf04c49 Debugger: Try harder to validate UTF-8.
When sending this in the websocket debugger, it needs to be valid utf-8 or
it will cause clients to abort the connection.  We want to reject invalid
utf-8 anyway.
2021-04-23 23:24:47 -07:00
Unknown W. Brackets
012d47bcbf Debugger: Show string in status bar for li, etc.
This is helpful when stepping through the debugger.  Only shows likely
UTF-8 or similar formatted text, but often names or error messages are.
2021-04-21 23:50:59 -07:00
Unknown W. Brackets
5904900d37 Debugger: Add APIs to set/list/search mem tags. 2021-04-06 12:09:39 -07:00
Unknown W. Brackets
124774fecb Debugger: Provide memory mapping ranges.
Most of these are entirely static, but introspection is good for APIs.
2021-04-04 21:27:30 -07:00
Unknown W. Brackets
a0c1320aec Debugger: Return detail for breakpoints in macros. 2021-04-04 20:24:16 -07:00
Unknown W. Brackets
7a1398844a Debugger: Add simple API to control tagging detail.
In case a client requires it.
2021-04-04 20:23:51 -07:00
Unknown W. Brackets
ee749804fc Debugger: Note GPU block transfer src as well. 2021-04-03 18:11:44 -07:00
Unknown W. Brackets
aa89ed5111 Debugger: Include source tag in memcpys. 2021-04-03 18:11:44 -07:00
Unknown W. Brackets
c88757b3e7 Debugger: Make memory tags longer.
Need more space for better information.
2021-04-03 16:04:07 -07:00
Henrik Rydgård
ecad18a4f0
Merge pull request #14293 from unknownbrackets/debugger
Debugger: Ignore small memory info by default
2021-03-16 08:59:35 +01:00
Unknown W. Brackets
b93e02ad73 Debugger: Ignore small memory info by default.
The ini can be updated to enable higher resolution data.  Allocations are
always at least 0x100, so this is still pretty useful.
2021-03-14 15:10:35 -07:00
Henrik Rydgård
63a94ceebb Fix performance regression from failing to optimize the new mem tracker.. 2021-03-14 21:27:20 +01:00
Unknown W. Brackets
8d6c1c6d9b Debugger: Fix save state compat for slab info. 2021-03-13 10:03:02 -08:00
Unknown W. Brackets
06995d7569
Debugger: Add header for strlen. 2021-03-13 09:21:45 -08:00
Henrik Rydgård
4e1bc2b3e0 Further std::string removal 2021-03-13 17:55:07 +01:00
Henrik Rydgård
0780976fe7 Remove static assert on struct size, we don't really care that much.
Caused problems on 32-bit.
2021-03-13 17:36:10 +01:00
Henrik Rydgård
3c211a6b99 Buildfix 2021-03-13 17:28:47 +01:00