[AArch64] Only flush registers that are needed with interpreter fallback.
We try to keep as many registers as possible in callee saved registers, so if we have guest registers in the correct registers and the interpreter call we are falling back to doesn't need the registers then we can dump just those ones. Which means we don't have to dump 100% of our register state when falling to the interpreter.
This commit is contained in:
parent
71b77f3173
commit
71e4e67ae1
|
@ -49,8 +49,8 @@ void JitArm64::unknown_instruction(UGeckoInstruction inst)
|
|||
|
||||
void JitArm64::FallBackToInterpreter(UGeckoInstruction inst)
|
||||
{
|
||||
gpr.Flush(FlushMode::FLUSH_ALL);
|
||||
fpr.Flush(FlushMode::FLUSH_ALL);
|
||||
gpr.Flush(FlushMode::FLUSH_INTERPRETER, js.op);
|
||||
fpr.Flush(FlushMode::FLUSH_INTERPRETER, js.op);
|
||||
Interpreter::_interpreterInstruction instr = GetInterpreterOp(inst);
|
||||
MOVI2R(W0, inst.hex);
|
||||
MOVI2R(X30, (u64)instr);
|
||||
|
|
Loading…
Reference in New Issue