Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index 00ea079afe1ceedfb5cded0956c6d274c97536ca..875626766c39246e4f5998bf1ddca79e7e2fd9c7 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -847,6 +847,7 @@ static void GenerateFastApiDirectCall(MacroAssembler* masm, |
Handle<JSFunction> function = optimization.constant_function(); |
__ Move(r5, function); |
__ ldr(cp, FieldMemOperand(r5, JSFunction::kContextOffset)); |
+ __ LoadConstantPoolPointer(r5); |
__ str(r5, MemOperand(sp, FCA::kCalleeIndex * kPointerSize)); |
// Construct the FunctionCallbackInfo. |
@@ -2762,6 +2763,7 @@ Handle<Code> CallStubCompiler::CompileCallGlobal( |
// Set up the context (function already in r1). |
__ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); |
+ __ LoadConstantPoolPointer(r1); |
// Jump to the cached code (tail call). |
Counters* counters = isolate()->counters(); |
@@ -2868,6 +2870,7 @@ void StoreStubCompiler::GenerateStoreViaSetter( |
// Restore context register. |
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
+ __ RestoreConstantPoolPointer(); |
} |
__ Ret(); |
} |
@@ -3001,8 +3004,9 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm, |
masm->isolate()->heap()->SetGetterStubDeoptPCOffset(masm->pc_offset()); |
} |
- // Restore context register. |
+ // Restore context and pointer pool register. |
__ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
+ __ RestoreConstantPoolPointer(); |
} |
__ Ret(); |
} |