PPC: Fix InterpreterEntryTrampoline().
authormbrandy <mbrandy@us.ibm.com>
Wed, 26 Aug 2015 21:33:10 +0000 (14:33 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 26 Aug 2015 21:33:25 +0000 (21:33 +0000)
R=jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30397}

src/ppc/builtins-ppc.cc

index 2eb4c08..f500604 100644 (file)
@@ -899,9 +899,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
 
   // Allocate the local and temporary register file on the stack.
   {
-    // Load frame size from the BytecodeArray object.
-    __ LoadP(r5, FieldMemOperand(kInterpreterBytecodeArrayRegister,
-                                 BytecodeArray::kFrameSizeOffset));
+    // Load frame size (word) from the BytecodeArray object.
+    __ lwz(r5, FieldMemOperand(kInterpreterBytecodeArrayRegister,
+                               BytecodeArray::kFrameSizeOffset));
 
     // Do a stack check to ensure we don't go over the limit.
     Label ok;
@@ -919,6 +919,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
     Label loop_header;
     __ LoadRoot(r6, Heap::kUndefinedValueRootIndex);
     __ ShiftRightImm(r5, r5, Operand(kPointerSizeLog2));
+    __ mtctr(r5);
     __ bind(&loop_header);
     __ push(r6);
     __ bdnz(&loop_header);