Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index de66eb850a3b8d65e07738bdcc441e8319574630..b2905fb59d2803c6e208a272b3aec92ba4a0dc96 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -5419,7 +5419,11 @@ void CallApiCallbackStub::Generate(MacroAssembler* masm) { |
STATIC_ASSERT(FCA::kReturnValueDefaultValueIndex == 2); |
STATIC_ASSERT(FCA::kIsolateIndex == 1); |
STATIC_ASSERT(FCA::kHolderIndex == 0); |
- STATIC_ASSERT(FCA::kArgsLength == 7); |
+ STATIC_ASSERT(FCA::kNewTargetIndex == 7); |
+ STATIC_ASSERT(FCA::kArgsLength == 8); |
+ |
+ // new target |
+ __ PushRoot(Heap::kUndefinedValueRootIndex); |
// context save |
__ push(context); |
@@ -5453,7 +5457,7 @@ void CallApiCallbackStub::Generate(MacroAssembler* masm) { |
// Allocate the v8::Arguments structure in the arguments' space since |
// it's not controlled by GC. |
- const int kApiStackSpace = 4; |
+ const int kApiStackSpace = 3; |
FrameScope frame_scope(masm, StackFrame::MANUAL); |
__ EnterExitFrame(false, kApiStackSpace); |
@@ -5470,9 +5474,6 @@ void CallApiCallbackStub::Generate(MacroAssembler* masm) { |
// FunctionCallbackInfo::length_ = argc |
__ mov(ip, Operand(argc())); |
__ str(ip, MemOperand(r0, 2 * kPointerSize)); |
- // FunctionCallbackInfo::is_construct_call_ = 0 |
- __ mov(ip, Operand::Zero()); |
- __ str(ip, MemOperand(r0, 3 * kPointerSize)); |
ExternalReference thunk_ref = |
ExternalReference::invoke_function_callback(masm->isolate()); |
@@ -5489,8 +5490,8 @@ void CallApiCallbackStub::Generate(MacroAssembler* masm) { |
} |
MemOperand return_value_operand(fp, return_value_offset * kPointerSize); |
int stack_space = 0; |
- MemOperand is_construct_call_operand = MemOperand(sp, 4 * kPointerSize); |
- MemOperand* stack_space_operand = &is_construct_call_operand; |
+ MemOperand length_operand = MemOperand(sp, 3 * kPointerSize); |
+ MemOperand* stack_space_operand = &length_operand; |
stack_space = argc() + FCA::kArgsLength + 1; |
stack_space_operand = NULL; |