Simplified HCheckMaps handling a bit.

This is a refactoring-only CL which simplifies the way we emit combinations of
Smi+map checks.

Review URL: https://codereview.chromium.org/11343011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9de1d40d
This diff is collapsed.
...@@ -1164,8 +1164,7 @@ class HGraphBuilder: public AstVisitor { ...@@ -1164,8 +1164,7 @@ class HGraphBuilder: public AstVisitor {
HLoadNamedField* BuildLoadNamedField(HValue* object, HLoadNamedField* BuildLoadNamedField(HValue* object,
Handle<Map> map, Handle<Map> map,
LookupResult* result, LookupResult* result);
bool smi_and_map_check);
HInstruction* BuildLoadNamedGeneric(HValue* object, HInstruction* BuildLoadNamedGeneric(HValue* object,
Handle<String> name, Handle<String> name,
Property* expr); Property* expr);
...@@ -1186,12 +1185,14 @@ class HGraphBuilder: public AstVisitor { ...@@ -1186,12 +1185,14 @@ class HGraphBuilder: public AstVisitor {
ElementsKind elements_kind, ElementsKind elements_kind,
bool is_store); bool is_store);
void AddCheckMapsWithTransitions(HValue* object,
Handle<Map> map);
HInstruction* BuildStoreNamedField(HValue* object, HInstruction* BuildStoreNamedField(HValue* object,
Handle<String> name, Handle<String> name,
HValue* value, HValue* value,
Handle<Map> map, Handle<Map> map,
LookupResult* lookup, LookupResult* lookup);
bool smi_and_map_check);
HInstruction* BuildStoreNamedGeneric(HValue* object, HInstruction* BuildStoreNamedGeneric(HValue* object,
Handle<String> name, Handle<String> name,
HValue* value); HValue* value);
...@@ -1212,10 +1213,12 @@ class HGraphBuilder: public AstVisitor { ...@@ -1212,10 +1213,12 @@ class HGraphBuilder: public AstVisitor {
HInstruction* BuildThisFunction(); HInstruction* BuildThisFunction();
void AddCheckPrototypeMaps(Handle<JSObject> holder,
Handle<Map> receiver_map);
void AddCheckConstantFunction(Handle<JSObject> holder, void AddCheckConstantFunction(Handle<JSObject> holder,
HValue* receiver, HValue* receiver,
Handle<Map> receiver_map, Handle<Map> receiver_map);
bool smi_and_map_check);
Zone* zone() const { return zone_; } Zone* zone() const { return zone_; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment