On ARM Hosts, increase the instruction run count to 64bit. 32bit is /very/ quickly overflown.
This commit is contained in:
parent
f4b414a9c1
commit
bab3032185
|
@ -457,13 +457,20 @@ const u8* JitArm::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBlo
|
|||
if (Core::g_CoreStartupParameter.bEnableDebugging)
|
||||
{
|
||||
// Add run count
|
||||
static const u64 One = 1;
|
||||
ARMReg RA = gpr.GetReg();
|
||||
ARMReg RB = gpr.GetReg();
|
||||
ARMReg VA = fpr.GetReg();
|
||||
ARMReg VB = fpr.GetReg();
|
||||
MOVI2R(RA, (u32)&opinfo->runCount);
|
||||
LDR(RB, RA);
|
||||
ADD(RB, RB, 1);
|
||||
STR(RB, RA);
|
||||
MOVI2R(RB, (u32)&One);
|
||||
VLDR(VA, RA, 0);
|
||||
VLDR(VB, RB, 0);
|
||||
VADD(I_I64, VA, VA, VB);
|
||||
VSTR(VA, RA, 0);
|
||||
gpr.Unlock(RA, RB);
|
||||
fpr.Unlock(VA);
|
||||
fpr.Unlock(VB);
|
||||
}
|
||||
if (!ops[i].skip)
|
||||
{
|
||||
|
|
|
@ -77,7 +77,11 @@ struct GekkoOPInfo
|
|||
int type;
|
||||
int flags;
|
||||
int numCyclesMinusOne;
|
||||
#ifdef _M_ARM
|
||||
u64 runCount;
|
||||
#else
|
||||
int runCount;
|
||||
#endif
|
||||
int compileCount;
|
||||
u32 lastUse;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue