OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef V8_COMPILER_LOOP_PEELING_H_ | 5 #ifndef V8_COMPILER_LOOP_PEELING_H_ |
6 #define V8_COMPILER_LOOP_PEELING_H_ | 6 #define V8_COMPILER_LOOP_PEELING_H_ |
7 | 7 |
8 #include "src/compiler/loop-analysis.h" | 8 #include "src/compiler/loop-analysis.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 class CommonOperatorBuilder; | 27 class CommonOperatorBuilder; |
28 | 28 |
29 // Implements loop peeling. | 29 // Implements loop peeling. |
30 class LoopPeeler { | 30 class LoopPeeler { |
31 public: | 31 public: |
32 static bool CanPeel(LoopTree* loop_tree, LoopTree::Loop* loop); | 32 static bool CanPeel(LoopTree* loop_tree, LoopTree::Loop* loop); |
33 static PeeledIteration* Peel(Graph* graph, CommonOperatorBuilder* common, | 33 static PeeledIteration* Peel(Graph* graph, CommonOperatorBuilder* common, |
34 LoopTree* loop_tree, LoopTree::Loop* loop, | 34 LoopTree* loop_tree, LoopTree::Loop* loop, |
35 Zone* tmp_zone); | 35 Zone* tmp_zone); |
| 36 static void PeelInnerLoopsOfTree(Graph* graph, CommonOperatorBuilder* common, |
| 37 LoopTree* loop_tree, Zone* tmp_zone); |
| 38 |
36 static void EliminateLoopExits(Graph* graph, Zone* temp_zone); | 39 static void EliminateLoopExits(Graph* graph, Zone* temp_zone); |
| 40 static const size_t kMaxPeeledNodes = 1000; |
37 }; | 41 }; |
38 | 42 |
39 | 43 |
40 } // namespace compiler | 44 } // namespace compiler |
41 } // namespace internal | 45 } // namespace internal |
42 } // namespace v8 | 46 } // namespace v8 |
43 | 47 |
44 #endif // V8_COMPILER_LOOP_PEELING_H_ | 48 #endif // V8_COMPILER_LOOP_PEELING_H_ |
OLD | NEW |