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 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1562 } else { | 1562 } else { |
1563 Run<LoopExitEliminationPhase>(); | 1563 Run<LoopExitEliminationPhase>(); |
1564 RunPrintAndVerify("Loop exits eliminated", true); | 1564 RunPrintAndVerify("Loop exits eliminated", true); |
1565 } | 1565 } |
1566 | 1566 |
1567 if (FLAG_turbo_stress_loop_peeling) { | 1567 if (FLAG_turbo_stress_loop_peeling) { |
1568 Run<StressLoopPeelingPhase>(); | 1568 Run<StressLoopPeelingPhase>(); |
1569 RunPrintAndVerify("Loop peeled"); | 1569 RunPrintAndVerify("Loop peeled"); |
1570 } | 1570 } |
1571 | 1571 |
1572 if (FLAG_turbo_escape) { | 1572 if (!info()->shared_info()->asm_function()) { |
1573 Run<EscapeAnalysisPhase>(); | 1573 if (FLAG_turbo_load_elimination) { |
1574 RunPrintAndVerify("Escape Analysed"); | 1574 Run<LoadEliminationPhase>(); |
1575 } | 1575 RunPrintAndVerify("Load eliminated"); |
| 1576 } |
1576 | 1577 |
1577 if (!info()->shared_info()->asm_function() && FLAG_turbo_load_elimination) { | 1578 if (FLAG_turbo_escape) { |
1578 Run<LoadEliminationPhase>(); | 1579 Run<EscapeAnalysisPhase>(); |
1579 RunPrintAndVerify("Load eliminated"); | 1580 RunPrintAndVerify("Escape Analysed"); |
| 1581 } |
1580 } | 1582 } |
1581 } | 1583 } |
1582 | 1584 |
1583 // Select representations. This has to run w/o the Typer decorator, because | 1585 // Select representations. This has to run w/o the Typer decorator, because |
1584 // we cannot compute meaningful types anyways, and the computed types might | 1586 // we cannot compute meaningful types anyways, and the computed types might |
1585 // even conflict with the representation/truncation logic. | 1587 // even conflict with the representation/truncation logic. |
1586 Run<RepresentationSelectionPhase>(); | 1588 Run<RepresentationSelectionPhase>(); |
1587 RunPrintAndVerify("Representations selected", true); | 1589 RunPrintAndVerify("Representations selected", true); |
1588 | 1590 |
1589 #ifdef DEBUG | 1591 #ifdef DEBUG |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1988 data->DeleteRegisterAllocationZone(); | 1990 data->DeleteRegisterAllocationZone(); |
1989 } | 1991 } |
1990 | 1992 |
1991 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1993 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1992 | 1994 |
1993 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1995 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1994 | 1996 |
1995 } // namespace compiler | 1997 } // namespace compiler |
1996 } // namespace internal | 1998 } // namespace internal |
1997 } // namespace v8 | 1999 } // namespace v8 |
OLD | NEW |