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(); |