| Index: src/handles.cc
|
| diff --git a/src/handles.cc b/src/handles.cc
|
| index 5a5773ebd0f231544d646a40d7ba1ebdc606460a..7a8d5c90bc5fa97ac289a600ebe0cfc68b243906 100644
|
| --- a/src/handles.cc
|
| +++ b/src/handles.cc
|
| @@ -545,19 +545,14 @@ int GetScriptLineNumberSafe(Handle<Script> script, int code_pos) {
|
| }
|
|
|
|
|
| -void CustomArguments::IterateInstance(ObjectVisitor* v) {
|
| - v->VisitPointers(values_, values_ + ARRAY_SIZE(values_));
|
| -}
|
| -
|
| -
|
| // Compute the property keys from the interceptor.
|
| // TODO(rossberg): support symbols in API, and filter here if needed.
|
| v8::Handle<v8::Array> GetKeysForNamedInterceptor(Handle<JSReceiver> receiver,
|
| Handle<JSObject> object) {
|
| Isolate* isolate = receiver->GetIsolate();
|
| Handle<InterceptorInfo> interceptor(object->GetNamedInterceptor());
|
| - CustomArguments args(isolate, interceptor->data(), *receiver, *object);
|
| - v8::AccessorInfo info(args.end());
|
| + PropertyCallbackArguments
|
| + args(isolate, interceptor->data(), *receiver, *object);
|
| v8::Handle<v8::Array> result;
|
| if (!interceptor->enumerator()->IsUndefined()) {
|
| v8::NamedPropertyEnumerator enum_fun =
|
| @@ -566,7 +561,7 @@ v8::Handle<v8::Array> GetKeysForNamedInterceptor(Handle<JSReceiver> receiver,
|
| {
|
| // Leaving JavaScript.
|
| VMState<EXTERNAL> state(isolate);
|
| - result = enum_fun(info);
|
| + result = args.Call(enum_fun);
|
| }
|
| }
|
| #if ENABLE_EXTRA_CHECKS
|
| @@ -581,8 +576,8 @@ v8::Handle<v8::Array> GetKeysForIndexedInterceptor(Handle<JSReceiver> receiver,
|
| Handle<JSObject> object) {
|
| Isolate* isolate = receiver->GetIsolate();
|
| Handle<InterceptorInfo> interceptor(object->GetIndexedInterceptor());
|
| - CustomArguments args(isolate, interceptor->data(), *receiver, *object);
|
| - v8::AccessorInfo info(args.end());
|
| + PropertyCallbackArguments
|
| + args(isolate, interceptor->data(), *receiver, *object);
|
| v8::Handle<v8::Array> result;
|
| if (!interceptor->enumerator()->IsUndefined()) {
|
| v8::IndexedPropertyEnumerator enum_fun =
|
| @@ -591,7 +586,7 @@ v8::Handle<v8::Array> GetKeysForIndexedInterceptor(Handle<JSReceiver> receiver,
|
| {
|
| // Leaving JavaScript.
|
| VMState<EXTERNAL> state(isolate);
|
| - result = enum_fun(info);
|
| + result = args.Call(enum_fun);
|
| #if ENABLE_EXTRA_CHECKS
|
| CHECK(result.IsEmpty() || v8::Utils::OpenHandle(*result)->IsJSObject());
|
| #endif
|
|
|