| 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);
|
| }
|
|
|
|
|