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 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1755 RunPrintAndVerify("Late trimmed", true); | 1755 RunPrintAndVerify("Late trimmed", true); |
1756 } | 1756 } |
1757 if (data->schedule() == nullptr) Run<ComputeSchedulePhase>(); | 1757 if (data->schedule() == nullptr) Run<ComputeSchedulePhase>(); |
1758 TraceSchedule(data->info(), data->schedule()); | 1758 TraceSchedule(data->info(), data->schedule()); |
1759 | 1759 |
1760 if (FLAG_turbo_profiling) { | 1760 if (FLAG_turbo_profiling) { |
1761 data->set_profiler_data(BasicBlockInstrumentor::Instrument( | 1761 data->set_profiler_data(BasicBlockInstrumentor::Instrument( |
1762 info(), data->graph(), data->schedule())); | 1762 info(), data->graph(), data->schedule())); |
1763 } | 1763 } |
1764 | 1764 |
1765 if (FLAG_turbo_verify_machine_graph != nullptr && | 1765 // TODO(ishell): Always enable graph verification of stubs in debug mode |
1766 (!strcmp(FLAG_turbo_verify_machine_graph, "*") || | 1766 // once all the issues are fixed. |
1767 !strcmp(FLAG_turbo_verify_machine_graph, | 1767 bool verify_stub_graph = |
1768 data->info()->GetDebugName().get()))) { | 1768 DEBUG_BOOL && FLAG_csa_verify && data->info()->IsStub(); |
| 1769 |
| 1770 if (verify_stub_graph || (FLAG_turbo_verify_machine_graph != nullptr && |
| 1771 (!strcmp(FLAG_turbo_verify_machine_graph, "*") || |
| 1772 !strcmp(FLAG_turbo_verify_machine_graph, |
| 1773 data->info()->GetDebugName().get())))) { |
1769 Zone temp_zone(data->isolate()->allocator(), ZONE_NAME); | 1774 Zone temp_zone(data->isolate()->allocator(), ZONE_NAME); |
1770 MachineGraphVerifier::Run(data->graph(), data->schedule(), linkage, | 1775 MachineGraphVerifier::Run(data->graph(), data->schedule(), linkage, |
1771 &temp_zone); | 1776 &temp_zone); |
1772 } | 1777 } |
1773 | 1778 |
1774 data->InitializeInstructionSequence(call_descriptor); | 1779 data->InitializeInstructionSequence(call_descriptor); |
1775 | 1780 |
1776 data->InitializeFrameData(call_descriptor); | 1781 data->InitializeFrameData(call_descriptor); |
1777 // Select and schedule instructions covering the scheduled graph. | 1782 // Select and schedule instructions covering the scheduled graph. |
1778 Run<InstructionSelectionPhase>(linkage); | 1783 Run<InstructionSelectionPhase>(linkage); |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1969 data->DeleteRegisterAllocationZone(); | 1974 data->DeleteRegisterAllocationZone(); |
1970 } | 1975 } |
1971 | 1976 |
1972 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1977 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1973 | 1978 |
1974 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1979 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1975 | 1980 |
1976 } // namespace compiler | 1981 } // namespace compiler |
1977 } // namespace internal | 1982 } // namespace internal |
1978 } // namespace v8 | 1983 } // namespace v8 |
OLD | NEW |