Chromium Code Reviews| Index: src/compiler/graph.h |
| diff --git a/src/compiler/graph.h b/src/compiler/graph.h |
| index 1e861c7b151e1bc6c18d8caddb455f599006d154..aa056c5a421547db9a8c2e59137534dc9a3ef7b3 100644 |
| --- a/src/compiler/graph.h |
| +++ b/src/compiler/graph.h |
| @@ -66,43 +66,12 @@ class V8_EXPORT_PRIVATE Graph final : public NON_EXPORTED_BASE(ZoneObject) { |
| Node* NewNode(const Operator* op) { |
| return NewNode(op, 0, static_cast<Node* const*>(nullptr)); |
| } |
| - Node* NewNode(const Operator* op, Node* n1) { return NewNode(op, 1, &n1); } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2) { |
| - Node* nodes[] = {n1, n2}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) { |
| - Node* nodes[] = {n1, n2, n3}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) { |
| - Node* nodes[] = {n1, n2, n3, n4}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| - Node* n5) { |
| - Node* nodes[] = {n1, n2, n3, n4, n5}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| - Node* n5, Node* n6) { |
| - Node* nodes[] = {n1, n2, n3, n4, n5, n6}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| - Node* n5, Node* n6, Node* n7) { |
| - Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| - Node* n5, Node* n6, Node* n7, Node* n8) { |
| - Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7, n8}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| - } |
| - Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
| - Node* n5, Node* n6, Node* n7, Node* n8, Node* n9) { |
| - Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7, n8, n9}; |
| - return NewNode(op, arraysize(nodes), nodes); |
| + Node* NewNode(const Operator* op, Node* n) { return NewNode(op, 1, &n); } |
|
titzer
2017/01/25 09:47:25
This is a nice simplification, but IIRC there was
bbudge
2017/01/26 02:04:43
Agreed. Changed to explicit overloads up to 17 par
|
| + // Factories for nodes with more than one input. |
| + template <typename... Nodes> |
| + Node* NewNode(const Operator* op, Nodes*... nodes) { |
| + Node* arr[] = {nodes...}; |
| + return NewNode(op, arraysize(arr), arr); |
| } |
| // Clone the {node}, and assign a new node id to the copy. |