Chromium Code Reviews| 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 |