1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_CCTEST_COMPILER_GRAPH_TESTER_H_
6 #define V8_CCTEST_COMPILER_GRAPH_TESTER_H_
7 
8 #include "src/v8.h"
9 #include "test/cctest/cctest.h"
10 
11 #include "src/compiler/common-operator.h"
12 #include "src/compiler/graph.h"
13 
14 namespace v8 {
15 namespace internal {
16 namespace compiler {
17 
18 class GraphTester : public HandleAndZoneScope, public Graph {
19  public:
GraphTester()20   GraphTester() : Graph(main_zone()) {}
21 };
22 
23 
24 class GraphWithStartNodeTester : public GraphTester {
25  public:
26   explicit GraphWithStartNodeTester(int num_parameters = 0)
builder_(main_zone ())27       : builder_(main_zone()),
28         start_node_(NewNode(builder_.Start(num_parameters))) {
29     SetStart(start_node_);
30   }
31 
start_node()32   Node* start_node() { return start_node_; }
33 
34  private:
35   CommonOperatorBuilder builder_;
36   Node* start_node_;
37 };
38 }
39 }
40 }  // namespace v8::internal::compiler
41 
42 #endif  // V8_CCTEST_COMPILER_GRAPH_TESTER_H_
43