| 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_;
|
|
|