Index: test/cctest/compiler/graph-builder.h |
diff --git a/test/cctest/compiler/graph-builder.h b/test/cctest/compiler/graph-builder.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b83c474ba55233294997e21e0b3d04913f409404 |
--- /dev/null |
+++ b/test/cctest/compiler/graph-builder.h |
@@ -0,0 +1,82 @@ |
+// Copyright 2013 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_COMPILER_GRAPH_BUILDER_H_ |
+#define V8_COMPILER_GRAPH_BUILDER_H_ |
Michael Starzinger
2015/02/02 18:08:24
This entire file looks like a remnant.
titzer
2015/02/02 18:26:48
Done.
|
+ |
+#include "src/v8.h" |
+ |
+#include "src/allocation.h" |
+#include "src/compiler/common-operator.h" |
+#include "src/compiler/graph.h" |
+#include "src/compiler/node.h" |
+ |
+namespace v8 { |
+namespace internal { |
+namespace compiler { |
+ |
+// A common base class for anything that creates nodes in a graph. |
+class GraphBuilder { |
+ public: |
+ GraphBuilder(Isolate* isolate, Graph* graph) |
+ : isolate_(isolate), graph_(graph) {} |
+ virtual ~GraphBuilder() {} |
+ |
+ Node* NewNode(const Operator* op, bool incomplete = false) { |
+ return MakeNode(op, 0, static_cast<Node**>(NULL), incomplete); |
+ } |
+ |
+ Node* NewNode(const Operator* op, Node* n1) { |
+ return MakeNode(op, 1, &n1, false); |
+ } |
+ |
+ Node* NewNode(const Operator* op, Node* n1, Node* n2) { |
+ Node* buffer[] = {n1, n2}; |
+ return MakeNode(op, arraysize(buffer), buffer, false); |
+ } |
+ |
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) { |
+ Node* buffer[] = {n1, n2, n3}; |
+ return MakeNode(op, arraysize(buffer), buffer, false); |
+ } |
+ |
+ 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, false); |
+ } |
+ |
+ 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, false); |
+ } |
+ |
+ 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, false); |
+ } |
+ |
+ Node* NewNode(const Operator* op, int value_input_count, Node** value_inputs, |
+ bool incomplete = false) { |
+ return MakeNode(op, value_input_count, value_inputs, incomplete); |
+ } |
+ |
+ Isolate* isolate() const { return isolate_; } |
+ Graph* graph() const { return graph_; } |
+ |
+ protected: |
+ // Base implementation used by all factory methods. |
+ virtual Node* MakeNode(const Operator* op, int value_input_count, |
+ Node** value_inputs, bool incomplete) = 0; |
+ |
+ private: |
+ Isolate* isolate_; |
+ Graph* graph_; |
+}; |
+} |
+} |
+} // namespace v8::internal::compiler |
+ |
+#endif // V8_COMPILER_GRAPH_BUILDER_H__ |