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 bool verify_stub_graph = |
1766 (!strcmp(FLAG_turbo_verify_machine_graph, "*") || | 1766 DEBUG_BOOL && data->info()->IsStub() && (FLAG_csa_verify > 0); |
1767 !strcmp(FLAG_turbo_verify_machine_graph, | 1767 // TODO(ishell): Always enable graph verification of stubs in debug mode |
1768 data->info()->GetDebugName().get()))) { | 1768 // once all the issues are fixed. |
1769 if (verify_stub_graph) { | |
1770 // Enable graph verification for the first |FLAG_csa_verify| stubs. | |
1771 --FLAG_csa_verify; | |
Michael Starzinger
2016/12/05 18:03:36
suggestion: As discussed offline, this is not safe
Igor Sheludko
2016/12/06 13:57:52
I added the cctest.
| |
1772 } | |
1773 | |
1774 if (verify_stub_graph || (FLAG_turbo_verify_machine_graph != nullptr && | |
1775 (!strcmp(FLAG_turbo_verify_machine_graph, "*") || | |
1776 !strcmp(FLAG_turbo_verify_machine_graph, | |
1777 data->info()->GetDebugName().get())))) { | |
1769 Zone temp_zone(data->isolate()->allocator(), ZONE_NAME); | 1778 Zone temp_zone(data->isolate()->allocator(), ZONE_NAME); |
1770 MachineGraphVerifier::Run(data->graph(), data->schedule(), linkage, | 1779 MachineGraphVerifier::Run(data->graph(), data->schedule(), linkage, |
1771 &temp_zone); | 1780 &temp_zone); |
1772 } | 1781 } |
1773 | 1782 |
1774 data->InitializeInstructionSequence(call_descriptor); | 1783 data->InitializeInstructionSequence(call_descriptor); |
1775 | 1784 |
1776 data->InitializeFrameData(call_descriptor); | 1785 data->InitializeFrameData(call_descriptor); |
1777 // Select and schedule instructions covering the scheduled graph. | 1786 // Select and schedule instructions covering the scheduled graph. |
1778 Run<InstructionSelectionPhase>(linkage); | 1787 Run<InstructionSelectionPhase>(linkage); |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1969 data->DeleteRegisterAllocationZone(); | 1978 data->DeleteRegisterAllocationZone(); |
1970 } | 1979 } |
1971 | 1980 |
1972 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1981 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1973 | 1982 |
1974 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1983 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1975 | 1984 |
1976 } // namespace compiler | 1985 } // namespace compiler |
1977 } // namespace internal | 1986 } // namespace internal |
1978 } // namespace v8 | 1987 } // namespace v8 |
OLD | NEW |