Index: src/lookup.h |
diff --git a/src/lookup.h b/src/lookup.h |
index c96b2d11dd640d7044b635a29fcb4325f5ae672a..5593188010612d149c1701b0eb10985f904a4805 100644 |
--- a/src/lookup.h |
+++ b/src/lookup.h |
@@ -99,7 +99,7 @@ class LookupIterator V8_FINAL BASE_EMBEDDED { |
return Handle<T>::cast(maybe_holder_.ToHandleChecked()); |
} |
Handle<JSReceiver> GetRoot() const; |
- bool HolderIsReceiver() const; |
+ bool HolderIsReceiverOrHiddenPrototype() const; |
/* Dynamically reduce the trapped types. */ |
void skip_interceptor() { |
@@ -127,15 +127,20 @@ class LookupIterator V8_FINAL BASE_EMBEDDED { |
ASSERT(has_property_); |
return property_kind_; |
} |
+ PropertyEncoding property_encoding() const { |
+ ASSERT(has_property_); |
+ return property_encoding_; |
+ } |
PropertyDetails property_details() const { |
ASSERT(has_property_); |
return property_details_; |
} |
- int descriptor_number() const { |
- ASSERT(has_property_); |
- ASSERT_EQ(DESCRIPTOR, property_encoding_); |
- return number_; |
+ bool IsConfigurable() const { return !property_details().IsDontDelete(); } |
+ Representation representation() const { |
+ return property_details().representation(); |
} |
+ FieldIndex GetFieldIndex() const; |
+ Handle<PropertyCell> GetPropertyCell() const; |
Handle<Object> GetAccessors() const; |
Handle<Object> GetDataValue() const; |
void WriteDataValue(Handle<Object> value); |
@@ -170,6 +175,16 @@ class LookupIterator V8_FINAL BASE_EMBEDDED { |
bool check_access_check() const { |
return (configuration_ & CHECK_ACCESS_CHECK) != 0; |
} |
+ int descriptor_number() const { |
+ ASSERT(has_property_); |
+ ASSERT_EQ(DESCRIPTOR, property_encoding_); |
+ return number_; |
+ } |
+ int dictionary_entry() const { |
+ ASSERT(has_property_); |
+ ASSERT_EQ(DICTIONARY, property_encoding_); |
+ return number_; |
+ } |
Configuration configuration_; |
State state_; |