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_BYTECODE_GRAPH_BUILDER_H_ | 5 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "src/compiler/bytecode-branch-analysis.h" | 8 #include "src/compiler/bytecode-branch-analysis.h" |
9 #include "src/compiler/bytecode-loop-analysis.h" | 9 #include "src/compiler/bytecode-loop-analysis.h" |
10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) { | 80 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) { |
81 Node* buffer[] = {n1, n2, n3}; | 81 Node* buffer[] = {n1, n2, n3}; |
82 return MakeNode(op, arraysize(buffer), buffer, false); | 82 return MakeNode(op, arraysize(buffer), buffer, false); |
83 } | 83 } |
84 | 84 |
85 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) { | 85 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) { |
86 Node* buffer[] = {n1, n2, n3, n4}; | 86 Node* buffer[] = {n1, n2, n3, n4}; |
87 return MakeNode(op, arraysize(buffer), buffer, false); | 87 return MakeNode(op, arraysize(buffer), buffer, false); |
88 } | 88 } |
89 | 89 |
| 90 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| 91 Node* n5) { |
| 92 Node* buffer[] = {n1, n2, n3, n4, n5}; |
| 93 return MakeNode(op, arraysize(buffer), buffer, false); |
| 94 } |
| 95 |
90 // Helpers to create new control nodes. | 96 // Helpers to create new control nodes. |
91 Node* NewIfTrue() { return NewNode(common()->IfTrue()); } | 97 Node* NewIfTrue() { return NewNode(common()->IfTrue()); } |
92 Node* NewIfFalse() { return NewNode(common()->IfFalse()); } | 98 Node* NewIfFalse() { return NewNode(common()->IfFalse()); } |
93 Node* NewMerge() { return NewNode(common()->Merge(1), true); } | 99 Node* NewMerge() { return NewNode(common()->Merge(1), true); } |
94 Node* NewLoop() { return NewNode(common()->Loop(1), true); } | 100 Node* NewLoop() { return NewNode(common()->Loop(1), true); } |
95 Node* NewBranch(Node* condition, BranchHint hint = BranchHint::kNone) { | 101 Node* NewBranch(Node* condition, BranchHint hint = BranchHint::kNone) { |
96 return NewNode(common()->Branch(hint), condition); | 102 return NewNode(common()->Branch(hint), condition); |
97 } | 103 } |
98 | 104 |
99 // Creates a new Phi node having {count} input values. | 105 // Creates a new Phi node having {count} input values. |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 static int const kBinaryOperationSmiHintIndex = 2; | 332 static int const kBinaryOperationSmiHintIndex = 2; |
327 | 333 |
328 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 334 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
329 }; | 335 }; |
330 | 336 |
331 } // namespace compiler | 337 } // namespace compiler |
332 } // namespace internal | 338 } // namespace internal |
333 } // namespace v8 | 339 } // namespace v8 |
334 | 340 |
335 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 341 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |