| Index: src/runtime/runtime-object.cc
|
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc
|
| index 617644c49efbf5199a24ad66ca7fc2ed1ce34b77..d8d7a05fcf07ddd011b119e6657f982220b6170f 100644
|
| --- a/src/runtime/runtime-object.cc
|
| +++ b/src/runtime/runtime-object.cc
|
| @@ -815,7 +815,12 @@ RUNTIME_FUNCTION(Runtime_HasOwnProperty) {
|
| // Fast case: either the key is a real named property or it is not
|
| // an array index and there are no interceptors or hidden
|
| // prototypes.
|
| - Maybe<bool> maybe = JSObject::HasRealNamedProperty(js_obj, key);
|
| + Maybe<bool> maybe;
|
| + if (key_is_array_index) {
|
| + maybe = JSObject::HasOwnElement(js_obj, index);
|
| + } else {
|
| + maybe = JSObject::HasRealNamedProperty(js_obj, key);
|
| + }
|
| if (!maybe.has_value) return isolate->heap()->exception();
|
| DCHECK(!isolate->has_pending_exception());
|
| if (maybe.value) {
|
|
|