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

Unified Diff: src/hydrogen.h

Issue 17657004: Refactor Hydrogen GVN into an HPhase and use the phase zone. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 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
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen-gvn.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen-gvn.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698