[arm64] Push the full q register before lazy compile
If a lazy compilation happens in between 2 Wasm calls, we need to save the full Q register, since we can have live v128 values. Bug: chromium:1161555 Change-Id: I7393d6fbf5133f635a8fd62cd394323d7018f090 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2645694 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72298}
This commit is contained in:
parent
3097bf785d
commit
3b302d5cfe
@ -2697,7 +2697,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
|
||||
constexpr RegList fp_regs =
|
||||
Register::ListOf(d0, d1, d2, d3, d4, d5, d6, d7);
|
||||
__ PushXRegList(gp_regs);
|
||||
__ PushDRegList(fp_regs);
|
||||
__ PushQRegList(fp_regs);
|
||||
|
||||
// Pass instance and function index as explicit arguments to the runtime
|
||||
// function.
|
||||
@ -2714,7 +2714,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
|
||||
__ Mov(x17, kReturnRegister0);
|
||||
|
||||
// Restore registers.
|
||||
__ PopDRegList(fp_regs);
|
||||
__ PopQRegList(fp_regs);
|
||||
__ PopXRegList(gp_regs);
|
||||
}
|
||||
// Finally, jump to the entrypoint.
|
||||
|
Loading…
Reference in New Issue
Block a user