mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-02 08:54:15 +00:00
JitArm64_Tables: Eliminate usages of the JIT global
This commit is contained in:
parent
b0605c24d3
commit
b4e00115c5
@ -604,7 +604,7 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer* code_buf, JitB
|
|||||||
js.firstFPInstructionFound = true;
|
js.firstFPInstructionFound = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
JitArm64Tables::CompileInstruction(ops[i]);
|
JitArm64Tables::CompileInstruction(*this, ops[i]);
|
||||||
if (!MergeAllowedNextInstructions(1) || js.op[1].opinfo->type != OPTYPE_INTEGER)
|
if (!MergeAllowedNextInstructions(1) || js.op[1].opinfo->type != OPTYPE_INTEGER)
|
||||||
FlushCarry();
|
FlushCarry();
|
||||||
|
|
||||||
|
@ -2,9 +2,13 @@
|
|||||||
// Licensed under GPLv2+
|
// Licensed under GPLv2+
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "Core/PowerPC/JitArm64/Jit.h"
|
|
||||||
#include "Core/PowerPC/JitArm64/JitArm64_Tables.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/JitInterface.h"
|
||||||
|
#include "Core/PowerPC/PPCAnalyst.h"
|
||||||
|
#include "Core/PowerPC/PPCTables.h"
|
||||||
|
|
||||||
// Should be moved in to the Jit class
|
// Should be moved in to the Jit class
|
||||||
typedef void (JitArm64::*_Instruction)(UGeckoInstruction instCode);
|
typedef void (JitArm64::*_Instruction)(UGeckoInstruction instCode);
|
||||||
@ -365,21 +369,20 @@ static GekkoOPTemplate table63_2[] = {
|
|||||||
|
|
||||||
namespace JitArm64Tables
|
namespace JitArm64Tables
|
||||||
{
|
{
|
||||||
void CompileInstruction(PPCAnalyst::CodeOp& op)
|
void CompileInstruction(JitArm64& jit, PPCAnalyst::CodeOp& op)
|
||||||
{
|
{
|
||||||
JitArm64* jitarm = (JitArm64*)g_jit;
|
(jit.*dynaOpTable[op.inst.OPCD])(op.inst);
|
||||||
(jitarm->*dynaOpTable[op.inst.OPCD])(op.inst);
|
|
||||||
GekkoOPInfo* info = op.opinfo;
|
GekkoOPInfo* info = op.opinfo;
|
||||||
if (info)
|
if (info)
|
||||||
{
|
{
|
||||||
#ifdef OPLOG
|
#ifdef OPLOG
|
||||||
if (!strcmp(info->opname, OP_TO_LOG))
|
if (!strcmp(info->opname, OP_TO_LOG))
|
||||||
{ ///"mcrfs"
|
{ ///"mcrfs"
|
||||||
rsplocations.push_back(g_jit.js.compilerPC);
|
rsplocations.push_back(jit.js.compilerPC);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
info->compileCount++;
|
info->compileCount++;
|
||||||
info->lastUse = g_jit->js.compilerPC;
|
info->lastUse = jit.js.compilerPC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,11 +4,15 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Core/PowerPC/Gekko.h"
|
class JitArm64;
|
||||||
#include "Core/PowerPC/PPCTables.h"
|
|
||||||
|
namespace PPCAnalyst
|
||||||
|
{
|
||||||
|
struct CodeOp;
|
||||||
|
}
|
||||||
|
|
||||||
namespace JitArm64Tables
|
namespace JitArm64Tables
|
||||||
{
|
{
|
||||||
void CompileInstruction(PPCAnalyst::CodeOp& op);
|
void CompileInstruction(JitArm64& jit, PPCAnalyst::CodeOp& op);
|
||||||
void InitTables();
|
void InitTables();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user