summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorLioncache <mai.iam2048@gmail.com>2023-12-18 15:34:15 -0500
committerLioncache <mai.iam2048@gmail.com>2023-12-18 15:46:22 -0500
commit75ec350dc4fa569a504f1d8dde580580c18045d4 (patch)
treed4ba46ba9f7edfd993e13d9bf28cc3f8552736b5 /Source/Core
parent514b3e6f55bc74e2c893aa8a044d2fb739f08add (diff)
Core/Debugger_SymbolMap: Remove redundant system parameters from interface
The CPU thread guard already allows access to the system instance. We can remove the system parameter to reduce rendundancy here.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Debugger/Debugger_SymbolMap.cpp19
-rw-r--r--Source/Core/Core/Debugger/Debugger_SymbolMap.h10
-rw-r--r--Source/Core/Core/PowerPC/Expression.cpp5
-rw-r--r--Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp2
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeWidget.cpp2
5 files changed, 17 insertions, 21 deletions
diff --git a/Source/Core/Core/Debugger/Debugger_SymbolMap.cpp b/Source/Core/Core/Debugger/Debugger_SymbolMap.cpp
index 50ca9dbf85..2e741754cc 100644
--- a/Source/Core/Core/Debugger/Debugger_SymbolMap.cpp
+++ b/Source/Core/Core/Debugger/Debugger_SymbolMap.cpp
@@ -26,10 +26,10 @@ static bool IsStackBottom(const Core::CPUThreadGuard& guard, u32 addr)
return !addr || !PowerPC::MMU::HostIsRAMAddress(guard, addr);
}
-static void WalkTheStack(Core::System& system, const Core::CPUThreadGuard& guard,
+static void WalkTheStack(const Core::CPUThreadGuard& guard,
const std::function<void(u32)>& stack_step)
{
- auto& ppc_state = system.GetPPCState();
+ const auto& ppc_state = guard.GetSystem().GetPPCState();
if (!IsStackBottom(guard, ppc_state.gpr[1]))
{
@@ -52,10 +52,9 @@ static void WalkTheStack(Core::System& system, const Core::CPUThreadGuard& guard
// Returns callstack "formatted for debugging" - meaning that it
// includes LR as the last item, and all items are the last step,
// instead of "pointing ahead"
-bool GetCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
- std::vector<CallstackEntry>& output)
+bool GetCallstack(const Core::CPUThreadGuard& guard, std::vector<CallstackEntry>& output)
{
- auto& ppc_state = system.GetPPCState();
+ const auto& ppc_state = guard.GetSystem().GetPPCState();
if (!Core::IsRunning() || !PowerPC::MMU::HostIsRAMAddress(guard, ppc_state.gpr[1]))
return false;
@@ -75,7 +74,7 @@ bool GetCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
entry.vAddress = LR(ppc_state) - 4;
output.push_back(entry);
- WalkTheStack(system, guard, [&entry, &output](u32 func_addr) {
+ WalkTheStack(guard, [&entry, &output](u32 func_addr) {
std::string func_desc = g_symbolDB.GetDescription(func_addr);
if (func_desc.empty() || func_desc == "Invalid")
func_desc = "(unknown)";
@@ -87,10 +86,10 @@ bool GetCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
return true;
}
-void PrintCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
- Common::Log::LogType type, Common::Log::LogLevel level)
+void PrintCallstack(const Core::CPUThreadGuard& guard, Common::Log::LogType type,
+ Common::Log::LogLevel level)
{
- auto& ppc_state = system.GetPPCState();
+ const auto& ppc_state = guard.GetSystem().GetPPCState();
GENERIC_LOG_FMT(type, level, "== STACK TRACE - SP = {:08x} ==", ppc_state.gpr[1]);
@@ -105,7 +104,7 @@ void PrintCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
LR(ppc_state));
}
- WalkTheStack(system, guard, [type, level](u32 func_addr) {
+ WalkTheStack(guard, [type, level](u32 func_addr) {
std::string func_desc = g_symbolDB.GetDescription(func_addr);
if (func_desc.empty() || func_desc == "Invalid")
func_desc = "(unknown)";
diff --git a/Source/Core/Core/Debugger/Debugger_SymbolMap.h b/Source/Core/Core/Debugger/Debugger_SymbolMap.h
index 83dcfaa551..6e79e5f91a 100644
--- a/Source/Core/Core/Debugger/Debugger_SymbolMap.h
+++ b/Source/Core/Core/Debugger/Debugger_SymbolMap.h
@@ -13,8 +13,7 @@
namespace Core
{
class CPUThreadGuard;
-class System;
-} // namespace Core
+}
namespace Dolphin_Debugger
{
@@ -24,10 +23,9 @@ struct CallstackEntry
u32 vAddress = 0;
};
-bool GetCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
- std::vector<CallstackEntry>& output);
-void PrintCallstack(Core::System& system, const Core::CPUThreadGuard& guard,
- Common::Log::LogType type, Common::Log::LogLevel level);
+bool GetCallstack(const Core::CPUThreadGuard& guard, std::vector<CallstackEntry>& output);
+void PrintCallstack(const Core::CPUThreadGuard& guard, Common::Log::LogType type,
+ Common::Log::LogLevel level);
void PrintDataBuffer(Common::Log::LogType type, const u8* data, size_t size,
std::string_view title);
} // namespace Dolphin_Debugger
diff --git a/Source/Core/Core/PowerPC/Expression.cpp b/Source/Core/Core/PowerPC/Expression.cpp
index 2fe2d8c036..79307f4460 100644
--- a/Source/Core/Core/PowerPC/Expression.cpp
+++ b/Source/Core/Core/PowerPC/Expression.cpp
@@ -115,9 +115,8 @@ static double CallstackFunc(expr_func* f, vec_expr_t* args, void* c)
std::vector<Dolphin_Debugger::CallstackEntry> stack;
{
- auto& system = Core::System::GetInstance();
- Core::CPUThreadGuard guard(system);
- bool success = Dolphin_Debugger::GetCallstack(system, guard, stack);
+ Core::CPUThreadGuard guard(Core::System::GetInstance());
+ const bool success = Dolphin_Debugger::GetCallstack(guard, stack);
if (!success)
return 0;
}
diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp b/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp
index 6b475e1204..929ec185c4 100644
--- a/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp
+++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp
@@ -323,7 +323,7 @@ void Interpreter::unknown_instruction(Interpreter& interpreter, UGeckoInstructio
const u32 opcode = PowerPC::MMU::HostRead_U32(guard, last_pc);
const std::string disasm = Common::GekkoDisassembler::Disassemble(opcode, last_pc);
NOTICE_LOG_FMT(POWERPC, "Last PC = {:08x} : {}", last_pc, disasm);
- Dolphin_Debugger::PrintCallstack(system, guard, Common::Log::LogType::POWERPC,
+ Dolphin_Debugger::PrintCallstack(guard, Common::Log::LogType::POWERPC,
Common::Log::LogLevel::LNOTICE);
const auto& ppc_state = interpreter.m_ppc_state;
diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
index 650e17e905..0bf2937dbf 100644
--- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
@@ -344,7 +344,7 @@ void CodeWidget::UpdateCallstack()
const bool success = [this, &stack] {
Core::CPUThreadGuard guard(m_system);
- return Dolphin_Debugger::GetCallstack(m_system, guard, stack);
+ return Dolphin_Debugger::GetCallstack(guard, stack);
}();
if (!success)