From 940dc679bb0b2b2a2ca9e38717dd6f477aafa4c4 Mon Sep 17 00:00:00 2001 From: "ulan@chromium.org" Date: Fri, 14 Mar 2014 18:11:27 +0000 Subject: [PATCH] A64: fix restoring of registers in deopt_every_n_times. BUG=352656 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/200563002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/a64/lithium-codegen-a64.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc index 6e48ce490..0bb420cf5 100644 --- a/src/a64/lithium-codegen-a64.cc +++ b/src/a64/lithium-codegen-a64.cc @@ -1010,7 +1010,7 @@ void LCodeGen::DeoptimizeBranch( __ B(gt, ¬_zero); __ Mov(w1, FLAG_deopt_every_n_times); __ Str(w1, MemOperand(x0)); - __ Pop(x0, x1, x2); + __ Pop(x2, x1, x0); ASSERT(frame_is_built_); __ Call(entry, RelocInfo::RUNTIME_ENTRY); __ Unreachable(); @@ -1018,7 +1018,7 @@ void LCodeGen::DeoptimizeBranch( __ Bind(¬_zero); __ Str(w1, MemOperand(x0)); __ Msr(NZCV, x2); - __ Pop(x0, x1, x2); + __ Pop(x2, x1, x0); } if (info()->ShouldTrapOnDeopt()) { -- 2.34.1