PPCTables: Fix OPLOG system

Since OPLOG is defined in PPCTables.cpp only, it isn't visible elsewhere. This broke in 3ede866c37ff52db906dc307500ca5305de0a61a.
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); (this->*s_dyna_op_table[op.inst.OPCD])(op.inst);
GekkoOPInfo* info = op.opinfo; PPCTables::CountInstructionCompile(op.opinfo, js.compilerPC);
if (info)
{
#ifdef OPLOG
if (!strcmp(info->opname, OP_TO_LOG)) // "mcrfs"
{
rsplocations.push_back(js.compilerPC);
}
#endif
info->compileCount++;
info->lastUse = js.compilerPC;
}
} }

View File

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

View File

@ -110,8 +110,8 @@ bool UsesFPU(UGeckoInstruction inst)
return (info->flags & FL_USE_FPU) != 0; return (info->flags & FL_USE_FPU) != 0;
} }
#define OPLOG // #define OPLOG
#define OP_TO_LOG "mtfsb0x" // #define OP_TO_LOG "mtfsb0x"
#ifdef OPLOG #ifdef OPLOG
namespace 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() void PrintInstructionRunCounts()
{ {
typedef std::pair<const char*, u64> OpInfo; typedef std::pair<const char*, u64> OpInfo;

View File

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