equal
deleted
inserted
replaced
173 |
173 |
174 // Iterate over all objects in the space, calling "cl.do_object" on |
174 // Iterate over all objects in the space, calling "cl.do_object" on |
175 // each. Objects allocated by applications of the closure are not |
175 // each. Objects allocated by applications of the closure are not |
176 // included in the iteration. |
176 // included in the iteration. |
177 virtual void object_iterate(ObjectClosure* blk) = 0; |
177 virtual void object_iterate(ObjectClosure* blk) = 0; |
178 // Similar to object_iterate() except only iterates over |
|
179 // objects whose internal references point to objects in the space. |
|
180 virtual void safe_object_iterate(ObjectClosure* blk) = 0; |
|
181 |
178 |
182 // Create and return a new dirty card to oop closure. Can be |
179 // Create and return a new dirty card to oop closure. Can be |
183 // overridden to return the appropriate type of closure |
180 // overridden to return the appropriate type of closure |
184 // depending on the type of space in which the closure will |
181 // depending on the type of space in which the closure will |
185 // operate. ResourceArea allocated. |
182 // operate. ResourceArea allocated. |
582 HeapWord* allocate_aligned(size_t word_size); |
579 HeapWord* allocate_aligned(size_t word_size); |
583 |
580 |
584 // Iteration |
581 // Iteration |
585 void oop_iterate(OopIterateClosure* cl); |
582 void oop_iterate(OopIterateClosure* cl); |
586 void object_iterate(ObjectClosure* blk); |
583 void object_iterate(ObjectClosure* blk); |
587 // For contiguous spaces this method will iterate safely over objects |
|
588 // in the space (i.e., between bottom and top) when at a safepoint. |
|
589 void safe_object_iterate(ObjectClosure* blk); |
|
590 |
584 |
591 // Iterate over as many initialized objects in the space as possible, |
585 // Iterate over as many initialized objects in the space as possible, |
592 // calling "cl.do_object_careful" on each. Return NULL if all objects |
586 // calling "cl.do_object_careful" on each. Return NULL if all objects |
593 // in the space (at the start of the iteration) were iterated over. |
587 // in the space (at the start of the iteration) were iterated over. |
594 // Return an address indicating the extent of the iteration in the |
588 // Return an address indicating the extent of the iteration in the |