Home | History | Annotate | Download | only in compiler
      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:
     20   GraphTester() : Graph(main_zone()) {}
     21 };
     22 
     23 
     24 class GraphWithStartNodeTester : public GraphTester {
     25  public:
     26   explicit GraphWithStartNodeTester(int num_parameters = 0)
     27       : builder_(main_zone()),
     28         start_node_(NewNode(builder_.Start(num_parameters))) {
     29     SetStart(start_node_);
     30   }
     31 
     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