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/adapters.h" | 10 #include "src/base/adapters.h" |
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 }; | 1020 }; |
1021 | 1021 |
1022 struct LateOptimizationPhase { | 1022 struct LateOptimizationPhase { |
1023 static const char* phase_name() { return "late optimization"; } | 1023 static const char* phase_name() { return "late optimization"; } |
1024 | 1024 |
1025 void Run(PipelineData* data, Zone* temp_zone) { | 1025 void Run(PipelineData* data, Zone* temp_zone) { |
1026 JSGraphReducer graph_reducer(data->jsgraph(), temp_zone); | 1026 JSGraphReducer graph_reducer(data->jsgraph(), temp_zone); |
1027 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), | 1027 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), |
1028 data->common()); | 1028 data->common()); |
1029 ValueNumberingReducer value_numbering(temp_zone); | 1029 ValueNumberingReducer value_numbering(temp_zone); |
1030 ChangeLowering lowering(data->jsgraph()); | 1030 ChangeLowering lowering(&graph_reducer, data->jsgraph()); |
1031 MachineOperatorReducer machine_reducer(data->jsgraph()); | 1031 MachineOperatorReducer machine_reducer(data->jsgraph()); |
1032 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), | 1032 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
1033 data->common(), data->machine()); | 1033 data->common(), data->machine()); |
1034 SelectLowering select_lowering(data->jsgraph()->graph(), | 1034 SelectLowering select_lowering(data->jsgraph()->graph(), |
1035 data->jsgraph()->common()); | 1035 data->jsgraph()->common()); |
1036 TailCallOptimization tco(data->common(), data->graph()); | 1036 TailCallOptimization tco(data->common(), data->graph()); |
1037 AddReducer(data, &graph_reducer, &dead_code_elimination); | 1037 AddReducer(data, &graph_reducer, &dead_code_elimination); |
1038 AddReducer(data, &graph_reducer, &value_numbering); | 1038 AddReducer(data, &graph_reducer, &value_numbering); |
1039 AddReducer(data, &graph_reducer, &lowering); | 1039 AddReducer(data, &graph_reducer, &lowering); |
1040 AddReducer(data, &graph_reducer, &machine_reducer); | 1040 AddReducer(data, &graph_reducer, &machine_reducer); |
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1799 data->DeleteRegisterAllocationZone(); | 1799 data->DeleteRegisterAllocationZone(); |
1800 } | 1800 } |
1801 | 1801 |
1802 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1802 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1803 | 1803 |
1804 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1804 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1805 | 1805 |
1806 } // namespace compiler | 1806 } // namespace compiler |
1807 } // namespace internal | 1807 } // namespace internal |
1808 } // namespace v8 | 1808 } // namespace v8 |
OLD | NEW |