| Index: src/compiler/node-marker.h
|
| diff --git a/src/compiler/node-marker.h b/src/compiler/node-marker.h
|
| index 5ef2063f18715cc5c59ddb9816f1de37c5ae2f1e..84666d5f076747d7e1be76ced39f8d7c10dd4c79 100644
|
| --- a/src/compiler/node-marker.h
|
| +++ b/src/compiler/node-marker.h
|
| @@ -42,9 +42,22 @@ class NodeMarkerBase {
|
| DISALLOW_COPY_AND_ASSIGN(NodeMarkerBase);
|
| };
|
|
|
| -
|
| -// A NodeMarker uses monotonically increasing marks to assign local "states"
|
| -// to nodes. Only one NodeMarker per graph is valid at a given time.
|
| +// A NodeMarker assigns a local "state" to every node of a graph in constant
|
| +// memory. Only one NodeMarker per graph is valid at a given time, that is,
|
| +// after you create a NodeMarker you should no longer use NodeMarkers that
|
| +// were created earlier. Internally, the local state is stored in the Node
|
| +// structure.
|
| +//
|
| +// When you initialize a NodeMarker, all the local states are conceptually
|
| +// set to State(0) in constant time.
|
| +//
|
| +// In its current implementation, in debug mode NodeMarker will try to
|
| +// (efficiently) detect invalid use of an older NodeMarker. Namely, if you get
|
| +// or set a node with a NodeMarker, and then get or set that node
|
| +// with an older NodeMarker you will get a crash.
|
| +//
|
| +// GraphReducer uses a NodeMarker, so individual Reducers cannot use a
|
| +// NodeMarker.
|
| template <typename State>
|
| class NodeMarker : public NodeMarkerBase {
|
| public:
|
|
|