| Index: src/objects.cc
 | 
| diff --git a/src/objects.cc b/src/objects.cc
 | 
| index ad31f91f1f893c27d500e2b7379ca2b0aa1f7536..4832f19e4d0ed802c804d525bfad5a87578fd68c 100644
 | 
| --- a/src/objects.cc
 | 
| +++ b/src/objects.cc
 | 
| @@ -143,7 +143,7 @@ MaybeHandle<Object> Object::GetProperty(LookupIterator* it) {
 | 
|  
 | 
|  Handle<Object> JSObject::GetDataProperty(Handle<JSObject> object,
 | 
|                                           Handle<Name> key) {
 | 
| -  LookupIterator it(object, key, LookupIterator::CHECK_DERIVED_PROPERTY);
 | 
| +  LookupIterator it(object, key, LookupIterator::PROTOTYPE_CHAIN_PROPERTY);
 | 
|    return GetDataProperty(&it);
 | 
|  }
 | 
|  
 | 
| @@ -3787,7 +3787,7 @@ void JSObject::WriteToField(int descriptor, Object* value) {
 | 
|  void JSObject::AddProperty(Handle<JSObject> object, Handle<Name> name,
 | 
|                             Handle<Object> value,
 | 
|                             PropertyAttributes attributes) {
 | 
| -  LookupIterator it(object, name, LookupIterator::CHECK_PROPERTY);
 | 
| +  LookupIterator it(object, name, LookupIterator::OWN_PROPERTY);
 | 
|  #ifdef DEBUG
 | 
|    uint32_t index;
 | 
|    DCHECK(!object->IsJSProxy());
 | 
| @@ -3812,8 +3812,7 @@ MaybeHandle<Object> JSObject::SetOwnPropertyIgnoreAttributes(
 | 
|      PropertyAttributes attributes,
 | 
|      ExecutableAccessorInfoHandling handling) {
 | 
|    DCHECK(!value->IsTheHole());
 | 
| -  LookupIterator it(object, name,
 | 
| -                    LookupIterator::CHECK_HIDDEN_SKIP_INTERCEPTOR);
 | 
| +  LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR);
 | 
|    bool is_observed = object->map()->is_observed() &&
 | 
|                       *name != it.isolate()->heap()->hidden_string();
 | 
|    for (; it.IsFound(); it.Next()) {
 | 
| @@ -3984,7 +3983,7 @@ Maybe<PropertyAttributes> JSReceiver::GetOwnPropertyAttributes(
 | 
|    if (object->IsJSObject() && name->AsArrayIndex(&index)) {
 | 
|      return GetOwnElementAttribute(object, index);
 | 
|    }
 | 
| -  LookupIterator it(object, name, LookupIterator::CHECK_HIDDEN);
 | 
| +  LookupIterator it(object, name, LookupIterator::HIDDEN);
 | 
|    return GetPropertyAttributes(&it);
 | 
|  }
 | 
|  
 | 
| @@ -4692,7 +4691,7 @@ void JSObject::DeleteHiddenProperty(Handle<JSObject> object, Handle<Name> key) {
 | 
|  
 | 
|  bool JSObject::HasHiddenProperties(Handle<JSObject> object) {
 | 
|    Handle<Name> hidden = object->GetIsolate()->factory()->hidden_string();
 | 
| -  LookupIterator it(object, hidden, LookupIterator::CHECK_PROPERTY);
 | 
| +  LookupIterator it(object, hidden, LookupIterator::OWN_PROPERTY);
 | 
|    Maybe<PropertyAttributes> maybe = GetPropertyAttributes(&it);
 | 
|    // Cannot get an exception since the hidden_string isn't accessible to JS.
 | 
|    DCHECK(maybe.has_value);
 | 
| @@ -4727,7 +4726,7 @@ Object* JSObject::GetHiddenPropertiesHashTable() {
 | 
|    } else {
 | 
|      Isolate* isolate = GetIsolate();
 | 
|      LookupIterator it(handle(this), isolate->factory()->hidden_string(),
 | 
| -                      LookupIterator::CHECK_PROPERTY);
 | 
| +                      LookupIterator::OWN_PROPERTY);
 | 
|      if (it.IsFound() && it.HasProperty()) {
 | 
|        DCHECK_EQ(LookupIterator::DATA, it.property_kind());
 | 
|        return *it.GetDataValue();
 | 
| @@ -4923,9 +4922,8 @@ MaybeHandle<Object> JSObject::DeleteProperty(Handle<JSObject> object,
 | 
|  
 | 
|    // Skip interceptors on FORCE_DELETION.
 | 
|    LookupIterator::Configuration config =
 | 
| -      delete_mode == FORCE_DELETION
 | 
| -          ? LookupIterator::CHECK_HIDDEN_SKIP_INTERCEPTOR
 | 
| -          : LookupIterator::CHECK_HIDDEN;
 | 
| +      delete_mode == FORCE_DELETION ? LookupIterator::HIDDEN_SKIP_INTERCEPTOR
 | 
| +                                    : LookupIterator::HIDDEN;
 | 
|  
 | 
|    LookupIterator it(object, name, config);
 | 
|  
 | 
| @@ -6154,8 +6152,7 @@ MaybeHandle<Object> JSObject::DefineAccessor(Handle<JSObject> object,
 | 
|              Object::GetElement(isolate, object, index).ToHandleChecked();
 | 
|        }
 | 
|      } else {
 | 
| -      LookupIterator it(object, name,
 | 
| -                        LookupIterator::CHECK_HIDDEN_SKIP_INTERCEPTOR);
 | 
| +      LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR);
 | 
|        CHECK(GetPropertyAttributes(&it).has_value);
 | 
|        preexists = it.IsFound();
 | 
|        if (preexists && (it.property_kind() == LookupIterator::DATA ||
 | 
| @@ -6174,7 +6171,7 @@ MaybeHandle<Object> JSObject::DefineAccessor(Handle<JSObject> object,
 | 
|             setter->IsNull());
 | 
|      // At least one of the accessors needs to be a new value.
 | 
|      DCHECK(!getter->IsNull() || !setter->IsNull());
 | 
| -    LookupIterator it(object, name, LookupIterator::CHECK_PROPERTY);
 | 
| +    LookupIterator it(object, name, LookupIterator::OWN_PROPERTY);
 | 
|      if (!getter->IsNull()) {
 | 
|        it.TransitionToAccessorProperty(ACCESSOR_GETTER, getter, attributes);
 | 
|      }
 | 
| @@ -6257,8 +6254,7 @@ MaybeHandle<Object> JSObject::SetAccessor(Handle<JSObject> object,
 | 
|      SetElementCallback(object, index, info, info->property_attributes());
 | 
|    } else {
 | 
|      // Lookup the name.
 | 
| -    LookupIterator it(object, name,
 | 
| -                      LookupIterator::CHECK_HIDDEN_SKIP_INTERCEPTOR);
 | 
| +    LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR);
 | 
|      CHECK(GetPropertyAttributes(&it).has_value);
 | 
|      // ES5 forbids turning a property into an accessor if it's not
 | 
|      // configurable. See 8.6.1 (Table 5).
 | 
| @@ -6316,7 +6312,7 @@ MaybeHandle<Object> JSObject::GetAccessor(Handle<JSObject> object,
 | 
|      }
 | 
|    } else {
 | 
|      LookupIterator it(object, name,
 | 
| -                      LookupIterator::CHECK_DERIVED_SKIP_INTERCEPTOR);
 | 
| +                      LookupIterator::PROTOTYPE_CHAIN_SKIP_INTERCEPTOR);
 | 
|      for (; it.IsFound(); it.Next()) {
 | 
|        switch (it.state()) {
 | 
|          case LookupIterator::INTERCEPTOR:
 | 
| @@ -12859,7 +12855,7 @@ bool JSArray::WouldChangeReadOnlyLength(Handle<JSArray> array,
 | 
|    CHECK(array->length()->ToArrayIndex(&length));
 | 
|    if (length <= index) {
 | 
|      LookupIterator it(array, array->GetIsolate()->factory()->length_string(),
 | 
| -                      LookupIterator::CHECK_PROPERTY);
 | 
| +                      LookupIterator::OWN_PROPERTY);
 | 
|      CHECK(it.IsFound());
 | 
|      CHECK(it.HasProperty());
 | 
|      return it.IsReadOnly();
 | 
| @@ -13246,7 +13242,7 @@ MaybeHandle<JSObject> JSObject::GetKeysForIndexedInterceptor(
 | 
|  
 | 
|  Maybe<bool> JSObject::HasRealNamedProperty(Handle<JSObject> object,
 | 
|                                             Handle<Name> key) {
 | 
| -  LookupIterator it(object, key, LookupIterator::CHECK_ACCESS_CHECK);
 | 
| +  LookupIterator it(object, key, LookupIterator::OWN_SKIP_INTERCEPTOR);
 | 
|    Maybe<PropertyAttributes> maybe_result = GetPropertyAttributes(&it);
 | 
|    if (!maybe_result.has_value) return Maybe<bool>();
 | 
|    return maybe(it.IsFound());
 | 
| @@ -13284,7 +13280,7 @@ Maybe<bool> JSObject::HasRealElementProperty(Handle<JSObject> object,
 | 
|  
 | 
|  Maybe<bool> JSObject::HasRealNamedCallbackProperty(Handle<JSObject> object,
 | 
|                                                     Handle<Name> key) {
 | 
| -  LookupIterator it(object, key, LookupIterator::CHECK_ACCESS_CHECK);
 | 
| +  LookupIterator it(object, key, LookupIterator::OWN_SKIP_INTERCEPTOR);
 | 
|    Maybe<PropertyAttributes> maybe_result = GetPropertyAttributes(&it);
 | 
|    if (!maybe_result.has_value) return Maybe<bool>();
 | 
|    return maybe(it.IsFound() && it.property_kind() == LookupIterator::ACCESSOR);
 | 
| 
 |