Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: src/compiler/raw-machine-assembler.h

Issue 1347353003: [turbofan] Checking of input counts on node creation (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Split the CL (no node editor yet) Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698