diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2023-01-27 19:06:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-27 19:06:30 +0100 |
| commit | 41272dc5f1b62f4a5a0562cc29eb3e83367d0f14 (patch) | |
| tree | 6691a9e37d870d1d2879d14faa41d4c0ee041b37 /Source/Core/Common/Debug/CodeTrace.cpp | |
| parent | f056cec8594ca63049ae3b481a5f2f8a752ef03d (diff) | |
| parent | be2d394b8ca128e012ef4ba972559140276a1428 (diff) | |
Merge pull request #11429 from AdmiralCurtiss/globals-ppc
Reduce usage of ppcState global.
Diffstat (limited to 'Source/Core/Common/Debug/CodeTrace.cpp')
| -rw-r--r-- | Source/Core/Common/Debug/CodeTrace.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Core/Common/Debug/CodeTrace.cpp b/Source/Core/Common/Debug/CodeTrace.cpp index d1cb913356..09939bdf96 100644 --- a/Source/Core/Common/Debug/CodeTrace.cpp +++ b/Source/Core/Common/Debug/CodeTrace.cpp @@ -11,6 +11,7 @@ #include "Core/Debugger/PPCDebugInterface.h" #include "Core/HW/CPU.h" #include "Core/PowerPC/PowerPC.h" +#include "Core/System.h" namespace { @@ -56,11 +57,13 @@ void CodeTrace::SetRegTracked(const std::string& reg) InstructionAttributes CodeTrace::GetInstructionAttributes(const TraceOutput& instruction) const { + auto& system = Core::System::GetInstance(); + // Slower process of breaking down saved instruction. Only used when stepping through code if a // decision has to be made, otherwise used afterwards on a log file. InstructionAttributes tmp_attributes; tmp_attributes.instruction = instruction.instruction; - tmp_attributes.address = PC; + tmp_attributes.address = system.GetPPCState().pc; std::string instr = instruction.instruction; std::smatch match; @@ -106,11 +109,14 @@ InstructionAttributes CodeTrace::GetInstructionAttributes(const TraceOutput& ins TraceOutput CodeTrace::SaveCurrentInstruction() const { + auto& system = Core::System::GetInstance(); + auto& ppc_state = system.GetPPCState(); + // Quickly save instruction and memory target for fast logging. TraceOutput output; - const std::string instr = PowerPC::debug_interface.Disassemble(PC); + const std::string instr = PowerPC::debug_interface.Disassemble(ppc_state.pc); output.instruction = instr; - output.address = PC; + output.address = ppc_state.pc; if (IsInstructionLoadStore(output.instruction)) output.memory_target = PowerPC::debug_interface.GetMemoryAddressFromInstruction(instr); |
