| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index 215de73ec4143416f0a22c3eb5a0b22e8955b696..fcda0db175288b1e994278a29b628fd961b94a23 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -1210,14 +1210,15 @@ void StubCompiler::GenerateLoadConstant(Handle<JSObject> object,
|
| }
|
|
|
|
|
| -void StubCompiler::GenerateDictionaryLoadCallback(Register receiver,
|
| - Register name_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - Handle<AccessorInfo> callback,
|
| - Handle<String> name,
|
| - Label* miss) {
|
| +void StubCompiler::GenerateDictionaryLoadCallback(
|
| + Register receiver,
|
| + Register name_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + Handle<ExecutableAccessorInfo> callback,
|
| + Handle<String> name,
|
| + Label* miss) {
|
| ASSERT(!receiver.is(scratch1));
|
| ASSERT(!receiver.is(scratch2));
|
| ASSERT(!receiver.is(scratch3));
|
| @@ -1249,17 +1250,18 @@ void StubCompiler::GenerateDictionaryLoadCallback(Register receiver,
|
| }
|
|
|
|
|
| -void StubCompiler::GenerateLoadCallback(Handle<JSObject> object,
|
| - Handle<JSObject> holder,
|
| - Register receiver,
|
| - Register name_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - Register scratch4,
|
| - Handle<AccessorInfo> callback,
|
| - Handle<String> name,
|
| - Label* miss) {
|
| +void StubCompiler::GenerateLoadCallback(
|
| + Handle<JSObject> object,
|
| + Handle<JSObject> holder,
|
| + Register receiver,
|
| + Register name_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + Register scratch4,
|
| + Handle<ExecutableAccessorInfo> callback,
|
| + Handle<String> name,
|
| + Label* miss) {
|
| // Check that the receiver isn't a smi.
|
| __ JumpIfSmi(receiver, miss);
|
|
|
| @@ -1278,7 +1280,8 @@ void StubCompiler::GenerateLoadCallback(Handle<JSObject> object,
|
| __ mov(scratch2, sp); // scratch2 = AccessorInfo::args_
|
| if (heap()->InNewSpace(callback->data())) {
|
| __ Move(scratch3, callback);
|
| - __ ldr(scratch3, FieldMemOperand(scratch3, AccessorInfo::kDataOffset));
|
| + __ ldr(scratch3,
|
| + FieldMemOperand(scratch3, ExecutableAccessorInfo::kDataOffset));
|
| } else {
|
| __ Move(scratch3, Handle<Object>(callback->data()));
|
| }
|
| @@ -1331,8 +1334,9 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object,
|
| if (lookup->IsField()) {
|
| compile_followup_inline = true;
|
| } else if (lookup->type() == CALLBACKS &&
|
| - lookup->GetCallbackObject()->IsAccessorInfo()) {
|
| - AccessorInfo* callback = AccessorInfo::cast(lookup->GetCallbackObject());
|
| + lookup->GetCallbackObject()->IsExecutableAccessorInfo()) {
|
| + ExecutableAccessorInfo* callback =
|
| + ExecutableAccessorInfo::cast(lookup->GetCallbackObject());
|
| compile_followup_inline = callback->getter() != NULL &&
|
| callback->IsCompatibleReceiver(*object);
|
| }
|
| @@ -1413,8 +1417,8 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object,
|
| // We found CALLBACKS property in prototype chain of interceptor's
|
| // holder.
|
| ASSERT(lookup->type() == CALLBACKS);
|
| - Handle<AccessorInfo> callback(
|
| - AccessorInfo::cast(lookup->GetCallbackObject()));
|
| + Handle<ExecutableAccessorInfo> callback(
|
| + ExecutableAccessorInfo::cast(lookup->GetCallbackObject()));
|
| ASSERT(callback->getter() != NULL);
|
|
|
| // Tail call to runtime.
|
| @@ -1430,7 +1434,7 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object,
|
| __ push(holder_reg);
|
| }
|
| __ ldr(scratch3,
|
| - FieldMemOperand(scratch2, AccessorInfo::kDataOffset));
|
| + FieldMemOperand(scratch2, ExecutableAccessorInfo::kDataOffset));
|
| __ mov(scratch1, Operand(ExternalReference::isolate_address()));
|
| __ Push(scratch3, scratch1, scratch2, name_reg);
|
|
|
| @@ -2695,7 +2699,7 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback(
|
| Handle<String> name,
|
| Handle<JSObject> receiver,
|
| Handle<JSObject> holder,
|
| - Handle<AccessorInfo> callback) {
|
| + Handle<ExecutableAccessorInfo> callback) {
|
| // ----------- S t a t e -------------
|
| // -- r0 : value
|
| // -- r1 : receiver
|
|
|