 Chromium Code Reviews
 Chromium Code Reviews Issue 17657004:
  Refactor Hydrogen GVN into an HPhase and use the phase zone.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
    
  
    Issue 17657004:
  Refactor Hydrogen GVN into an HPhase and use the phase zone.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge| Index: src/hydrogen.h | 
| diff --git a/src/hydrogen.h b/src/hydrogen.h | 
| index fdd2f75779d97111a3134f6db8681e565e0a24c5..84dbae1b6f8f88ce4795d8869612df651ef9bb15 100644 | 
| --- a/src/hydrogen.h | 
| +++ b/src/hydrogen.h | 
| @@ -284,7 +284,6 @@ class HGraph: public ZoneObject { | 
| void MarkDeoptimizeOnUndefined(); | 
| void ComputeMinusZeroChecks(); | 
| void ComputeSafeUint32Operations(); | 
| - void GlobalValueNumbering(); | 
| bool ProcessArgumentsObject(); | 
| void EliminateRedundantPhis(); | 
| void Canonicalize(); | 
| @@ -428,6 +427,8 @@ class HGraph: public ZoneObject { | 
| HConstant* GetConstant(SetOncePointer<HConstant>* pointer, | 
| int32_t integer_value); | 
| + template<typename Phase> | 
| + void Run() { Phase phase(this, info()->phase_zone()); phase.Run(); } | 
| 
danno
2013/06/25 15:20:54
Isn't this from another CL?
 
Benedikt Meurer
2013/06/27 08:20:04
Done.
 | 
| void MarkLive(HValue* ref, HValue* instr, ZoneList<HValue*>* worklist); | 
| void MarkLiveInstructions(); | 
| void RemoveDeadInstructions(); | 
| @@ -1957,13 +1958,20 @@ class HStatistics: public Malloced { | 
| class HPhase : public CompilationPhase { | 
| public: | 
| + // TODO(bmeurer) Remove this constructor once all | 
| + // Hydrogen phases have been migrated | 
| HPhase(const char* name, HGraph* graph) | 
| : CompilationPhase(name, graph->isolate(), graph->zone()), | 
| graph_(graph) { } | 
| + HPhase(const char* name, HGraph* graph, Zone* zone); | 
| 
danno
2013/06/25 15:20:54
again, why do you need to pass the zone in? Either
 
Benedikt Meurer
2013/06/27 08:20:04
Done.
 | 
| ~HPhase(); | 
| + protected: | 
| + HGraph* graph() const { return graph_; } | 
| + | 
| private: | 
| HGraph* graph_; | 
| + unsigned graph_zone_start_allocation_size_; | 
| DISALLOW_COPY_AND_ASSIGN(HPhase); | 
| }; |