Revision: 23134
Author:   [email protected]
Date:     Fri Aug 15 14:35:00 2014 UTC
Log:      [turbofan]: Fix TurboFan for out-of-line constant pool on Arm.

Use LeaveFrame so that the constant pool pointer register is correctly restored
when using the out-of-line constant pool.  Also clean up duplicate code in
builtins-arm.cc.

[email protected]

Review URL: https://codereview.chromium.org/469283002
http://code.google.com/p/v8/source/detail?r=23134

Modified:
 /branches/bleeding_edge/src/arm/builtins-arm.cc
 /branches/bleeding_edge/src/compiler/arm/code-generator-arm.cc

=======================================
--- /branches/bleeding_edge/src/arm/builtins-arm.cc Mon Aug 4 11:34:54 2014 UTC +++ /branches/bleeding_edge/src/arm/builtins-arm.cc Fri Aug 15 14:35:00 2014 UTC
@@ -1422,13 +1422,7 @@
__ ldr(r1, MemOperand(fp, -(StandardFrameConstants::kFixedFrameSizeFromFp +
                               kPointerSize)));

-  if (FLAG_enable_ool_constant_pool) {
-    __ add(sp, fp, Operand(StandardFrameConstants::kConstantPoolOffset));
-    __ ldm(ia_w, sp, pp.bit() | fp.bit() | lr.bit());
-  } else {
-    __ mov(sp, fp);;
-    __ ldm(ia_w, sp, fp.bit() | lr.bit());
-  }
+  __ LeaveFrame(StackFrame::ARGUMENTS_ADAPTOR);
   __ add(sp, sp, Operand::PointerOffsetFromSmiKey(r1));
   __ add(sp, sp, Operand(kPointerSize));  // adjust for receiver
 }
=======================================
--- /branches/bleeding_edge/src/compiler/arm/code-generator-arm.cc Wed Aug 13 11:46:05 2014 UTC +++ /branches/bleeding_edge/src/compiler/arm/code-generator-arm.cc Fri Aug 15 14:35:00 2014 UTC
@@ -665,12 +665,10 @@
         __ ldm(ia_w, sp, saves);
       }
     }
-    __ mov(sp, fp);
-    __ ldm(ia_w, sp, fp.bit() | lr.bit());
+    __ LeaveFrame(StackFrame::MANUAL);
     __ Ret();
   } else {
-    __ mov(sp, fp);
-    __ ldm(ia_w, sp, fp.bit() | lr.bit());
+    __ LeaveFrame(StackFrame::MANUAL);
     int pop_count =
         descriptor->IsJSFunctionCall() ? descriptor->ParameterCount() : 0;
     __ Drop(pop_count);

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to