Index: src/compiler/pipeline.h |
diff --git a/src/compiler/pipeline.h b/src/compiler/pipeline.h |
index 78113000836243cbc19aac644116e9b892956e1e..6e0540db199bf04109d655b81b22ef9833fb468a 100644 |
--- a/src/compiler/pipeline.h |
+++ b/src/compiler/pipeline.h |
@@ -42,17 +42,31 @@ class Pipeline { |
private: |
CompilationInfo* info_; |
+ PipelineData* data_; |
+ |
+ // Helper for executing pipeline phases. |
+ template <typename Phase> |
+ void Run() { |
+ Phase phase; |
+ phase.Run(this->data_); |
+ } |
+ |
+ // Helper for executing the pipeline phases. |
+ template <typename Phase, typename Arg0> |
+ void Run(Arg0 arg_0) { |
+ Phase phase; |
+ phase.Run(this->data_, arg_0); |
+ } |
CompilationInfo* info() const { return info_; } |
Isolate* isolate() { return info_->isolate(); } |
- void ComputeSchedule(PipelineData* data); |
- void VerifyAndPrintGraph(Graph* graph, const char* phase, |
- bool untyped = false); |
+ void RunPrintAndVerify(const char* phase, bool untyped = false); |
Handle<Code> GenerateCode(Linkage* linkage, PipelineData* data); |
}; |
-} |
-} |
-} // namespace v8::internal::compiler |
+ |
+} // namespace compiler |
+} // namespace internal |
+} // namespace v8 |
#endif // V8_COMPILER_PIPELINE_H_ |