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 "hydrogen-bch.h" | 5 #include "src/hydrogen-bch.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 | 9 |
10 /* | 10 /* |
11 * This class is a table with one element for eack basic block. | 11 * This class is a table with one element for eack basic block. |
12 * | 12 * |
13 * It is used to check if, inside one loop, all execution paths contain | 13 * It is used to check if, inside one loop, all execution paths contain |
14 * a bounds check for a particular [index, length] combination. | 14 * a bounds check for a particular [index, length] combination. |
15 * The reason is that if there is a path that stays in the loop without | 15 * The reason is that if there is a path that stays in the loop without |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 | 370 |
371 void HBoundsCheckHoistingPhase::HoistRedundantBoundsChecks() { | 371 void HBoundsCheckHoistingPhase::HoistRedundantBoundsChecks() { |
372 InductionVariableBlocksTable table(graph()); | 372 InductionVariableBlocksTable table(graph()); |
373 table.CollectInductionVariableData(graph()->entry_block()); | 373 table.CollectInductionVariableData(graph()->entry_block()); |
374 for (int i = 0; i < graph()->blocks()->length(); i++) { | 374 for (int i = 0; i < graph()->blocks()->length(); i++) { |
375 table.EliminateRedundantBoundsChecks(graph()->blocks()->at(i)); | 375 table.EliminateRedundantBoundsChecks(graph()->blocks()->at(i)); |
376 } | 376 } |
377 } | 377 } |
378 | 378 |
379 } } // namespace v8::internal | 379 } } // namespace v8::internal |
OLD | NEW |