| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 5b44374591cefb4a10a25e89b7c1e90d365d6817..adbb2e139e83bd89f35406e5ce9e57a14b9153c6 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -1123,11 +1123,13 @@ static MaybeObject* GetOwnProperty(Isolate* isolate,
|
| elms->set(IS_ACCESSOR_INDEX, heap->true_value());
|
|
|
| AccessorPair* accessors = AccessorPair::cast(result.GetCallbackObject());
|
| - if (CheckAccess(*obj, *name, &result, v8::ACCESS_GET)) {
|
| - elms->set(GETTER_INDEX, accessors->GetComponent(ACCESSOR_GETTER));
|
| + Object* getter = accessors->GetComponent(ACCESSOR_GETTER);
|
| + if (!getter->IsMap() && CheckAccess(*obj, *name, &result, v8::ACCESS_GET)) {
|
| + elms->set(GETTER_INDEX, getter);
|
| }
|
| - if (CheckAccess(*obj, *name, &result, v8::ACCESS_SET)) {
|
| - elms->set(SETTER_INDEX, accessors->GetComponent(ACCESSOR_SETTER));
|
| + Object* setter = accessors->GetComponent(ACCESSOR_SETTER);
|
| + if (!setter->IsMap() && CheckAccess(*obj, *name, &result, v8::ACCESS_SET)) {
|
| + elms->set(SETTER_INDEX, setter);
|
| }
|
| } else {
|
| elms->set(IS_ACCESSOR_INDEX, heap->false_value());
|
|
|