diff options
Diffstat (limited to 'deps/v8/src/keys.cc')
-rw-r--r-- | deps/v8/src/keys.cc | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/deps/v8/src/keys.cc b/deps/v8/src/keys.cc index 9ac0079ac2..4f59c2553c 100644 --- a/deps/v8/src/keys.cc +++ b/deps/v8/src/keys.cc @@ -479,14 +479,11 @@ void FilterForEnumerableProperties(Handle<JSReceiver> receiver, if (type == kIndexed) { uint32_t number; CHECK(element->ToUint32(&number)); - attributes = args.Call( - v8::ToCData<v8::IndexedPropertyQueryCallback>(interceptor->query()), - number); + attributes = args.CallIndexedQuery(interceptor, number); } else { CHECK(element->IsName()); - attributes = args.Call(v8::ToCData<v8::GenericNamedPropertyQueryCallback>( - interceptor->query()), - Handle<Name>::cast(element)); + attributes = + args.CallNamedQuery(interceptor, Handle<Name>::cast(element)); } if (!attributes.is_null()) { @@ -512,20 +509,10 @@ Maybe<bool> CollectInterceptorKeysInternal(Handle<JSReceiver> receiver, Handle<JSObject> result; if (!interceptor->enumerator()->IsUndefined(isolate)) { if (type == kIndexed) { - v8::IndexedPropertyEnumeratorCallback enum_fun = - v8::ToCData<v8::IndexedPropertyEnumeratorCallback>( - interceptor->enumerator()); - const char* log_tag = "interceptor-indexed-enum"; - LOG(isolate, ApiObjectAccess(log_tag, *object)); - result = enum_args.Call(enum_fun); + result = enum_args.CallIndexedEnumerator(interceptor); } else { DCHECK_EQ(type, kNamed); - v8::GenericNamedPropertyEnumeratorCallback enum_fun = - v8::ToCData<v8::GenericNamedPropertyEnumeratorCallback>( - interceptor->enumerator()); - const char* log_tag = "interceptor-named-enum"; - LOG(isolate, ApiObjectAccess(log_tag, *object)); - result = enum_args.Call(enum_fun); + result = enum_args.CallNamedEnumerator(interceptor); } } RETURN_VALUE_IF_SCHEDULED_EXCEPTION(isolate, Nothing<bool>()); @@ -790,7 +777,7 @@ Maybe<bool> KeyAccumulator::CollectOwnJSProxyKeys(Handle<JSReceiver> receiver, return Nothing<bool>(); } // 4. Let target be the value of the [[ProxyTarget]] internal slot of O. - Handle<JSReceiver> target(proxy->target(), isolate_); + Handle<JSReceiver> target(JSReceiver::cast(proxy->target()), isolate_); // 5. Let trap be ? GetMethod(handler, "ownKeys"). Handle<Object> trap; ASSIGN_RETURN_ON_EXCEPTION_VALUE( |