diff --git a/Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp b/Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp index 50823cf4d778..f441a5b2b02b 100644 --- a/Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp +++ b/Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp @@ -241,7 +241,7 @@ void CachedInterpreter::Jit(u32 address) if (endblock || memcheck) m_code.emplace_back(WritePC, ops[i].address); - m_code.emplace_back(GetInterpreterOp(ops[i].inst), ops[i].inst); + m_code.emplace_back(PPCTables::GetInterpreterOp(ops[i].inst), ops[i].inst); if (memcheck) m_code.emplace_back(CheckDSI, js.downcountAmount); if (endblock) diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp b/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp index 8fc81516fb65..a30c35247a85 100644 --- a/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp +++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp @@ -193,7 +193,7 @@ int Interpreter::SingleStepInner() last_pc = PC; PC = NPC; - GekkoOPInfo* opinfo = GetOpInfo(instCode); + const GekkoOPInfo* opinfo = PPCTables::GetOpInfo(instCode); return opinfo->numCycles; } diff --git a/Source/Core/Core/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/PowerPC/Jit64/Jit.cpp index 14c5d9ca750d..4c4ae55c42d9 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit.cpp @@ -287,7 +287,7 @@ void Jit64::FallBackToInterpreter(UGeckoInstruction inst) MOV(32, PPCSTATE(pc), Imm32(js.compilerPC)); MOV(32, PPCSTATE(npc), Imm32(js.compilerPC + 4)); } - Interpreter::Instruction instr = GetInterpreterOp(inst); + Interpreter::Instruction instr = PPCTables::GetInterpreterOp(inst); ABI_PushRegistersAndAdjustStack({}, 0); ABI_CallFunctionC(instr, inst.hex); ABI_PopRegistersAndAdjustStack({}, 0); diff --git a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp index d0eb2ebe2bb7..3d6c8c1cf906 100644 --- a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp @@ -149,7 +149,7 @@ void JitArm64::FallBackToInterpreter(UGeckoInstruction inst) gpr.Unlock(WA); } - Interpreter::Instruction instr = GetInterpreterOp(inst); + Interpreter::Instruction instr = PPCTables::GetInterpreterOp(inst); MOVI2R(W0, inst.hex); MOVP2R(X30, instr); BLR(X30); diff --git a/Source/Core/Core/PowerPC/JitInterface.cpp b/Source/Core/Core/PowerPC/JitInterface.cpp index d4ec1978a89d..35691d2e16f1 100644 --- a/Source/Core/Core/PowerPC/JitInterface.cpp +++ b/Source/Core/Core/PowerPC/JitInterface.cpp @@ -239,8 +239,8 @@ void CompileExceptionCheck(ExceptionType type) if (type == ExceptionType::FIFOWrite) { // Check in case the code has been replaced since: do we need to do this? - const ::OpType optype = GetOpInfo(PowerPC::HostRead_U32(PC))->type; - if (optype != ::OpType::Store && optype != ::OpType::StoreFP && optype != ::OpType::StorePS) + const OpType optype = PPCTables::GetOpInfo(PowerPC::HostRead_U32(PC))->type; + if (optype != OpType::Store && optype != OpType::StoreFP && optype != OpType::StorePS) return; } exception_addresses->insert(PC); diff --git a/Source/Core/Core/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/PowerPC/PPCAnalyst.cpp index 8c3423218ba4..0b74afb49946 100644 --- a/Source/Core/Core/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/PowerPC/PPCAnalyst.cpp @@ -726,7 +726,7 @@ u32 PPCAnalyzer::Analyze(u32 address, CodeBlock* block, CodeBuffer* buffer, u32 num_inst++; memset(&code[i], 0, sizeof(CodeOp)); - GekkoOPInfo* opinfo = GetOpInfo(inst); + GekkoOPInfo* opinfo = PPCTables::GetOpInfo(inst); code[i].opinfo = opinfo; code[i].address = address; diff --git a/Source/Core/Core/PowerPC/PPCTables.cpp b/Source/Core/Core/PowerPC/PPCTables.cpp index cdd8fb83f1c5..a431d025d519 100644 --- a/Source/Core/Core/PowerPC/PPCTables.cpp +++ b/Source/Core/Core/PowerPC/PPCTables.cpp @@ -41,25 +41,27 @@ const std::array m_crTable = {{ }}; } // namespace PowerPC -GekkoOPInfo* GetOpInfo(UGeckoInstruction _inst) +namespace PPCTables +{ +GekkoOPInfo* GetOpInfo(UGeckoInstruction inst) { - GekkoOPInfo* info = m_infoTable[_inst.OPCD]; + const GekkoOPInfo* info = m_infoTable[inst.OPCD]; if (info->type == OpType::Subtable) { - switch (_inst.OPCD) + switch (inst.OPCD) { case 4: - return m_infoTable4[_inst.SUBOP10]; + return m_infoTable4[inst.SUBOP10]; case 19: - return m_infoTable19[_inst.SUBOP10]; + return m_infoTable19[inst.SUBOP10]; case 31: - return m_infoTable31[_inst.SUBOP10]; + return m_infoTable31[inst.SUBOP10]; case 59: - return m_infoTable59[_inst.SUBOP5]; + return m_infoTable59[inst.SUBOP5]; case 63: - return m_infoTable63[_inst.SUBOP10]; + return m_infoTable63[inst.SUBOP10]; default: - ASSERT_MSG(POWERPC, 0, "GetOpInfo - invalid subtable op %08x @ %08x", _inst.hex, PC); + ASSERT_MSG(POWERPC, 0, "GetOpInfo - invalid subtable op %08x @ %08x", inst.hex, PC); return nullptr; } } @@ -67,32 +69,32 @@ GekkoOPInfo* GetOpInfo(UGeckoInstruction _inst) { if (info->type == OpType::Invalid) { - ASSERT_MSG(POWERPC, 0, "GetOpInfo - invalid op %08x @ %08x", _inst.hex, PC); + ASSERT_MSG(POWERPC, 0, "GetOpInfo - invalid op %08x @ %08x", inst.hex, PC); return nullptr; } - return m_infoTable[_inst.OPCD]; + return m_infoTable[inst.OPCD]; } } -Interpreter::Instruction GetInterpreterOp(UGeckoInstruction _inst) +Interpreter::Instruction GetInterpreterOp(UGeckoInstruction inst) { - const GekkoOPInfo* info = m_infoTable[_inst.OPCD]; + const GekkoOPInfo* info = m_infoTable[inst.OPCD]; if (info->type == OpType::Subtable) { - switch (_inst.OPCD) + switch (inst.OPCD) { case 4: - return Interpreter::m_op_table4[_inst.SUBOP10]; + return Interpreter::m_op_table4[inst.SUBOP10]; case 19: - return Interpreter::m_op_table19[_inst.SUBOP10]; + return Interpreter::m_op_table19[inst.SUBOP10]; case 31: - return Interpreter::m_op_table31[_inst.SUBOP10]; + return Interpreter::m_op_table31[inst.SUBOP10]; case 59: - return Interpreter::m_op_table59[_inst.SUBOP5]; + return Interpreter::m_op_table59[inst.SUBOP5]; case 63: - return Interpreter::m_op_table63[_inst.SUBOP10]; + return Interpreter::m_op_table63[inst.SUBOP10]; default: - ASSERT_MSG(POWERPC, 0, "GetInterpreterOp - invalid subtable op %08x @ %08x", _inst.hex, PC); + ASSERT_MSG(POWERPC, 0, "GetInterpreterOp - invalid subtable op %08x @ %08x", inst.hex, PC); return nullptr; } } @@ -100,14 +102,13 @@ Interpreter::Instruction GetInterpreterOp(UGeckoInstruction _inst) { if (info->type == OpType::Invalid) { - ASSERT_MSG(POWERPC, 0, "GetInterpreterOp - invalid op %08x @ %08x", _inst.hex, PC); + ASSERT_MSG(POWERPC, 0, "GetInterpreterOp - invalid op %08x @ %08x", inst.hex, PC); return nullptr; } - return Interpreter::m_op_table[_inst.OPCD]; + return Interpreter::m_op_table[inst.OPCD]; } } -namespace PPCTables -{ + bool UsesFPU(UGeckoInstruction inst) { GekkoOPInfo* const info = GetOpInfo(inst); @@ -125,21 +126,21 @@ std::vector rsplocations; } #endif -const char* GetInstructionName(UGeckoInstruction _inst) +const char* GetInstructionName(UGeckoInstruction inst) { - const GekkoOPInfo* info = GetOpInfo(_inst); + const GekkoOPInfo* info = GetOpInfo(inst); return info ? info->opname : nullptr; } -bool IsValidInstruction(UGeckoInstruction _inst) +bool IsValidInstruction(UGeckoInstruction inst) { - const GekkoOPInfo* info = GetOpInfo(_inst); + const GekkoOPInfo* info = GetOpInfo(inst); return info != nullptr && info->type != OpType::Unknown; } -void CountInstruction(UGeckoInstruction _inst) +void CountInstruction(UGeckoInstruction inst) { - GekkoOPInfo* info = GetOpInfo(_inst); + GekkoOPInfo* info = GetOpInfo(inst); if (info) { info->runCount++; diff --git a/Source/Core/Core/PowerPC/PPCTables.h b/Source/Core/Core/PowerPC/PPCTables.h index 9ab0bd9bfba3..f3aa89e290de 100644 --- a/Source/Core/Core/PowerPC/PPCTables.h +++ b/Source/Core/Core/PowerPC/PPCTables.h @@ -105,16 +105,16 @@ extern std::array m_infoTable63; extern std::array m_allInstructions; extern size_t m_numInstructions; -GekkoOPInfo* GetOpInfo(UGeckoInstruction _inst); -Interpreter::Instruction GetInterpreterOp(UGeckoInstruction _inst); - namespace PPCTables { -bool IsValidInstruction(UGeckoInstruction _instCode); -bool UsesFPU(UGeckoInstruction _inst); +GekkoOPInfo* GetOpInfo(UGeckoInstruction inst); +Interpreter::Instruction GetInterpreterOp(UGeckoInstruction inst); + +bool IsValidInstruction(UGeckoInstruction inst); +bool UsesFPU(UGeckoInstruction inst); -void CountInstruction(UGeckoInstruction _inst); +void CountInstruction(UGeckoInstruction inst); void PrintInstructionRunCounts(); void LogCompiledInstructions(); -const char* GetInstructionName(UGeckoInstruction _inst); +const char* GetInstructionName(UGeckoInstruction inst); } // namespace PPCTables