Index: src/compiler/node.h |
diff --git a/src/compiler/node.h b/src/compiler/node.h |
index 2295b7b5e3e9dfba6a161ca8b9c6b768bf26ee16..9d3a2b039135dd66c7c1cdbfe5a4486128d6496d 100644 |
--- a/src/compiler/node.h |
+++ b/src/compiler/node.h |
@@ -6,14 +6,11 @@ |
#define V8_COMPILER_NODE_H_ |
#include <deque> |
-#include <set> |
#include <vector> |
-#include "src/v8.h" |
- |
#include "src/compiler/opcodes.h" |
#include "src/compiler/operator.h" |
-#include "src/types.h" |
+#include "src/types-inl.h" |
#include "src/zone.h" |
#include "src/zone-allocator.h" |
#include "src/zone-containers.h" |
@@ -32,9 +29,11 @@ class Graph; |
// {NodeMarker} has a range of values that indicate states of a node. |
typedef uint32_t Mark; |
+ |
// NodeIds are identifying numbers for nodes that can be used to index auxiliary |
// out-of-line data associated with each node. |
-typedef int NodeId; |
+typedef int32_t NodeId; |
+ |
// A Node is the basic primitive of graphs. Nodes are chained together by |
// input/use chains but by default otherwise contain only an identifying number |
@@ -47,11 +46,6 @@ typedef int NodeId; |
// by the Node's id. |
class Node FINAL { |
public: |
- void Initialize(const Operator* op) { |
- set_op(op); |
- set_mark(0); |
- } |
- |
bool IsDead() const { return InputCount() > 0 && InputAt(0) == NULL; } |
void Kill(); |
@@ -144,8 +138,8 @@ class Node FINAL { |
bool OwnedBy(Node* owner) const; |
- static Node* New(Graph* graph, int input_count, Node** inputs, |
- bool has_extensible_inputs); |
+ static Node* New(Zone* zone, NodeId id, const Operator* op, int input_count, |
+ Node** inputs, bool has_extensible_inputs); |
protected: |
friend class Graph; |
@@ -183,13 +177,13 @@ class Node FINAL { |
void* operator new(size_t, void* location) { return location; } |
private: |
- inline Node(NodeId id, int input_count, int reserve_input_count); |
+ inline Node(NodeId id, const Operator* op, int input_count, |
+ int reserve_input_count); |
typedef ZoneDeque<Input> InputDeque; |
+ friend class NodeMarkerBase; |
friend class NodeProperties; |
- template <typename State> |
- friend class NodeMarker; |
// Only NodeProperties should manipulate the bounds. |
Bounds bounds() { return bounds_; } |
@@ -441,10 +435,6 @@ class Node::Uses::iterator { |
std::ostream& operator<<(std::ostream& os, const Node& n); |
-typedef std::set<Node*, std::less<Node*>, zone_allocator<Node*> > NodeSet; |
-typedef NodeSet::iterator NodeSetIter; |
-typedef NodeSet::reverse_iterator NodeSetRIter; |
- |
typedef ZoneDeque<Node*> NodeDeque; |
typedef ZoneVector<Node*> NodeVector; |