| 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 <memory> | 8 #include <memory> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 | 10 |
| (...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1037 Schedule* schedule = Scheduler::ComputeSchedule(temp_zone, data->graph(), | 1037 Schedule* schedule = Scheduler::ComputeSchedule(temp_zone, data->graph(), |
| 1038 Scheduler::kNoFlags); | 1038 Scheduler::kNoFlags); |
| 1039 if (FLAG_turbo_verify) ScheduleVerifier::Run(schedule); | 1039 if (FLAG_turbo_verify) ScheduleVerifier::Run(schedule); |
| 1040 TraceSchedule(data->info(), schedule); | 1040 TraceSchedule(data->info(), schedule); |
| 1041 | 1041 |
| 1042 // Post-pass for wiring the control/effects | 1042 // Post-pass for wiring the control/effects |
| 1043 // - connect allocating representation changes into the control&effect | 1043 // - connect allocating representation changes into the control&effect |
| 1044 // chains and lower them, | 1044 // chains and lower them, |
| 1045 // - get rid of the region markers, | 1045 // - get rid of the region markers, |
| 1046 // - introduce effect phis and rewire effects to get SSA again. | 1046 // - introduce effect phis and rewire effects to get SSA again. |
| 1047 EffectControlLinearizer linearizer(data->jsgraph(), schedule, temp_zone); | 1047 EffectControlLinearizer linearizer(data->jsgraph(), schedule, temp_zone, |
| 1048 data->source_positions()); |
| 1048 linearizer.Run(); | 1049 linearizer.Run(); |
| 1049 } | 1050 } |
| 1050 }; | 1051 }; |
| 1051 | 1052 |
| 1052 // The store-store elimination greatly benefits from doing a common operator | 1053 // The store-store elimination greatly benefits from doing a common operator |
| 1053 // reducer and dead code elimination just before it, to eliminate conditional | 1054 // reducer and dead code elimination just before it, to eliminate conditional |
| 1054 // deopts with a constant condition. | 1055 // deopts with a constant condition. |
| 1055 | 1056 |
| 1056 struct DeadCodeEliminationPhase { | 1057 struct DeadCodeEliminationPhase { |
| 1057 static const char* phase_name() { return "dead code elimination"; } | 1058 static const char* phase_name() { return "dead code elimination"; } |
| (...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1964 data->DeleteRegisterAllocationZone(); | 1965 data->DeleteRegisterAllocationZone(); |
| 1965 } | 1966 } |
| 1966 | 1967 |
| 1967 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1968 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
| 1968 | 1969 |
| 1969 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1970 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
| 1970 | 1971 |
| 1971 } // namespace compiler | 1972 } // namespace compiler |
| 1972 } // namespace internal | 1973 } // namespace internal |
| 1973 } // namespace v8 | 1974 } // namespace v8 |
| OLD | NEW |