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-bce.h" | 5 #include "src/hydrogen-bce.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 | 9 |
10 | 10 |
11 // We try to "factor up" HBoundsCheck instructions towards the root of the | 11 // We try to "factor up" HBoundsCheck instructions towards the root of the |
12 // dominator tree. | 12 // dominator tree. |
13 // For now we handle checks where the index is like "exp + int32value". | 13 // For now we handle checks where the index is like "exp + int32value". |
14 // If in the dominator tree we check "exp + v1" and later (dominated) | 14 // If in the dominator tree we check "exp + v1" and later (dominated) |
15 // "exp + v2", if v2 <= v1 we can safely remove the second check, and if | 15 // "exp + v2", if v2 <= v1 we can safely remove the second check, and if |
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 if (data->FatherInDominatorTree()) { | 441 if (data->FatherInDominatorTree()) { |
442 table_.Insert(data->Key(), data->FatherInDominatorTree(), zone()); | 442 table_.Insert(data->Key(), data->FatherInDominatorTree(), zone()); |
443 } else { | 443 } else { |
444 table_.Delete(data->Key()); | 444 table_.Delete(data->Key()); |
445 } | 445 } |
446 data = data->NextInBasicBlock(); | 446 data = data->NextInBasicBlock(); |
447 } | 447 } |
448 } | 448 } |
449 | 449 |
450 } } // namespace v8::internal | 450 } } // namespace v8::internal |
OLD | NEW |