summaryrefslogtreecommitdiff
path: root/deps/v8/src/keys.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/keys.cc')
-rw-r--r--deps/v8/src/keys.cc25
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(