| Index: src/arm/builtins-arm.cc
|
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc
|
| index 745a99939befdadcad2a684a20b2413209cef722..9427cccde3ebfc3ac0ee8d2cd8aae6975a2523d2 100644
|
| --- a/src/arm/builtins-arm.cc
|
| +++ b/src/arm/builtins-arm.cc
|
| @@ -781,6 +781,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
| //
|
| // The live registers are:
|
| // o r1: the JS function object being called.
|
| +// o r3: the new target
|
| // o cp: our context
|
| // o pp: the caller's constant pool pointer (if enabled)
|
| // o fp: the caller's frame pointer
|
| @@ -798,6 +799,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| FrameScope frame_scope(masm, StackFrame::MANUAL);
|
| __ PushFixedFrame(r1);
|
| __ add(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ push(r3);
|
|
|
| // Get the bytecode array from the function object and load the pointer to the
|
| // first entry into kInterpreterBytecodeRegister.
|
| @@ -866,7 +868,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| // registers.
|
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex);
|
| __ sub(kInterpreterRegisterFileRegister, fp,
|
| - Operand(kPointerSize + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + Operand(2 * kPointerSize +
|
| + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| __ mov(kInterpreterBytecodeOffsetRegister,
|
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| __ LoadRoot(kInterpreterDispatchTableRegister,
|
|
|