| Index: src/lookup.h
|
| diff --git a/src/lookup.h b/src/lookup.h
|
| index 60f171c2d79d7c565c6f2380a060d37e1e92ad89..deed5a7bbf01855040a66f2cd2138a0a66ff6c69 100644
|
| --- a/src/lookup.h
|
| +++ b/src/lookup.h
|
| @@ -210,17 +210,23 @@ class LookupIterator final BASE_EMBEDDED {
|
| bool HasAccess() const;
|
|
|
| /* PROPERTY */
|
| + bool ExtendingNonExtensible(Handle<JSObject> receiver) {
|
| + DCHECK(receiver.is_identical_to(GetStoreTarget()));
|
| + return !receiver->map()->is_extensible() &&
|
| + (IsElement() || !isolate_->IsInternallyUsedPropertyName(name_));
|
| + }
|
| void PrepareForDataProperty(Handle<Object> value);
|
| - void PrepareTransitionToDataProperty(Handle<Object> value,
|
| + void PrepareTransitionToDataProperty(Handle<JSObject> receiver,
|
| + Handle<Object> value,
|
| PropertyAttributes attributes,
|
| Object::StoreFromKeyed store_mode);
|
| bool IsCacheableTransition() {
|
| - if (state_ != TRANSITION) return false;
|
| + DCHECK_EQ(TRANSITION, state_);
|
| return transition_->IsPropertyCell() ||
|
| (!transition_map()->is_dictionary_map() &&
|
| transition_map()->GetBackPointer()->IsMap());
|
| }
|
| - void ApplyTransitionToDataProperty();
|
| + void ApplyTransitionToDataProperty(Handle<JSObject> receiver);
|
| void ReconfigureDataProperty(Handle<Object> value,
|
| PropertyAttributes attributes);
|
| void Delete();
|
|
|