Index: src/compiler/node-marker.cc |
diff --git a/src/compiler/node-marker.cc b/src/compiler/node-marker.cc |
index 4bf12f9751b62f89cbc65d6f585690a26a5f94b9..fb7c1e192abb64ccb293d2cef67471cf18335471 100644 |
--- a/src/compiler/node-marker.cc |
+++ b/src/compiler/node-marker.cc |
@@ -13,8 +13,8 @@ namespace compiler { |
NodeMarkerBase::NodeMarkerBase(Graph* graph, uint32_t num_states) |
: mark_min_(graph->mark_max_), mark_max_(graph->mark_max_ += num_states) { |
- DCHECK(num_states > 0); // user error! |
- DCHECK(mark_max_ > mark_min_); // check for wraparound. |
+ DCHECK_NE(0u, num_states); // user error! |
+ DCHECK_LT(mark_min_, mark_max_); // check for wraparound. |
} |
@@ -35,6 +35,14 @@ void NodeMarkerBase::Set(Node* node, Mark mark) { |
node->set_mark(mark + mark_min_); |
} |
+ |
+void NodeMarkerBase::Reset(Graph* graph) { |
+ uint32_t const num_states = mark_max_ - mark_min_; |
+ mark_min_ = graph->mark_max_; |
+ mark_max_ = graph->mark_max_ += num_states; |
+ DCHECK_LT(mark_min_, mark_max_); // check for wraparound. |
+} |
+ |
} // namespace compiler |
} // namespace internal |
} // namespace v8 |