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