diff --git a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp index a424166574..4d5aed0413 100644 --- a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp @@ -604,7 +604,7 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer* code_buf, JitB js.firstFPInstructionFound = true; } - JitArm64Tables::CompileInstruction(ops[i]); + JitArm64Tables::CompileInstruction(*this, ops[i]); if (!MergeAllowedNextInstructions(1) || js.op[1].opinfo->type != OPTYPE_INTEGER) FlushCarry(); diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.cpp index bc742f62b5..85c0072fbd 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.cpp @@ -2,9 +2,13 @@ // Licensed under GPLv2+ // Refer to the license.txt file included. -#include "Core/PowerPC/JitArm64/Jit.h" #include "Core/PowerPC/JitArm64/JitArm64_Tables.h" + +#include "Core/PowerPC/Gekko.h" +#include "Core/PowerPC/JitArm64/Jit.h" #include "Core/PowerPC/JitInterface.h" +#include "Core/PowerPC/PPCAnalyst.h" +#include "Core/PowerPC/PPCTables.h" // Should be moved in to the Jit class typedef void (JitArm64::*_Instruction)(UGeckoInstruction instCode); @@ -365,21 +369,20 @@ static GekkoOPTemplate table63_2[] = { namespace JitArm64Tables { -void CompileInstruction(PPCAnalyst::CodeOp& op) +void CompileInstruction(JitArm64& jit, PPCAnalyst::CodeOp& op) { - JitArm64* jitarm = (JitArm64*)g_jit; - (jitarm->*dynaOpTable[op.inst.OPCD])(op.inst); + (jit.*dynaOpTable[op.inst.OPCD])(op.inst); GekkoOPInfo* info = op.opinfo; if (info) { #ifdef OPLOG if (!strcmp(info->opname, OP_TO_LOG)) { ///"mcrfs" - rsplocations.push_back(g_jit.js.compilerPC); + rsplocations.push_back(jit.js.compilerPC); } #endif info->compileCount++; - info->lastUse = g_jit->js.compilerPC; + info->lastUse = jit.js.compilerPC; } } diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.h b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.h index c92f789a38..e351c01feb 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.h +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.h @@ -4,11 +4,15 @@ #pragma once -#include "Core/PowerPC/Gekko.h" -#include "Core/PowerPC/PPCTables.h" +class JitArm64; + +namespace PPCAnalyst +{ +struct CodeOp; +} namespace JitArm64Tables { -void CompileInstruction(PPCAnalyst::CodeOp& op); +void CompileInstruction(JitArm64& jit, PPCAnalyst::CodeOp& op); void InitTables(); }