| // Copyright 2014 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_CCTEST_COMPILER_GRAPH_TESTER_H_ |
| #define V8_CCTEST_COMPILER_GRAPH_TESTER_H_ |
| |
| #include "src/v8.h" |
| #include "test/cctest/cctest.h" |
| |
| #include "src/compiler/common-operator.h" |
| #include "src/compiler/graph.h" |
| |
| namespace v8 { |
| namespace internal { |
| namespace compiler { |
| |
| class GraphTester : public HandleAndZoneScope, public Graph { |
| public: |
| GraphTester() : Graph(main_zone()) {} |
| }; |
| |
| |
| class GraphWithStartNodeTester : public GraphTester { |
| public: |
| explicit GraphWithStartNodeTester(int num_parameters = 0) |
| : builder_(main_zone()), |
| start_node_(NewNode(builder_.Start(num_parameters))) { |
| SetStart(start_node_); |
| } |
| |
| Node* start_node() { return start_node_; } |
| |
| private: |
| CommonOperatorBuilder builder_; |
| Node* start_node_; |
| }; |
| } |
| } |
| } // namespace v8::internal::compiler |
| |
| #endif // V8_CCTEST_COMPILER_GRAPH_TESTER_H_ |