Index: src/heap/objects-visiting.h |
diff --git a/src/heap/objects-visiting.h b/src/heap/objects-visiting.h |
index c9d1c05c93c297cefa0aba3bbb193b33c62f870f..c578a42d642697e9355a569d326a33dddc942d2d 100644 |
--- a/src/heap/objects-visiting.h |
+++ b/src/heap/objects-visiting.h |
@@ -395,9 +395,16 @@ VisitorDispatchTable<typename StaticMarkingVisitor<StaticVisitor>::Callback> |
template <typename ResultType, typename ConcreteVisitor> |
class HeapVisitor : public ObjectVisitor { |
public: |
- ResultType IterateBody(HeapObject* object); |
+ ResultType Visit(HeapObject* object); |
protected: |
+ // A guard predicate for visiting the object. |
+ // If it returns false then the default implementations of the Visit* |
+ // functions bailout from iterating the object pointers. |
+ virtual bool ShouldVisit(HeapObject* object); |
+ // A callback for visiting the map pointer in the object header. |
+ virtual void VisitMapPointer(HeapObject* host, HeapObject** map); |
+ |
#define VISIT(type) virtual ResultType Visit##type(Map* map, type* object); |
TYPED_VISITOR_ID_LIST(VISIT) |
#undef VISIT |