src/share/vm/memory/space.hpp

Print this page

        

*** 878,891 **** // in the space (i.e., between bottom and top) when at a safepoint. void safe_object_iterate(ObjectClosure* blk); void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl); // iterates on objects up to the safe limit HeapWord* object_iterate_careful(ObjectClosureCareful* cl); ! inline HeapWord* concurrent_iteration_safe_limit(); // changes the safe limit, all objects from bottom() to the new // limit should be properly initialized ! inline void set_concurrent_iteration_safe_limit(HeapWord* new_limit); #ifndef SERIALGC // In support of parallel oop_iterate. #define ContigSpace_PAR_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ void par_oop_iterate(MemRegion mr, OopClosureType* blk); --- 878,898 ---- // in the space (i.e., between bottom and top) when at a safepoint. void safe_object_iterate(ObjectClosure* blk); void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl); // iterates on objects up to the safe limit HeapWord* object_iterate_careful(ObjectClosureCareful* cl); ! HeapWord* concurrent_iteration_safe_limit() { ! assert(_concurrent_iteration_safe_limit <= top(), ! "_concurrent_iteration_safe_limit update missed"); ! return _concurrent_iteration_safe_limit; ! } // changes the safe limit, all objects from bottom() to the new // limit should be properly initialized ! void set_concurrent_iteration_safe_limit(HeapWord* new_limit) { ! assert(new_limit <= top(), "uninitialized objects in the safe range"); ! _concurrent_iteration_safe_limit = new_limit; ! } #ifndef SERIALGC // In support of parallel oop_iterate. #define ContigSpace_PAR_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ void par_oop_iterate(MemRegion mr, OopClosureType* blk);