Index: src/lookup.h |
diff --git a/src/lookup.h b/src/lookup.h |
index 5f7a293e36fdf5ecf55bb3e192509bfd7ad8da17..7d8838bac39ebea8cbdf278b56347b868543537a 100644 |
--- a/src/lookup.h |
+++ b/src/lookup.h |
@@ -214,6 +214,10 @@ class V8_EXPORT_PRIVATE LookupIterator final BASE_EMBEDDED { |
(!transition_map()->is_dictionary_map() && |
transition_map()->GetBackPointer()->IsMap()); |
} |
+ bool IsInitializingStoreRequired() { |
+ DCHECK(IsFound()); |
+ return !IsElement() && !is_dictionary_holder() && representation().IsNone(); |
+ } |
void ApplyTransitionToDataProperty(Handle<JSObject> receiver); |
void ReconfigureDataProperty(Handle<Object> value, |
PropertyAttributes attributes); |
@@ -236,6 +240,7 @@ class V8_EXPORT_PRIVATE LookupIterator final BASE_EMBEDDED { |
Representation representation() const { |
return property_details().representation(); |
} |
+ PropertyConstness constness() const { return property_details().constness(); } |
FieldIndex GetFieldIndex() const; |
Handle<FieldType> GetFieldType() const; |
int GetFieldDescriptorIndex() const; |
@@ -252,7 +257,7 @@ class V8_EXPORT_PRIVATE LookupIterator final BASE_EMBEDDED { |
} |
Handle<InterceptorInfo> GetInterceptorForFailedAccessCheck() const; |
Handle<Object> GetDataValue() const; |
- void WriteDataValue(Handle<Object> value); |
+ void WriteDataValue(Handle<Object> value, bool initializing_store); |
inline void UpdateProtector() { |
if (IsElement()) return; |
if (*name_ == heap()->is_concat_spreadable_symbol() || |
@@ -303,6 +308,7 @@ class V8_EXPORT_PRIVATE LookupIterator final BASE_EMBEDDED { |
template <bool is_element> |
void RestartInternal(InterceptorState interceptor_state); |
Handle<Object> FetchValue() const; |
+ bool IsConstFieldValueEqualTo(Object* value) const; |
template <bool is_element> |
void ReloadPropertyInformation(); |