Chromium Code Reviews| Index: src/arm64/builtins-arm64.cc |
| diff --git a/src/arm64/builtins-arm64.cc b/src/arm64/builtins-arm64.cc |
| index 1f2c2343e8f35cbcd6e467a01ef49a9283cce49c..7383189617c57eb3b203fa0f707a81653769af94 100644 |
| --- a/src/arm64/builtins-arm64.cc |
| +++ b/src/arm64/builtins-arm64.cc |
| @@ -804,6 +804,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) { |
| // |
| // The live registers are: |
| // - x1: the JS function object being called. |
| +// - x3: the new target |
| // - cp: our context. |
| // - fp: our caller's frame pointer. |
| // - jssp: stack pointer. |
| @@ -820,6 +821,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
| FrameScope frame_scope(masm, StackFrame::MANUAL); |
| __ Push(lr, fp, cp, x1); |
| __ Add(fp, jssp, StandardFrameConstants::kFixedFrameSizeFromFp); |
| + __ Push(x3); |
|
Michael Starzinger
2015/11/24 12:40:41
Not sure whether this is the best way to construct
|
| // Get the bytecode array from the function object and load the pointer to the |
| // first entry into kInterpreterBytecodeRegister. |
| @@ -885,7 +887,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, |