Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Unified Diff: src/lookup.h

Issue 540903002: Flatten property_kind into state. Add UNKNOWN as a state for dict-mode receivers (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add DCHECKs Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ic/x87/handler-compiler-x87.cc ('k') | src/lookup.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « src/ic/x87/handler-compiler-x87.cc ('k') | src/lookup.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698