Mercurial > hg > graal-jvmci-8
comparison src/share/vm/memory/space.hpp @ 20265:5255b195f828
8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS
Reviewed-by: brutisso, tschatzl, stefank
author | mgerdin |
---|---|
date | Wed, 12 Mar 2014 15:22:45 +0100 |
parents | 30c99d8e0f02 |
children | 6c523f5d5440 |
comparison
equal
deleted
inserted
replaced
20264:30c99d8e0f02 | 20265:5255b195f828 |
---|---|
186 virtual void object_iterate(ObjectClosure* blk) = 0; | 186 virtual void object_iterate(ObjectClosure* blk) = 0; |
187 // Similar to object_iterate() except only iterates over | 187 // Similar to object_iterate() except only iterates over |
188 // objects whose internal references point to objects in the space. | 188 // objects whose internal references point to objects in the space. |
189 virtual void safe_object_iterate(ObjectClosure* blk) = 0; | 189 virtual void safe_object_iterate(ObjectClosure* blk) = 0; |
190 | 190 |
191 // Iterate over all objects that intersect with mr, calling "cl->do_object" | |
192 // on each. There is an exception to this: if this closure has already | |
193 // been invoked on an object, it may skip such objects in some cases. This is | |
194 // Most likely to happen in an "upwards" (ascending address) iteration of | |
195 // MemRegions. | |
196 virtual void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl); | |
197 | |
198 // Iterate over as many initialized objects in the space as possible, | 191 // Iterate over as many initialized objects in the space as possible, |
199 // calling "cl.do_object_careful" on each. Return NULL if all objects | 192 // calling "cl.do_object_careful" on each. Return NULL if all objects |
200 // in the space (at the start of the iteration) were iterated over. | 193 // in the space (at the start of the iteration) were iterated over. |
201 // Return an address indicating the extent of the iteration in the | 194 // Return an address indicating the extent of the iteration in the |
202 // event that the iteration had to return because of finding an | 195 // event that the iteration had to return because of finding an |
556 void oop_iterate(ExtendedOopClosure* cl); | 549 void oop_iterate(ExtendedOopClosure* cl); |
557 void object_iterate(ObjectClosure* blk); | 550 void object_iterate(ObjectClosure* blk); |
558 // For contiguous spaces this method will iterate safely over objects | 551 // For contiguous spaces this method will iterate safely over objects |
559 // in the space (i.e., between bottom and top) when at a safepoint. | 552 // in the space (i.e., between bottom and top) when at a safepoint. |
560 void safe_object_iterate(ObjectClosure* blk); | 553 void safe_object_iterate(ObjectClosure* blk); |
561 void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl); | |
562 // iterates on objects up to the safe limit | 554 // iterates on objects up to the safe limit |
563 HeapWord* object_iterate_careful(ObjectClosureCareful* cl); | 555 HeapWord* object_iterate_careful(ObjectClosureCareful* cl); |
564 HeapWord* concurrent_iteration_safe_limit() { | 556 HeapWord* concurrent_iteration_safe_limit() { |
565 assert(_concurrent_iteration_safe_limit <= top(), | 557 assert(_concurrent_iteration_safe_limit <= top(), |
566 "_concurrent_iteration_safe_limit update missed"); | 558 "_concurrent_iteration_safe_limit update missed"); |