Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index e29c5d2f3c40761c86ccfb1efe6319fc41327385..e918f5f682fd0da005cabd986908a9a46c3c8eb9 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -556,6 +556,12 @@ void Pipeline::Run(Arg0 arg_0) { |
phase.Run(this->data_, scope.zone(), arg_0); |
} |
+template <typename Phase, typename Arg0, typename Arg1> |
+void Pipeline::Run(Arg0 arg_0, Arg1 arg_1) { |
+ PipelineRunScope scope(this->data_, Phase::phase_name()); |
+ Phase phase; |
+ phase.Run(this->data_, scope.zone(), arg_0, arg_1); |
+} |
struct LoopAssignmentAnalysisPhase { |
static const char* phase_name() { return "loop assignment analysis"; } |
@@ -1156,9 +1162,10 @@ struct PrintGraphPhase { |
struct VerifyGraphPhase { |
static const char* phase_name() { return nullptr; } |
- void Run(PipelineData* data, Zone* temp_zone, const bool untyped) { |
- Verifier::Run(data->graph(), |
- !untyped ? Verifier::TYPED : Verifier::UNTYPED); |
+ void Run(PipelineData* data, Zone* temp_zone, const bool untyped, |
+ bool values_only = false) { |
+ Verifier::Run(data->graph(), !untyped ? Verifier::TYPED : Verifier::UNTYPED, |
+ values_only ? Verifier::kValuesOnly : Verifier::kAll); |
} |
}; |
@@ -1360,6 +1367,7 @@ Handle<Code> Pipeline::GenerateCodeForCodeStub(Isolate* isolate, |
pipeline.Run<PrintGraphPhase>("Machine"); |
} |
+ pipeline.Run<VerifyGraphPhase>(false, true); |
return pipeline.ScheduleAndGenerateCode(call_descriptor); |
} |