| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index e9b7ec2e5bcc3add2144aea1e4c204438d1f4b0f..f8c6564f002793bc2b1781ddbefafbc0d57240b5 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -3242,7 +3242,6 @@ void JSObject::LocalLookupRealNamedProperty(Name* name, LookupResult* result) {
|
| Object* proto = GetPrototype();
|
| if (proto->IsNull()) return result->NotFound();
|
| ASSERT(proto->IsJSGlobalObject());
|
| - // A GlobalProxy's prototype should always be a proper JSObject.
|
| return JSObject::cast(proto)->LocalLookupRealNamedProperty(name, result);
|
| }
|
|
|
| @@ -12839,6 +12838,13 @@ bool JSObject::HasRealElementProperty(Isolate* isolate, uint32_t index) {
|
| }
|
| }
|
|
|
| + if (IsJSGlobalProxy()) {
|
| + Object* proto = GetPrototype();
|
| + if (proto->IsNull()) return false;
|
| + ASSERT(proto->IsJSGlobalObject());
|
| + return JSObject::cast(proto)->HasRealElementProperty(isolate, index);
|
| + }
|
| +
|
| return GetElementAttributeWithoutInterceptor(this, index, false) != ABSENT;
|
| }
|
|
|
|
|