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