diff --git a/Source/Core/Core/PowerPC/Jit64/Jit.h b/Source/Core/Core/PowerPC/Jit64/Jit.h index 06f8a6e524..a4449ae256 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit.h +++ b/Source/Core/Core/PowerPC/Jit64/Jit.h @@ -151,6 +151,7 @@ public: void UpdateRoundingMode(); // OPCODES + using Instruction = void (Jit64::*)(UGeckoInstruction instCode); void FallBackToInterpreter(UGeckoInstruction _inst); void DoNothing(UGeckoInstruction _inst); void HLEFunction(UGeckoInstruction _inst); diff --git a/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp b/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp index 4f2046f5c8..0ffd09d09b 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp @@ -5,15 +5,12 @@ #include "Core/PowerPC/Jit64/Jit.h" #include "Core/PowerPC/Jit64/Jit64_Tables.h" -// Should be moved in to the Jit class -typedef void (Jit64::*_Instruction) (UGeckoInstruction instCode); - -static _Instruction dynaOpTable[64]; -static _Instruction dynaOpTable4[1024]; -static _Instruction dynaOpTable19[1024]; -static _Instruction dynaOpTable31[1024]; -static _Instruction dynaOpTable59[32]; -static _Instruction dynaOpTable63[1024]; +static Jit64::Instruction dynaOpTable[64]; +static Jit64::Instruction dynaOpTable4[1024]; +static Jit64::Instruction dynaOpTable19[1024]; +static Jit64::Instruction dynaOpTable31[1024]; +static Jit64::Instruction dynaOpTable59[32]; +static Jit64::Instruction dynaOpTable63[1024]; void Jit64::DynaRunTable4(UGeckoInstruction _inst) {(this->*dynaOpTable4 [_inst.SUBOP10])(_inst);} void Jit64::DynaRunTable19(UGeckoInstruction _inst) {(this->*dynaOpTable19[_inst.SUBOP10])(_inst);} void Jit64::DynaRunTable31(UGeckoInstruction _inst) {(this->*dynaOpTable31[_inst.SUBOP10])(_inst);} @@ -23,8 +20,7 @@ void Jit64::DynaRunTable63(UGeckoInstruction _inst) {(this->*dynaOpTable63[_inst struct GekkoOPTemplate { int opcode; - _Instruction Inst; - //GekkoOPInfo opinfo; // Doesn't need opinfo, Interpreter fills it out + Jit64::Instruction Inst; }; static GekkoOPTemplate primarytable[] = diff --git a/Source/Core/Core/PowerPC/Jit64IL/JitIL.h b/Source/Core/Core/PowerPC/Jit64IL/JitIL.h index 3efb1f3905..e9c59fe3e4 100644 --- a/Source/Core/Core/PowerPC/Jit64IL/JitIL.h +++ b/Source/Core/Core/PowerPC/Jit64IL/JitIL.h @@ -87,6 +87,7 @@ public: void WriteCode(u32 exitAddress); // OPCODES + using Instruction = void (JitIL::*)(UGeckoInstruction instCode); void FallBackToInterpreter(UGeckoInstruction _inst) override; void DoNothing(UGeckoInstruction _inst) override; void HLEFunction(UGeckoInstruction _inst) override; @@ -96,5 +97,4 @@ public: void DynaRunTable31(UGeckoInstruction _inst) override; void DynaRunTable59(UGeckoInstruction _inst) override; void DynaRunTable63(UGeckoInstruction _inst) override; - }; diff --git a/Source/Core/Core/PowerPC/Jit64IL/JitIL_Tables.cpp b/Source/Core/Core/PowerPC/Jit64IL/JitIL_Tables.cpp index 8333f3f9dc..8a3a1446e7 100644 --- a/Source/Core/Core/PowerPC/Jit64IL/JitIL_Tables.cpp +++ b/Source/Core/Core/PowerPC/Jit64IL/JitIL_Tables.cpp @@ -4,15 +4,12 @@ #include "Core/PowerPC/Jit64IL/JitIL_Tables.h" -// Should be moved in to the Jit class -typedef void (JitIL::*_Instruction) (UGeckoInstruction instCode); - -static _Instruction dynaOpTable[64]; -static _Instruction dynaOpTable4[1024]; -static _Instruction dynaOpTable19[1024]; -static _Instruction dynaOpTable31[1024]; -static _Instruction dynaOpTable59[32]; -static _Instruction dynaOpTable63[1024]; +static JitIL::Instruction dynaOpTable[64]; +static JitIL::Instruction dynaOpTable4[1024]; +static JitIL::Instruction dynaOpTable19[1024]; +static JitIL::Instruction dynaOpTable31[1024]; +static JitIL::Instruction dynaOpTable59[32]; +static JitIL::Instruction dynaOpTable63[1024]; void JitIL::DynaRunTable4(UGeckoInstruction _inst) {(this->*dynaOpTable4 [_inst.SUBOP10])(_inst);} void JitIL::DynaRunTable19(UGeckoInstruction _inst) {(this->*dynaOpTable19[_inst.SUBOP10])(_inst);} @@ -20,13 +17,10 @@ void JitIL::DynaRunTable31(UGeckoInstruction _inst) {(this->*dynaOpTable31[_inst void JitIL::DynaRunTable59(UGeckoInstruction _inst) {(this->*dynaOpTable59[_inst.SUBOP5 ])(_inst);} void JitIL::DynaRunTable63(UGeckoInstruction _inst) {(this->*dynaOpTable63[_inst.SUBOP10])(_inst);} - - struct GekkoOPTemplate { int opcode; - _Instruction Inst; - //GekkoOPInfo opinfo; // Doesn't need opinfo, Interpreter fills it out + JitIL::Instruction Inst; }; static GekkoOPTemplate primarytable[] =