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 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 typed_lowering_flags |= JSTypedLowering::kTypeFeedbackEnabled; | 891 typed_lowering_flags |= JSTypedLowering::kTypeFeedbackEnabled; |
892 } | 892 } |
893 JSTypedLowering typed_lowering(&graph_reducer, data->info()->dependencies(), | 893 JSTypedLowering typed_lowering(&graph_reducer, data->info()->dependencies(), |
894 typed_lowering_flags, data->jsgraph(), | 894 typed_lowering_flags, data->jsgraph(), |
895 temp_zone); | 895 temp_zone); |
896 JSIntrinsicLowering intrinsic_lowering( | 896 JSIntrinsicLowering intrinsic_lowering( |
897 &graph_reducer, data->jsgraph(), | 897 &graph_reducer, data->jsgraph(), |
898 data->info()->is_deoptimization_enabled() | 898 data->info()->is_deoptimization_enabled() |
899 ? JSIntrinsicLowering::kDeoptimizationEnabled | 899 ? JSIntrinsicLowering::kDeoptimizationEnabled |
900 : JSIntrinsicLowering::kDeoptimizationDisabled); | 900 : JSIntrinsicLowering::kDeoptimizationDisabled); |
901 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); | 901 SimplifiedOperatorReducer simple_reducer(&graph_reducer, data->jsgraph()); |
902 CheckpointElimination checkpoint_elimination(&graph_reducer); | 902 CheckpointElimination checkpoint_elimination(&graph_reducer); |
903 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), | 903 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
904 data->common(), data->machine()); | 904 data->common(), data->machine()); |
905 AddReducer(data, &graph_reducer, &dead_code_elimination); | 905 AddReducer(data, &graph_reducer, &dead_code_elimination); |
906 AddReducer(data, &graph_reducer, &builtin_reducer); | 906 AddReducer(data, &graph_reducer, &builtin_reducer); |
907 if (data->info()->is_deoptimization_enabled()) { | 907 if (data->info()->is_deoptimization_enabled()) { |
908 AddReducer(data, &graph_reducer, &create_lowering); | 908 AddReducer(data, &graph_reducer, &create_lowering); |
909 } | 909 } |
910 AddReducer(data, &graph_reducer, &typed_lowering); | 910 AddReducer(data, &graph_reducer, &typed_lowering); |
911 AddReducer(data, &graph_reducer, &intrinsic_lowering); | 911 AddReducer(data, &graph_reducer, &intrinsic_lowering); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 }; | 965 }; |
966 | 966 |
967 struct EarlyOptimizationPhase { | 967 struct EarlyOptimizationPhase { |
968 static const char* phase_name() { return "early optimization"; } | 968 static const char* phase_name() { return "early optimization"; } |
969 | 969 |
970 void Run(PipelineData* data, Zone* temp_zone) { | 970 void Run(PipelineData* data, Zone* temp_zone) { |
971 JSGraphReducer graph_reducer(data->jsgraph(), temp_zone); | 971 JSGraphReducer graph_reducer(data->jsgraph(), temp_zone); |
972 JSGenericLowering generic_lowering(data->jsgraph()); | 972 JSGenericLowering generic_lowering(data->jsgraph()); |
973 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), | 973 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), |
974 data->common()); | 974 data->common()); |
975 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); | 975 SimplifiedOperatorReducer simple_reducer(&graph_reducer, data->jsgraph()); |
976 ValueNumberingReducer value_numbering(temp_zone); | 976 ValueNumberingReducer value_numbering(temp_zone); |
977 MachineOperatorReducer machine_reducer(data->jsgraph()); | 977 MachineOperatorReducer machine_reducer(data->jsgraph()); |
978 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), | 978 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
979 data->common(), data->machine()); | 979 data->common(), data->machine()); |
980 AddReducer(data, &graph_reducer, &dead_code_elimination); | 980 AddReducer(data, &graph_reducer, &dead_code_elimination); |
981 AddReducer(data, &graph_reducer, &simple_reducer); | 981 AddReducer(data, &graph_reducer, &simple_reducer); |
982 AddReducer(data, &graph_reducer, &generic_lowering); | 982 AddReducer(data, &graph_reducer, &generic_lowering); |
983 AddReducer(data, &graph_reducer, &value_numbering); | 983 AddReducer(data, &graph_reducer, &value_numbering); |
984 AddReducer(data, &graph_reducer, &machine_reducer); | 984 AddReducer(data, &graph_reducer, &machine_reducer); |
985 AddReducer(data, &graph_reducer, &common_reducer); | 985 AddReducer(data, &graph_reducer, &common_reducer); |
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1812 data->DeleteRegisterAllocationZone(); | 1812 data->DeleteRegisterAllocationZone(); |
1813 } | 1813 } |
1814 | 1814 |
1815 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1815 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1816 | 1816 |
1817 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1817 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1818 | 1818 |
1819 } // namespace compiler | 1819 } // namespace compiler |
1820 } // namespace internal | 1820 } // namespace internal |
1821 } // namespace v8 | 1821 } // namespace v8 |
OLD | NEW |