Index: runtime/vm/heap.h |
diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h |
index 4e59ff0f64591ab0118a626afb99c7bfed666e99..392e6f375779051abe899c13b8ed7ad7f291399f 100644 |
--- a/runtime/vm/heap.h |
+++ b/runtime/vm/heap.h |
@@ -17,6 +17,7 @@ namespace dart { |
// Forward declarations. |
class Isolate; |
class ObjectPointerVisitor; |
+class ObjectSet; |
class VirtualMemory; |
DECLARE_FLAG(bool, verbose_gc); |
@@ -80,11 +81,17 @@ class Heap { |
bool CodeContains(uword addr) const; |
bool StubCodeContains(uword addr) const; |
+ // Visit all pointers. |
+ void IteratePointers(ObjectPointerVisitor* visitor); |
+ |
// Visit all pointers in the space. |
void IterateNewPointers(ObjectPointerVisitor* visitor); |
void IterateOldPointers(ObjectPointerVisitor* visitor); |
void IterateCodePointers(ObjectPointerVisitor* visitor); |
+ // Visit all objects. |
+ void IterateObjects(ObjectVisitor* visitor); |
+ |
// Visit all object in the space. |
void IterateNewObjects(ObjectVisitor* visitor); |
void IterateOldObjects(ObjectVisitor* visitor); |
@@ -122,6 +129,11 @@ class Heap { |
// Print heap sizes. |
void PrintSizes() const; |
+ // Returns the [lowest, highest) addresses in the heap. |
+ void StartEndAddress(uword* start, uword* end) const; |
+ |
+ ObjectSet* CreateAllocatedObjectSet() const; |
+ |
// Generates a profile of the current and VM isolate heaps. |
void Profile(Dart_HeapProfileWriteCallback callback, void* stream) const; |