1 // Copyright 2013 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.
5 #ifndef V8_COMPILER_GENERIC_GRAPH_H_
6 #define V8_COMPILER_GENERIC_GRAPH_H_
8 #include "src/compiler/generic-node.h"
17 class GenericGraphBase : public ZoneObject {
19 explicit GenericGraphBase(Zone* zone) : zone_(zone), next_node_id_(0) {}
21 Zone* zone() const { return zone_; }
23 NodeId NextNodeID() { return next_node_id_++; }
24 NodeId NodeCount() const { return next_node_id_; }
32 class GenericGraph : public GenericGraphBase {
34 explicit GenericGraph(Zone* zone)
35 : GenericGraphBase(zone), start_(NULL), end_(NULL) {}
37 V* start() { return start_; }
38 V* end() { return end_; }
40 void SetStart(V* start) { start_ = start; }
41 void SetEnd(V* end) { end_ = end; }
47 DISALLOW_COPY_AND_ASSIGN(GenericGraph);
51 } // namespace v8::internal::compiler
53 #endif // V8_COMPILER_GENERIC_GRAPH_H_