Merge pull request #11338 from JosJuice/jitarm64-revert-supposed-tail

Revert "JitArm64: Optimize a few tail calls"
This commit is contained in:
Mai 2022-12-10 19:11:23 +00:00 committed by GitHub
commit 48ce5318e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 7 deletions

View File

@ -350,9 +350,8 @@ void JitArm64::IntializeSpeculativeConstants()
STR(IndexType::Unsigned, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(pc));
MOVP2R(ARM64Reg::X8, &JitInterface::CompileExceptionCheck);
MOVI2R(ARM64Reg::W0, static_cast<u32>(JitInterface::ExceptionType::SpeculativeConstants));
// Write dispatcher_no_check to LR for tail call
MOVP2R(ARM64Reg::X30, dispatcher_no_check);
BR(ARM64Reg::X8);
BLR(ARM64Reg::X8);
B(dispatcher_no_check);
SwitchToNearCode();
}
@ -844,11 +843,10 @@ bool JitArm64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
SetJumpTarget(fail);
MOVI2R(DISPATCHER_PC, js.blockStart);
STR(IndexType::Unsigned, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(pc));
MOVP2R(ARM64Reg::X8, &JitInterface::CompileExceptionCheck);
MOVI2R(ARM64Reg::W0, static_cast<u32>(JitInterface::ExceptionType::PairedQuantize));
// Write dispatcher_no_check to LR for tail call
MOVP2R(ARM64Reg::X30, dispatcher_no_check);
BR(ARM64Reg::X8);
MOVP2R(ARM64Reg::X1, &JitInterface::CompileExceptionCheck);
BLR(ARM64Reg::X1);
B(dispatcher_no_check);
SwitchToNearCode();
SetJumpTarget(no_fail);
js.assumeNoPairedQuantize = true;