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

Unified Diff: src/compiler/pipeline.h

Issue 1943243003: [turbofan] Make Pipeline more private. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_turbofan-fix-trace-turbo
Patch Set: Created 4 years, 8 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/compiler/pipeline.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/pipeline.h
diff --git a/src/compiler/pipeline.h b/src/compiler/pipeline.h
index 4721e51587adc6fb6d6a755f5845b13ced049bd3..87a7b726eb5d0e10a4142033aaaa1b7a1b0e5bcf 100644
--- a/src/compiler/pipeline.h
+++ b/src/compiler/pipeline.h
@@ -28,19 +28,13 @@ class SourcePositionTable;
class Pipeline {
public:
- explicit Pipeline(PipelineData* data) : data_(data) {}
-
- // Run the graph creation and initial optimization passes.
- bool CreateGraph();
-
- // Run the concurrent optimization passes.
- bool OptimizeGraph(Linkage* linkage);
-
- // Perform the actual code generation and return handle to a code object.
- Handle<Code> GenerateCode(Linkage* linkage);
+ // Returns a new compilation job for the given function.
+ static CompilationJob* NewCompilationJob(Handle<JSFunction> function);
- // Run the entire pipeline and generate a handle to a code object.
- Handle<Code> GenerateCode();
+ // Returns a new compilation job for the WebAssembly compilation info.
+ static CompilationJob* NewWasmCompilationJob(
+ CompilationInfo* info, Graph* graph, CallDescriptor* descriptor,
+ SourcePositionTable* source_positions);
// Run the pipeline on a machine graph and generate code. The {schedule} must
// be valid, hence the given {graph} does not need to be schedulable.
@@ -72,19 +66,12 @@ class Pipeline {
Graph* graph,
Schedule* schedule = nullptr);
- // Returns a new compilation job for the given function.
- static CompilationJob* NewCompilationJob(Handle<JSFunction> function);
-
- // Returns a new compilation job for the WebAssembly compilation info.
- static CompilationJob* NewWasmCompilationJob(
- CompilationInfo* info, Graph* graph, CallDescriptor* descriptor,
- SourcePositionTable* source_positions);
-
private:
- // The wasm compilation job calls ScheduleAndSelectInstructions and
- // RunPrintAndVerify, so we make it a member class.
+ friend class PipelineCompilationJob;
friend class PipelineWasmCompilationJob;
+ explicit Pipeline(PipelineData* data) : data_(data) {}
+
// Helpers for executing pipeline phases.
template <typename Phase>
void Run();
@@ -93,6 +80,18 @@ class Pipeline {
template <typename Phase, typename Arg0, typename Arg1>
void Run(Arg0 arg_0, Arg1 arg_1);
+ // Run the graph creation and initial optimization passes.
+ bool CreateGraph();
+
+ // Run the concurrent optimization passes.
+ bool OptimizeGraph(Linkage* linkage);
+
+ // Perform the actual code generation and return handle to a code object.
+ Handle<Code> GenerateCode(Linkage* linkage);
+
+ // Run the entire pipeline and generate a handle to a code object.
+ Handle<Code> GenerateCode();
+
void BeginPhaseKind(const char* phase_kind);
void EndPhaseKind();
bool ScheduleAndSelectInstructions(Linkage* linkage);
« no previous file with comments | « no previous file | src/compiler/pipeline.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698