| Index: src/lookup.h
|
| diff --git a/src/lookup.h b/src/lookup.h
|
| index 6427aa944c90320830a34690eb38457a049e5d9d..594919d1cf52be737bc450de6d7df0da81abda90 100644
|
| --- a/src/lookup.h
|
| +++ b/src/lookup.h
|
| @@ -34,18 +34,15 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| INTERCEPTOR,
|
| JSPROXY,
|
| NOT_FOUND,
|
| - PROPERTY,
|
| + UNKNOWN, // Dictionary-mode holder map without a holder.
|
| + ACCESSOR,
|
| + DATA,
|
| TRANSITION,
|
| // Set state_ to BEFORE_PROPERTY to ensure that the next lookup will be a
|
| // PROPERTY lookup.
|
| BEFORE_PROPERTY = INTERCEPTOR
|
| };
|
|
|
| - enum PropertyKind {
|
| - DATA,
|
| - ACCESSOR
|
| - };
|
| -
|
| enum PropertyEncoding {
|
| DICTIONARY,
|
| DESCRIPTOR
|
| @@ -55,7 +52,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| Configuration configuration = PROTOTYPE_CHAIN)
|
| : configuration_(ComputeConfiguration(configuration, name)),
|
| state_(NOT_FOUND),
|
| - property_kind_(DATA),
|
| property_encoding_(DESCRIPTOR),
|
| property_details_(NONE, NORMAL, Representation::None()),
|
| isolate_(name->GetIsolate()),
|
| @@ -73,7 +69,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| Configuration configuration = PROTOTYPE_CHAIN)
|
| : configuration_(ComputeConfiguration(configuration, name)),
|
| state_(NOT_FOUND),
|
| - property_kind_(DATA),
|
| property_encoding_(DESCRIPTOR),
|
| property_details_(NONE, NORMAL, Representation::None()),
|
| isolate_(name->GetIsolate()),
|
| @@ -118,10 +113,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| bool HasAccess(v8::AccessType access_type) const;
|
|
|
| /* PROPERTY */
|
| - // HasProperty needs to be called before any of the other PROPERTY methods
|
| - // below can be used. It ensures that we are able to provide a definite
|
| - // answer, and loads extra information about the property.
|
| - bool HasProperty();
|
| void PrepareForDataProperty(Handle<Object> value);
|
| void PrepareTransitionToDataProperty(Handle<Object> value,
|
| PropertyAttributes attributes,
|
| @@ -131,7 +122,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| state_ == TRANSITION && transition_map()->GetBackPointer()->IsMap();
|
| if (cacheable) {
|
| property_details_ = transition_map_->GetLastDescriptorDetails();
|
| - LoadPropertyKind();
|
| has_property_ = true;
|
| }
|
| return cacheable;
|
| @@ -142,10 +132,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| void TransitionToAccessorProperty(AccessorComponent component,
|
| Handle<Object> accessor,
|
| PropertyAttributes attributes);
|
| - PropertyKind property_kind() const {
|
| - DCHECK(has_property_);
|
| - return property_kind_;
|
| - }
|
| PropertyEncoding property_encoding() const {
|
| DCHECK(has_property_);
|
| return property_encoding_;
|
| @@ -173,10 +159,9 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| Handle<Map> GetReceiverMap() const;
|
|
|
| MUST_USE_RESULT inline JSReceiver* NextHolder(Map* map);
|
| - inline State LookupInHolder(Map* map);
|
| + inline State LookupInHolder(Map* map, JSReceiver* holder);
|
| Handle<Object> FetchValue() const;
|
| void ReloadPropertyInformation();
|
| - void LoadPropertyKind();
|
|
|
| bool IsBootstrapping() const;
|
|
|
| @@ -219,7 +204,6 @@ class LookupIterator FINAL BASE_EMBEDDED {
|
| Configuration configuration_;
|
| State state_;
|
| bool has_property_;
|
| - PropertyKind property_kind_;
|
| PropertyEncoding property_encoding_;
|
| PropertyDetails property_details_;
|
| Isolate* isolate_;
|
|
|