| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index 6d002919c23d92215633f5cc22bffe339ea72555..6328b81753bc5402ae70d67272f00ea0f8cb1edd 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -2840,8 +2840,12 @@ RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly) {
|
| DCHECK(args.length() == NamedLoadHandlerCompiler::kInterceptorArgsLength);
|
| Handle<Name> name =
|
| args.at<Name>(NamedLoadHandlerCompiler::kInterceptorArgsNameIndex);
|
| - Handle<InterceptorInfo> interceptor_info = args.at<InterceptorInfo>(
|
| - NamedLoadHandlerCompiler::kInterceptorArgsInfoIndex);
|
| + Handle<JSObject> receiver =
|
| + args.at<JSObject>(NamedLoadHandlerCompiler::kInterceptorArgsThisIndex);
|
| + Handle<JSObject> holder =
|
| + args.at<JSObject>(NamedLoadHandlerCompiler::kInterceptorArgsHolderIndex);
|
| + HandleScope scope(isolate);
|
| + Handle<InterceptorInfo> interceptor_info(holder->GetNamedInterceptor());
|
|
|
| if (name->IsSymbol() && !interceptor_info->can_intercept_symbols())
|
| return isolate->heap()->no_interceptor_result_sentinel();
|
| @@ -2851,15 +2855,10 @@ RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly) {
|
| FUNCTION_CAST<v8::GenericNamedPropertyGetterCallback>(getter_address);
|
| DCHECK(getter != NULL);
|
|
|
| - Handle<JSObject> receiver =
|
| - args.at<JSObject>(NamedLoadHandlerCompiler::kInterceptorArgsThisIndex);
|
| - Handle<JSObject> holder =
|
| - args.at<JSObject>(NamedLoadHandlerCompiler::kInterceptorArgsHolderIndex);
|
| PropertyCallbackArguments callback_args(isolate, interceptor_info->data(),
|
| *receiver, *holder);
|
| {
|
| // Use the interceptor getter.
|
| - HandleScope scope(isolate);
|
| v8::Handle<v8::Value> r =
|
| callback_args.Call(getter, v8::Utils::ToLocal(name));
|
| RETURN_FAILURE_IF_SCHEDULED_EXCEPTION(isolate);
|
|
|