mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
x86jit: Improve some debug labels.
Helps when running a profiler that reads these.
This commit is contained in:
parent
303aa0548c
commit
2e64abd2a0
4 changed files with 25 additions and 7 deletions
|
@ -18,6 +18,7 @@
|
|||
#include "Common/Profiler/Profiler.h"
|
||||
#include "Common/StringUtils.h"
|
||||
#include "Common/TimeUtil.h"
|
||||
#include "Core/Debugger/SymbolMap.h"
|
||||
#include "Core/MIPS/MIPSTables.h"
|
||||
#include "Core/MIPS/IR/IRNativeCommon.h"
|
||||
|
||||
|
@ -451,8 +452,9 @@ bool IRNativeJit::DescribeCodePtr(const u8 *ptr, std::string &name) {
|
|||
break;
|
||||
}
|
||||
|
||||
// Used by profiling tools that don't like spaces.
|
||||
if (block_num == -1) {
|
||||
name = "(unknown or deleted block)";
|
||||
name = "unknownOrDeletedBlock";
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -460,7 +462,13 @@ bool IRNativeJit::DescribeCodePtr(const u8 *ptr, std::string &name) {
|
|||
if (block) {
|
||||
u32 start = 0, size = 0;
|
||||
block->GetRange(start, size);
|
||||
name = StringFromFormat("(block %d at %08x)", block_num, start);
|
||||
|
||||
// It helps to know which func this block is inside.
|
||||
const std::string label = g_symbolMap ? g_symbolMap->GetDescription(start) : "";
|
||||
if (!label.empty())
|
||||
name = StringFromFormat("block%d_%08x_%s", block_num, start, label.c_str());
|
||||
else
|
||||
name = StringFromFormat("block%d_%08x", block_num, start);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -236,7 +236,7 @@ void MIPSState::UpdateCore(CPUCore desired) {
|
|||
switch (PSP_CoreParameter().cpuCore) {
|
||||
case CPUCore::JIT:
|
||||
case CPUCore::JIT_IR:
|
||||
INFO_LOG(CPU, "Switching to JIT");
|
||||
INFO_LOG(CPU, "Switching to JIT%s", PSP_CoreParameter().cpuCore == CPUCore::JIT_IR ? " IR" : "");
|
||||
if (oldjit) {
|
||||
std::lock_guard<std::recursive_mutex> guard(MIPSComp::jitLock);
|
||||
MIPSComp::jit = nullptr;
|
||||
|
@ -246,7 +246,7 @@ void MIPSState::UpdateCore(CPUCore desired) {
|
|||
break;
|
||||
|
||||
case CPUCore::IR_INTERPRETER:
|
||||
INFO_LOG(CPU, "Switching to IRJIT");
|
||||
INFO_LOG(CPU, "Switching to IR interpreter");
|
||||
if (oldjit) {
|
||||
std::lock_guard<std::recursive_mutex> guard(MIPSComp::jitLock);
|
||||
MIPSComp::jit = nullptr;
|
||||
|
|
|
@ -252,8 +252,11 @@ void RiscVJitBackend::FlushAll() {
|
|||
|
||||
bool RiscVJitBackend::DescribeCodePtr(const u8 *ptr, std::string &name) const {
|
||||
// Used in disassembly viewer.
|
||||
// Don't use spaces; profilers get confused or truncate them.
|
||||
if (ptr == dispatcherPCInSCRATCH1_) {
|
||||
name = "dispatcher (PC in SCRATCH1)";
|
||||
name = "dispatcherPCInSCRATCH1";
|
||||
} else if (ptr == outerLoopPCInSCRATCH1_) {
|
||||
name = "outerLoopPCInSCRATCH1";
|
||||
} else if (ptr == dispatcherNoCheck_) {
|
||||
name = "dispatcherNoCheck";
|
||||
} else if (ptr == saveStaticRegisters_) {
|
||||
|
@ -262,6 +265,8 @@ bool RiscVJitBackend::DescribeCodePtr(const u8 *ptr, std::string &name) const {
|
|||
name = "loadStaticRegisters";
|
||||
} else if (ptr == applyRoundingMode_) {
|
||||
name = "applyRoundingMode";
|
||||
} else if (ptr >= GetBasePtr() && ptr < GetBasePtr() + jitStartOffset_) {
|
||||
name = "fixedCode";
|
||||
} else {
|
||||
return IRNativeBackend::DescribeCodePtr(ptr, name);
|
||||
}
|
||||
|
|
|
@ -242,9 +242,12 @@ void X64JitBackend::FlushAll() {
|
|||
}
|
||||
|
||||
bool X64JitBackend::DescribeCodePtr(const u8 *ptr, std::string &name) const {
|
||||
// Used in disassembly viewer.
|
||||
// Used in disassembly viewer and profiling tools.
|
||||
// Don't use spaces; profilers get confused or truncate them.
|
||||
if (ptr == dispatcherPCInSCRATCH1_) {
|
||||
name = "dispatcher (PC in SCRATCH1)";
|
||||
name = "dispatcherPCInSCRATCH1";
|
||||
} else if (ptr == outerLoopPCInSCRATCH1_) {
|
||||
name = "outerLoopPCInSCRATCH1";
|
||||
} else if (ptr == dispatcherNoCheck_) {
|
||||
name = "dispatcherNoCheck";
|
||||
} else if (ptr == saveStaticRegisters_) {
|
||||
|
@ -255,6 +258,8 @@ bool X64JitBackend::DescribeCodePtr(const u8 *ptr, std::string &name) const {
|
|||
name = "restoreRoundingMode";
|
||||
} else if (ptr == applyRoundingMode_) {
|
||||
name = "applyRoundingMode";
|
||||
} else if (ptr >= GetBasePtr() && ptr < GetBasePtr() + jitStartOffset_) {
|
||||
name = "fixedCode";
|
||||
} else {
|
||||
return IRNativeBackend::DescribeCodePtr(ptr, name);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue