Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index 39e50604f46f43b44aab73b2673e49da8ed105dd..3cdd7f8a312a0aef93a3b1d3ff06c83dc2a49358 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1088,21 +1088,6 @@ class HGraphBuilder: public AstVisitor { |
HValue* right); |
HInstruction* BuildIncrement(bool returns_original_input, |
CountOperation* expr); |
- HLoadNamedField* BuildLoadNamedField(HValue* object, |
- Handle<Map> map, |
- LookupResult* result, |
- bool smi_and_map_check); |
- HInstruction* BuildLoadNamedGeneric(HValue* object, |
- Handle<String> name, |
- Property* expr); |
- HInstruction* BuildLoadKeyedGeneric(HValue* object, HValue* key); |
- HInstruction* BuildExternalArrayElementAccess( |
- HValue* external_elements, |
- HValue* checked_key, |
- HValue* val, |
- HValue* dependency, |
- ElementsKind elements_kind, |
- bool is_store); |
HInstruction* BuildFastElementAccess(HValue* elements, |
HValue* checked_key, |
HValue* val, |
@@ -1147,6 +1132,22 @@ class HGraphBuilder: public AstVisitor { |
bool is_store, |
bool* has_side_effects); |
+ // Tries to find a JavaScript accessor of the given name in the prototype |
+ // chain starting at the given map. Return true iff there is one, including |
+ // the corresponding AccessorPair plus its holder (which could be null when |
+ // the accessor is found directly in the given map). |
+ bool LookupAccessorPair(Handle<Map> map, |
+ Handle<String> name, |
+ Handle<AccessorPair>* accessors, |
+ Handle<JSObject>* holder); |
+ |
+ HLoadNamedField* BuildLoadNamedField(HValue* object, |
+ Handle<Map> map, |
+ LookupResult* result, |
+ bool smi_and_map_check); |
+ HInstruction* BuildLoadNamedGeneric(HValue* object, |
+ Handle<String> name, |
+ Property* expr); |
HInstruction* BuildCallGetter(HValue* object, |
Handle<Map> map, |
Handle<AccessorPair> accessors, |
@@ -1155,15 +1156,15 @@ class HGraphBuilder: public AstVisitor { |
Handle<String> name, |
Property* expr, |
Handle<Map> map); |
- HInstruction* BuildCallSetter(HValue* object, |
- HValue* value, |
- Handle<Map> map, |
- Handle<AccessorPair> accessors, |
- Handle<JSObject> holder); |
- HInstruction* BuildStoreNamedMonomorphic(HValue* object, |
- Handle<String> name, |
- HValue* value, |
- Handle<Map> map); |
+ HInstruction* BuildLoadKeyedGeneric(HValue* object, HValue* key); |
+ HInstruction* BuildExternalArrayElementAccess( |
+ HValue* external_elements, |
+ HValue* checked_key, |
+ HValue* val, |
+ HValue* dependency, |
+ ElementsKind elements_kind, |
+ bool is_store); |
+ |
HInstruction* BuildStoreNamedField(HValue* object, |
Handle<String> name, |
HValue* value, |
@@ -1173,6 +1174,15 @@ class HGraphBuilder: public AstVisitor { |
HInstruction* BuildStoreNamedGeneric(HValue* object, |
Handle<String> name, |
HValue* value); |
+ HInstruction* BuildCallSetter(HValue* object, |
+ HValue* value, |
+ Handle<Map> map, |
+ Handle<AccessorPair> accessors, |
+ Handle<JSObject> holder); |
+ HInstruction* BuildStoreNamedMonomorphic(HValue* object, |
+ Handle<String> name, |
+ HValue* value, |
+ Handle<Map> map); |
HInstruction* BuildStoreKeyedGeneric(HValue* object, |
HValue* key, |
HValue* value); |