| Index: src/heap.h
|
| diff --git a/src/heap.h b/src/heap.h
|
| index 5eefc1cf0cd22f2105ff56a249f6be809999f60f..42546af5d3e4c6aa0f663903226544a0af884cb8 100644
|
| --- a/src/heap.h
|
| +++ b/src/heap.h
|
| @@ -2339,37 +2339,40 @@ class VerifyPointersVisitor: public ObjectVisitor {
|
| };
|
|
|
|
|
| -// Space iterator for iterating over all spaces of the heap.
|
| -// Returns each space in turn, and null when it is done.
|
| +// Space iterator for iterating over all spaces of the heap. Returns each space
|
| +// in turn, and null when it is done.
|
| class AllSpaces BASE_EMBEDDED {
|
| public:
|
| + explicit AllSpaces(Heap* heap) : heap_(heap), counter_(FIRST_SPACE) {}
|
| Space* next();
|
| - AllSpaces() { counter_ = FIRST_SPACE; }
|
| private:
|
| + Heap* heap_;
|
| int counter_;
|
| };
|
|
|
|
|
| // Space iterator for iterating over all old spaces of the heap: Old pointer
|
| -// space, old data space and code space.
|
| -// Returns each space in turn, and null when it is done.
|
| +// space, old data space and code space. Returns each space in turn, and null
|
| +// when it is done.
|
| class OldSpaces BASE_EMBEDDED {
|
| public:
|
| + explicit OldSpaces(Heap* heap) : heap_(heap), counter_(OLD_POINTER_SPACE) {}
|
| OldSpace* next();
|
| - OldSpaces() { counter_ = OLD_POINTER_SPACE; }
|
| private:
|
| + Heap* heap_;
|
| int counter_;
|
| };
|
|
|
|
|
| -// Space iterator for iterating over all the paged spaces of the heap:
|
| -// Map space, old pointer space, old data space, code space and cell space.
|
| -// Returns each space in turn, and null when it is done.
|
| +// Space iterator for iterating over all the paged spaces of the heap: Map
|
| +// space, old pointer space, old data space, code space and cell space. Returns
|
| +// each space in turn, and null when it is done.
|
| class PagedSpaces BASE_EMBEDDED {
|
| public:
|
| + explicit PagedSpaces(Heap* heap) : heap_(heap), counter_(OLD_POINTER_SPACE) {}
|
| PagedSpace* next();
|
| - PagedSpaces() { counter_ = OLD_POINTER_SPACE; }
|
| private:
|
| + Heap* heap_;
|
| int counter_;
|
| };
|
|
|
| @@ -2379,8 +2382,8 @@ class PagedSpaces BASE_EMBEDDED {
|
| // returned object iterators is handled by the space iterator.
|
| class SpaceIterator : public Malloced {
|
| public:
|
| - SpaceIterator();
|
| - explicit SpaceIterator(HeapObjectCallback size_func);
|
| + explicit SpaceIterator(Heap* heap);
|
| + SpaceIterator(Heap* heap, HeapObjectCallback size_func);
|
| virtual ~SpaceIterator();
|
|
|
| bool has_next();
|
| @@ -2389,6 +2392,7 @@ class SpaceIterator : public Malloced {
|
| private:
|
| ObjectIterator* CreateIterator();
|
|
|
| + Heap* heap_;
|
| int current_space_; // from enum AllocationSpace.
|
| ObjectIterator* iterator_; // object iterator for the current space.
|
| HeapObjectCallback size_func_;
|
| @@ -2413,8 +2417,8 @@ class HeapIterator BASE_EMBEDDED {
|
| kFilterUnreachable
|
| };
|
|
|
| - HeapIterator();
|
| - explicit HeapIterator(HeapObjectsFiltering filtering);
|
| + explicit HeapIterator(Heap* heap);
|
| + HeapIterator(Heap* heap, HeapObjectsFiltering filtering);
|
| ~HeapIterator();
|
|
|
| HeapObject* next();
|
| @@ -2427,6 +2431,7 @@ class HeapIterator BASE_EMBEDDED {
|
| void Shutdown();
|
| HeapObject* NextObject();
|
|
|
| + Heap* heap_;
|
| HeapObjectsFiltering filtering_;
|
| HeapObjectsFilter* filter_;
|
| // Space iterator for iterating all the spaces.
|
|
|