X64: fix arguments adaptor stack check after r20751.
authorulan@chromium.org <ulan@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 17 Apr 2014 11:30:25 +0000 (11:30 +0000)
committerulan@chromium.org <ulan@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 17 Apr 2014 11:30:25 +0000 (11:30 +0000)
BUG=
R=haitao.feng@intel.com

Review URL: https://codereview.chromium.org/239703012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/x64/builtins-x64.cc

index 5803ad772318c98f1cfe3b5f15317e5312c4565c..19e7b533c9d425ed5062526818ae7f86e679db8d 100644 (file)
@@ -1340,7 +1340,8 @@ static void ArgumentsAdaptorStackCheck(MacroAssembler* masm,
   __ subp(rcx, rdx);
   // Make rdx the space we need for the array when it is unrolled onto the
   // stack.
-  __ PositiveSmiTimesPowerOfTwoToInteger64(rdx, rax, kPointerSizeLog2);
+  __ movp(rdx, rbx);
+  __ shlp(rdx, Immediate(kPointerSizeLog2));
   // Check if the arguments will overflow the stack.
   __ cmpp(rcx, rdx);
   __ j(less_equal, stack_overflow);  // Signed comparison.