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

Unified Diff: src/lookup.h

Issue 429053005: Avoid one repeated property lookup when computing load ICs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 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
Index: src/lookup.h
diff --git a/src/lookup.h b/src/lookup.h
index c96b2d11dd640d7044b635a29fcb4325f5ae672a..009f7c9b52e6373e9664afaee593dd243c1f37fa 100644
--- a/src/lookup.h
+++ b/src/lookup.h
@@ -131,11 +131,25 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
ASSERT(has_property_);
return property_details_;
}
+ bool has_fast_properties() const { return !holder_map_->is_dictionary_map(); }
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_;
+ }
+ bool IsConfigurable() const { return !property_details().IsDontDelete(); }
+ Representation representation() const {
+ return property_details().representation();
+ }
+ FieldIndex GetFieldIndex() const {
+ ASSERT_EQ(PROPERTY, state_);
+ return FieldIndex::ForLookupIterator(this);
+ }
Handle<Object> GetAccessors() const;
Handle<Object> GetDataValue() const;
void WriteDataValue(Handle<Object> value);

Powered by Google App Engine
This is Rietveld 408576698