OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/pipeline.h" | 5 #include "src/compiler/pipeline.h" |
6 | 6 |
7 #include <fstream> // NOLINT(readability/streams) | 7 #include <fstream> // NOLINT(readability/streams) |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "src/base/platform/elapsed-timer.h" | 10 #include "src/base/platform/elapsed-timer.h" |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 }; | 460 }; |
461 | 461 |
462 | 462 |
463 struct InliningPhase { | 463 struct InliningPhase { |
464 static const char* phase_name() { return "inlining"; } | 464 static const char* phase_name() { return "inlining"; } |
465 | 465 |
466 void Run(PipelineData* data, Zone* temp_zone) { | 466 void Run(PipelineData* data, Zone* temp_zone) { |
467 SourcePositionTable::Scope pos(data->source_positions(), | 467 SourcePositionTable::Scope pos(data->source_positions(), |
468 SourcePosition::Unknown()); | 468 SourcePosition::Unknown()); |
469 JSInliner inliner(temp_zone, data->info(), data->jsgraph()); | 469 JSInliner inliner(temp_zone, data->info(), data->jsgraph()); |
470 inliner.Inline(); | 470 GraphReducer graph_reducer(data->graph(), temp_zone); |
| 471 AddReducer(data, &graph_reducer, &inliner); |
| 472 graph_reducer.ReduceGraph(); |
471 } | 473 } |
472 }; | 474 }; |
473 | 475 |
474 | 476 |
475 struct TyperPhase { | 477 struct TyperPhase { |
476 static const char* phase_name() { return "typer"; } | 478 static const char* phase_name() { return "typer"; } |
477 | 479 |
478 void Run(PipelineData* data, Zone* temp_zone) { data->typer()->Run(); } | 480 void Run(PipelineData* data, Zone* temp_zone) { data->typer()->Run(); } |
479 }; | 481 }; |
480 | 482 |
(...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1192 | 1194 |
1193 if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { | 1195 if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { |
1194 TurboCfgFile tcf(data->isolate()); | 1196 TurboCfgFile tcf(data->isolate()); |
1195 tcf << AsC1VAllocator("CodeGen", data->register_allocator()); | 1197 tcf << AsC1VAllocator("CodeGen", data->register_allocator()); |
1196 } | 1198 } |
1197 } | 1199 } |
1198 | 1200 |
1199 } // namespace compiler | 1201 } // namespace compiler |
1200 } // namespace internal | 1202 } // namespace internal |
1201 } // namespace v8 | 1203 } // namespace v8 |
OLD | NEW |