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

Unified Diff: src/hydrogen.h

Issue 10701054: Enable stub generation using Hydrogen/Lithium (again) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: First pass at pre-VFP2 RA Created 8 years, 1 month 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/hydrogen.h
diff --git a/src/hydrogen.h b/src/hydrogen.h
index 3748970585155bb876219b0a70a777aa9b49e32f..a1bc873bd4fbd6cdae3966094a637692a3389486 100644
--- a/src/hydrogen.h
+++ b/src/hydrogen.h
@@ -425,7 +425,8 @@ enum FrameType {
JS_CONSTRUCT,
JS_GETTER,
JS_SETTER,
- ARGUMENTS_ADAPTOR
+ ARGUMENTS_ADAPTOR,
+ STUB
};
@@ -436,6 +437,8 @@ class HEnvironment: public ZoneObject {
Handle<JSFunction> closure,
Zone* zone);
+ explicit HEnvironment(Zone* zone);
+
HEnvironment* arguments_environment() {
return outer()->frame_type() == ARGUMENTS_ADAPTOR ? outer() : this;
}
@@ -1119,24 +1122,51 @@ class HGraphBuilder: public AstVisitor {
HValue* right);
HInstruction* BuildIncrement(bool returns_original_input,
CountOperation* expr);
- HInstruction* BuildFastElementAccess(HValue* elements,
- HValue* checked_key,
- HValue* val,
- HValue* dependency,
- ElementsKind elements_kind,
- bool is_store);
+ HLoadNamedField* BuildLoadNamedField(HValue* object,
Jakob Kummerow 2012/11/19 12:36:00 merge problem?
danno 2012/11/26 17:16:18 Done.
+ Property* expr,
+ Handle<Map> type,
+ LookupResult* result,
+ bool smi_and_map_check);
+ HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr);
+ HInstruction* BuildLoadKeyedGeneric(HValue* object,
+ HValue* key);
+ static HInstruction* BuildExternalArrayElementAccess(
+ HGraph* graph,
+ HBasicBlock* current_block,
+ HValue* external_elements,
+ HValue* checked_key,
+ HValue* val,
+ HValue* dependency,
+ ElementsKind elements_kind,
+ bool is_store,
+ Zone* zone);
+ static HInstruction* BuildFastElementAccess(
+ HGraph* graph,
+ HBasicBlock* current_block,
+ HValue* elements,
+ HValue* checked_key,
+ HValue* val,
+ HValue* dependency,
+ ElementsKind elements_kind,
+ bool is_store,
+ Zone* zone);
HInstruction* TryBuildConsolidatedElementLoad(HValue* object,
HValue* key,
HValue* val,
SmallMapList* maps);
- HInstruction* BuildUncheckedMonomorphicElementAccess(HValue* object,
- HValue* key,
- HValue* val,
- HCheckMaps* mapcheck,
- Handle<Map> map,
- bool is_store);
+ static HInstruction* BuildUncheckedMonomorphicElementAccess(
+ HGraph* graph,
+ HBasicBlock* current_block,
+ HValue* object,
+ HValue* key,
+ HValue* val,
+ HCheckMaps* mapcheck,
+ bool is_js_array,
+ ElementsKind elements_kind,
+ bool is_store,
+ Zone* zone);
HInstruction* BuildMonomorphicElementAccess(HValue* object,
HValue* key,
@@ -1177,14 +1207,6 @@ class HGraphBuilder: public AstVisitor {
Handle<String> name,
Property* expr,
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);
void AddCheckMapsWithTransitions(HValue* object,
Handle<Map> map);
@@ -1253,6 +1275,7 @@ class HGraphBuilder: public AstVisitor {
friend class FunctionState; // Pushes and pops the state stack.
friend class AstContext; // Pushes and pops the AST context stack.
+ friend class KeyedLoadFastElementStub;
DISALLOW_COPY_AND_ASSIGN(HGraphBuilder);
};
@@ -1416,7 +1439,7 @@ class HPhase BASE_EMBEDDED {
class HTracer: public Malloced {
public:
- void TraceCompilation(FunctionLiteral* function);
+ void TraceCompilation(CompilationInfo* info);
void TraceHydrogen(const char* name, HGraph* graph);
void TraceLithium(const char* name, LChunk* chunk);
void TraceLiveRanges(const char* name, LAllocator* allocator);

Powered by Google App Engine
This is Rietveld 408576698