Index: src/compiler/raw-machine-assembler.h |
diff --git a/src/compiler/raw-machine-assembler.h b/src/compiler/raw-machine-assembler.h |
index 03023b42a00ca695ade4e46a79bae467df1144c1..372141ae8615ca0fb8390303b3d74fe7ea8b470b 100644 |
--- a/src/compiler/raw-machine-assembler.h |
+++ b/src/compiler/raw-machine-assembler.h |
@@ -549,45 +549,25 @@ class RawMachineAssembler { |
// are not covered by the above utility methods. There should rarely be a need |
// to do that outside of testing though. |
- Node* NewNode(const Operator* op) { |
- return MakeNode(op, 0, static_cast<Node**>(NULL)); |
- } |
- |
- Node* NewNode(const Operator* op, Node* n1) { return MakeNode(op, 1, &n1); } |
- |
- Node* NewNode(const Operator* op, Node* n1, Node* n2) { |
- Node* buffer[] = {n1, n2}; |
- return MakeNode(op, arraysize(buffer), buffer); |
- } |
- |
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) { |
- Node* buffer[] = {n1, n2, n3}; |
- return MakeNode(op, arraysize(buffer), buffer); |
- } |
- |
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) { |
- Node* buffer[] = {n1, n2, n3, n4}; |
- return MakeNode(op, arraysize(buffer), buffer); |
+ Node* NewNode(const Operator* op, int value_input_count, |
+ Node** value_inputs) { |
+ return AddNode(op, value_input_count, value_inputs); |
} |
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
- Node* n5) { |
- Node* buffer[] = {n1, n2, n3, n4, n5}; |
- return MakeNode(op, arraysize(buffer), buffer); |
+ Node* NewNode(const Operator* op) { |
+ return AddNode(op, 0, static_cast<Node**>(NULL)); |
Benedikt Meurer
2015/09/23 06:57:12
Nit: use nullptr here, you don't need static_cast
Jarin
2015/09/23 07:09:34
Done.
|
} |
- 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 MakeNode(op, arraysize(nodes), nodes); |
- } |
+ Node* NewNode(const Operator* op, Node* n1) { return AddNode(op, 1, &n1); } |
- Node* NewNode(const Operator* op, int value_input_count, |
- Node** value_inputs) { |
- return MakeNode(op, value_input_count, value_inputs); |
+ template <class... TArgs> |
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, TArgs... args) { |
+ Node* buffer[] = {n1, n2, args...}; |
+ return AddNode(op, arraysize(buffer), buffer); |
} |
private: |
+ Node* AddNode(const Operator* op, int input_count, Node** inputs); |
Node* MakeNode(const Operator* op, int input_count, Node** inputs); |
BasicBlock* Use(Label* label); |
BasicBlock* EnsureBlock(Label* label); |