| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index c1c87d954e1cc0ea479db95c2594499367deffc6..5b24ca880eaf88814b6dc3e734da32b71c6e0536 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -791,12 +791,16 @@ static void PushInterceptorArguments(MacroAssembler* masm,
|
| Register scratch = name;
|
| __ mov(scratch, Operand(interceptor));
|
| __ push(scratch);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kThisIndex == 0);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kDataIndex == -1);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == -4);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == -5);
|
| __ push(receiver);
|
| - __ push(holder);
|
| __ ldr(scratch, FieldMemOperand(scratch, InterceptorInfo::kDataOffset));
|
| __ push(scratch);
|
| __ mov(scratch, Operand(ExternalReference::isolate_address(masm->isolate())));
|
| __ push(scratch);
|
| + __ push(holder);
|
| }
|
|
|
|
|
| @@ -1420,6 +1424,12 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
|
| Handle<ExecutableAccessorInfo> callback) {
|
| // Build AccessorInfo::args_ list on the stack and push property name below
|
| // the exit frame to make GC aware of them and store pointers to them.
|
| + STATIC_ASSERT(PropertyCallbackArguments::kThisIndex == 0);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kDataIndex == -1);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kReturnValueOffset == -2);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kReturnValueDefaultValueIndex == -3);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == -4);
|
| + STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == -5);
|
| __ push(receiver());
|
| __ mov(scratch2(), sp); // scratch2 = AccessorInfo::args_
|
| if (heap()->InNewSpace(callback->data())) {
|
| @@ -1429,13 +1439,15 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
|
| } else {
|
| __ Move(scratch3(), Handle<Object>(callback->data(), isolate()));
|
| }
|
| - __ Push(reg, scratch3());
|
| + __ push(scratch3());
|
| __ LoadRoot(scratch3(), Heap::kUndefinedValueRootIndex);
|
| __ mov(scratch4(), scratch3());
|
| __ Push(scratch3(), scratch4());
|
| __ mov(scratch4(),
|
| Operand(ExternalReference::isolate_address(isolate())));
|
| - __ Push(scratch4(), name());
|
| +
|
| + __ Push(scratch4(), reg);
|
| + __ push(name());
|
| __ mov(r0, sp); // r0 = Handle<Name>
|
|
|
| const int kApiStackSpace = 1;
|
| @@ -1465,7 +1477,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
|
| thunk_ref,
|
| r2,
|
| kStackUnwindSpace,
|
| - 5);
|
| + 6);
|
| }
|
|
|
|
|
|
|