PPCTables: Fix OPLOG system

Since OPLOG is defined in PPCTables.cpp only, it isn't visible elsewhere. This broke in 3ede866c37.
This commit is contained in:
Pokechu22 2022-12-23 18:05:01 -08:00
parent 34f39ee22e
commit cd627d1232
4 changed files with 18 additions and 26 deletions

View file

@ -491,16 +491,5 @@ void Jit64::CompileInstruction(PPCAnalyst::CodeOp& op)
{
(this->*s_dyna_op_table[op.inst.OPCD])(op.inst);
GekkoOPInfo* info = op.opinfo;
if (info)
{
#ifdef OPLOG
if (!strcmp(info->opname, OP_TO_LOG)) // "mcrfs"
{
rsplocations.push_back(js.compilerPC);
}
#endif
info->compileCount++;
info->lastUse = js.compilerPC;
}
PPCTables::CountInstructionCompile(op.opinfo, js.compilerPC);
}

View file

@ -491,16 +491,5 @@ void JitArm64::CompileInstruction(PPCAnalyst::CodeOp& op)
{
(this->*s_dyna_op_table[op.inst.OPCD])(op.inst);
GekkoOPInfo* info = op.opinfo;
if (info)
{
#ifdef OPLOG
if (!strcmp(info->opname, OP_TO_LOG))
{ ///"mcrfs"
rsplocations.push_back(js.compilerPC);
}
#endif
info->compileCount++;
info->lastUse = js.compilerPC;
}
PPCTables::CountInstructionCompile(op.opinfo, js.compilerPC);
}

View file

@ -110,8 +110,8 @@ bool UsesFPU(UGeckoInstruction inst)
return (info->flags & FL_USE_FPU) != 0;
}
#define OPLOG
#define OP_TO_LOG "mtfsb0x"
// #define OPLOG
// #define OP_TO_LOG "mtfsb0x"
#ifdef OPLOG
namespace
@ -141,6 +141,19 @@ void CountInstruction(UGeckoInstruction inst)
}
}
void CountInstructionCompile(GekkoOPInfo* info, u32 pc)
{
info->compileCount++;
info->lastUse = pc;
#ifdef OPLOG
if (!strcmp(info->opname, OP_TO_LOG))
{
rsplocations.push_back(pc);
}
#endif
}
void PrintInstructionRunCounts()
{
typedef std::pair<const char*, u64> OpInfo;

View file

@ -127,6 +127,7 @@ bool IsValidInstruction(UGeckoInstruction inst);
bool UsesFPU(UGeckoInstruction inst);
void CountInstruction(UGeckoInstruction inst);
void CountInstructionCompile(GekkoOPInfo* info, u32 pc);
void PrintInstructionRunCounts();
void LogCompiledInstructions();
const char* GetInstructionName(UGeckoInstruction inst);