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