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 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1462 if (FLAG_print_turbo_replay) { | 1462 if (FLAG_print_turbo_replay) { |
1463 // Print a replay of the initial graph. | 1463 // Print a replay of the initial graph. |
1464 GraphReplayPrinter::PrintReplay(data->graph()); | 1464 GraphReplayPrinter::PrintReplay(data->graph()); |
1465 } | 1465 } |
1466 | 1466 |
1467 // Run the type-sensitive lowerings and optimizations on the graph. | 1467 // Run the type-sensitive lowerings and optimizations on the graph. |
1468 { | 1468 { |
1469 // Type the graph and keep the Typer running on newly created nodes within | 1469 // Type the graph and keep the Typer running on newly created nodes within |
1470 // this scope; the Typer is automatically unlinked from the Graph once we | 1470 // this scope; the Typer is automatically unlinked from the Graph once we |
1471 // leave this scope below. | 1471 // leave this scope below. |
1472 Typer typer(isolate(), data->graph(), info()->is_deoptimization_enabled() | 1472 Typer typer(isolate(), data->graph()); |
1473 ? Typer::kDeoptimizationEnabled | |
1474 : Typer::kNoFlags, | |
1475 info()->dependencies()); | |
1476 Run<TyperPhase>(&typer); | 1473 Run<TyperPhase>(&typer); |
1477 RunPrintAndVerify("Typed"); | 1474 RunPrintAndVerify("Typed"); |
1478 | 1475 |
1479 data->BeginPhaseKind("lowering"); | 1476 data->BeginPhaseKind("lowering"); |
1480 | 1477 |
1481 // Lower JSOperators where we can determine types. | 1478 // Lower JSOperators where we can determine types. |
1482 Run<TypedLoweringPhase>(); | 1479 Run<TypedLoweringPhase>(); |
1483 RunPrintAndVerify("Lowered typed"); | 1480 RunPrintAndVerify("Lowered typed"); |
1484 | 1481 |
1485 if (FLAG_turbo_loop_peeling) { | 1482 if (FLAG_turbo_loop_peeling) { |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1893 data->DeleteRegisterAllocationZone(); | 1890 data->DeleteRegisterAllocationZone(); |
1894 } | 1891 } |
1895 | 1892 |
1896 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 1893 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
1897 | 1894 |
1898 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 1895 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
1899 | 1896 |
1900 } // namespace compiler | 1897 } // namespace compiler |
1901 } // namespace internal | 1898 } // namespace internal |
1902 } // namespace v8 | 1899 } // namespace v8 |
OLD | NEW |