From f2751effa4c27f76a139be77d292e75ecb0562ac Mon Sep 17 00:00:00 2001 From: "sgjesse@chromium.org" Date: Wed, 5 May 2010 09:11:21 +0000 Subject: [PATCH] Prefer r0 as TOS when performing virtual frame dup on ARM Review URL: http://codereview.chromium.org/1956004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/virtual-frame-arm.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/arm/virtual-frame-arm.cc b/src/arm/virtual-frame-arm.cc index bf5cff2..e432c59 100644 --- a/src/arm/virtual-frame-arm.cc +++ b/src/arm/virtual-frame-arm.cc @@ -505,21 +505,25 @@ void VirtualFrame::Dup() { break; case R0_TOS: __ mov(r1, r0); + // r0 and r1 contains the same value. Prefer a state with r0 holding TOS. top_of_stack_state_ = R0_R1_TOS; break; case R1_TOS: __ mov(r0, r1); + // r0 and r1 contains the same value. Prefer a state with r0 holding TOS. top_of_stack_state_ = R0_R1_TOS; break; case R0_R1_TOS: __ push(r1); __ mov(r1, r0); - // No need to change state as r0 and r1 now contains the same value. + // r0 and r1 contains the same value. Prefer a state with r0 holding TOS. + top_of_stack_state_ = R0_R1_TOS; break; case R1_R0_TOS: __ push(r0); __ mov(r0, r1); - // No need to change state as r0 and r1 now contains the same value. + // r0 and r1 contains the same value. Prefer a state with r0 holding TOS. + top_of_stack_state_ = R0_R1_TOS; break; default: UNREACHABLE(); -- 2.7.4