OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" |
10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" |
11 #include "src/ast/scopeinfo.h" | 11 #include "src/ast/scopeinfo.h" |
12 #include "src/code-factory.h" | 12 #include "src/code-factory.h" |
13 #include "src/crankshaft/hydrogen-bce.h" | 13 #include "src/crankshaft/hydrogen-bce.h" |
14 #include "src/crankshaft/hydrogen-bch.h" | |
15 #include "src/crankshaft/hydrogen-canonicalize.h" | 14 #include "src/crankshaft/hydrogen-canonicalize.h" |
16 #include "src/crankshaft/hydrogen-check-elimination.h" | 15 #include "src/crankshaft/hydrogen-check-elimination.h" |
17 #include "src/crankshaft/hydrogen-dce.h" | 16 #include "src/crankshaft/hydrogen-dce.h" |
18 #include "src/crankshaft/hydrogen-dehoist.h" | 17 #include "src/crankshaft/hydrogen-dehoist.h" |
19 #include "src/crankshaft/hydrogen-environment-liveness.h" | 18 #include "src/crankshaft/hydrogen-environment-liveness.h" |
20 #include "src/crankshaft/hydrogen-escape-analysis.h" | 19 #include "src/crankshaft/hydrogen-escape-analysis.h" |
21 #include "src/crankshaft/hydrogen-gvn.h" | 20 #include "src/crankshaft/hydrogen-gvn.h" |
22 #include "src/crankshaft/hydrogen-infer-representation.h" | 21 #include "src/crankshaft/hydrogen-infer-representation.h" |
23 #include "src/crankshaft/hydrogen-infer-types.h" | 22 #include "src/crankshaft/hydrogen-infer-types.h" |
24 #include "src/crankshaft/hydrogen-load-elimination.h" | 23 #include "src/crankshaft/hydrogen-load-elimination.h" |
(...skipping 4496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4521 if (FLAG_store_elimination) Run<HStoreEliminationPhase>(); | 4520 if (FLAG_store_elimination) Run<HStoreEliminationPhase>(); |
4522 | 4521 |
4523 Run<HRangeAnalysisPhase>(); | 4522 Run<HRangeAnalysisPhase>(); |
4524 | 4523 |
4525 Run<HComputeChangeUndefinedToNaN>(); | 4524 Run<HComputeChangeUndefinedToNaN>(); |
4526 | 4525 |
4527 // Eliminate redundant stack checks on backwards branches. | 4526 // Eliminate redundant stack checks on backwards branches. |
4528 Run<HStackCheckEliminationPhase>(); | 4527 Run<HStackCheckEliminationPhase>(); |
4529 | 4528 |
4530 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>(); | 4529 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>(); |
4531 if (FLAG_array_bounds_checks_hoisting) Run<HBoundsCheckHoistingPhase>(); | |
4532 if (FLAG_array_index_dehoisting) Run<HDehoistIndexComputationsPhase>(); | 4530 if (FLAG_array_index_dehoisting) Run<HDehoistIndexComputationsPhase>(); |
4533 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); | 4531 if (FLAG_dead_code_elimination) Run<HDeadCodeEliminationPhase>(); |
4534 | 4532 |
4535 RestoreActualValues(); | 4533 RestoreActualValues(); |
4536 | 4534 |
4537 // Find unreachable code a second time, GVN and other optimizations may have | 4535 // Find unreachable code a second time, GVN and other optimizations may have |
4538 // made blocks unreachable that were previously reachable. | 4536 // made blocks unreachable that were previously reachable. |
4539 Run<HMarkUnreachableBlocksPhase>(); | 4537 Run<HMarkUnreachableBlocksPhase>(); |
4540 | 4538 |
4541 return true; | 4539 return true; |
(...skipping 9034 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13576 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13574 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13577 } | 13575 } |
13578 | 13576 |
13579 #ifdef DEBUG | 13577 #ifdef DEBUG |
13580 graph_->Verify(false); // No full verify. | 13578 graph_->Verify(false); // No full verify. |
13581 #endif | 13579 #endif |
13582 } | 13580 } |
13583 | 13581 |
13584 } // namespace internal | 13582 } // namespace internal |
13585 } // namespace v8 | 13583 } // namespace v8 |
OLD | NEW |