| 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 |