| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 460132caa7968f470a63abf19a71c2b1ae761e65..ee5269e71dc7fa808c5d3534eb22facaadea83b6 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -1057,14 +1057,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetOwnProperty) {
|
| switch (details.type()) {
|
| case CALLBACKS: {
|
| // This is an accessor property with getter and/or setter.
|
| - FixedArray* callbacks =
|
| - FixedArray::cast(dictionary->ValueAt(entry));
|
| + AccessorPair* accessors =
|
| + AccessorPair::cast(dictionary->ValueAt(entry));
|
| elms->set(IS_ACCESSOR_INDEX, heap->true_value());
|
| if (CheckElementAccess(*obj, index, v8::ACCESS_GET)) {
|
| - elms->set(GETTER_INDEX, callbacks->get(0));
|
| + elms->set(GETTER_INDEX, accessors->getter());
|
| }
|
| if (CheckElementAccess(*obj, index, v8::ACCESS_SET)) {
|
| - elms->set(SETTER_INDEX, callbacks->get(1));
|
| + elms->set(SETTER_INDEX, accessors->setter());
|
| }
|
| break;
|
| }
|
| @@ -1103,18 +1103,18 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetOwnProperty) {
|
| elms->set(CONFIGURABLE_INDEX, heap->ToBoolean(!result.IsDontDelete()));
|
|
|
| bool is_js_accessor = (result.type() == CALLBACKS) &&
|
| - (result.GetCallbackObject()->IsFixedArray());
|
| + (result.GetCallbackObject()->IsAccessorPair());
|
|
|
| if (is_js_accessor) {
|
| // __defineGetter__/__defineSetter__ callback.
|
| elms->set(IS_ACCESSOR_INDEX, heap->true_value());
|
|
|
| - FixedArray* structure = FixedArray::cast(result.GetCallbackObject());
|
| + AccessorPair* accessors = AccessorPair::cast(result.GetCallbackObject());
|
| if (CheckAccess(*obj, *name, &result, v8::ACCESS_GET)) {
|
| - elms->set(GETTER_INDEX, structure->get(0));
|
| + elms->set(GETTER_INDEX, accessors->getter());
|
| }
|
| if (CheckAccess(*obj, *name, &result, v8::ACCESS_SET)) {
|
| - elms->set(SETTER_INDEX, structure->get(1));
|
| + elms->set(SETTER_INDEX, accessors->setter());
|
| }
|
| } else {
|
| elms->set(IS_ACCESSOR_INDEX, heap->false_value());
|
| @@ -10475,15 +10475,15 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugGetPropertyDetails) {
|
| // If the callback object is a fixed array then it contains JavaScript
|
| // getter and/or setter.
|
| bool hasJavaScriptAccessors = result_type == CALLBACKS &&
|
| - result_callback_obj->IsFixedArray();
|
| + result_callback_obj->IsAccessorPair();
|
| Handle<FixedArray> details =
|
| isolate->factory()->NewFixedArray(hasJavaScriptAccessors ? 5 : 2);
|
| details->set(0, *value);
|
| details->set(1, property_details);
|
| if (hasJavaScriptAccessors) {
|
| details->set(2, isolate->heap()->ToBoolean(caught_exception));
|
| - details->set(3, FixedArray::cast(*result_callback_obj)->get(0));
|
| - details->set(4, FixedArray::cast(*result_callback_obj)->get(1));
|
| + details->set(3, AccessorPair::cast(*result_callback_obj)->getter());
|
| + details->set(4, AccessorPair::cast(*result_callback_obj)->setter());
|
| }
|
|
|
| return *isolate->factory()->NewJSArrayWithElements(details);
|
|
|