Merge pull request #10451 from JosJuice/skip-redundant-flushes
Jit: Skip redundant flushes
This commit is contained in:
commit
905e86d754
|
@ -1184,8 +1184,8 @@ bool Jit64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
|
||||||
gpr.Discard(op.gprDiscardable);
|
gpr.Discard(op.gprDiscardable);
|
||||||
fpr.Discard(op.fprDiscardable);
|
fpr.Discard(op.fprDiscardable);
|
||||||
}
|
}
|
||||||
gpr.Flush(~op.gprInUse);
|
gpr.Flush(~op.gprInUse & (op.regsIn | op.regsOut));
|
||||||
fpr.Flush(~op.fprInUse);
|
fpr.Flush(~op.fprInUse & (op.fregsIn | op.GetFregsOut()));
|
||||||
|
|
||||||
if (opinfo->flags & FL_LOADSTORE)
|
if (opinfo->flags & FL_LOADSTORE)
|
||||||
++js.numLoadStoreInst;
|
++js.numLoadStoreInst;
|
||||||
|
|
|
@ -971,8 +971,8 @@ bool JitArm64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
|
||||||
gpr.DiscardRegisters(op.gprDiscardable);
|
gpr.DiscardRegisters(op.gprDiscardable);
|
||||||
fpr.DiscardRegisters(op.fprDiscardable);
|
fpr.DiscardRegisters(op.fprDiscardable);
|
||||||
}
|
}
|
||||||
gpr.StoreRegisters(~op.gprInUse);
|
gpr.StoreRegisters(~op.gprInUse & (op.regsIn | op.regsOut));
|
||||||
fpr.StoreRegisters(~op.fprInUse);
|
fpr.StoreRegisters(~op.fprInUse & (op.fregsIn | op.GetFregsOut()));
|
||||||
|
|
||||||
if (opinfo->flags & FL_LOADSTORE)
|
if (opinfo->flags & FL_LOADSTORE)
|
||||||
++js.numLoadStoreInst;
|
++js.numLoadStoreInst;
|
||||||
|
|
Loading…
Reference in New Issue