src/share/vm/memory/space.hpp

changeset 3751
a05a695ea044
parent 3711
b632e80fc9dc
child 3900
d2a62e0f25eb
equal deleted inserted replaced
3740:36538fd1225e 3751:a05a695ea044
878 // in the space (i.e., between bottom and top) when at a safepoint. 878 // in the space (i.e., between bottom and top) when at a safepoint.
879 void safe_object_iterate(ObjectClosure* blk); 879 void safe_object_iterate(ObjectClosure* blk);
880 void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl); 880 void object_iterate_mem(MemRegion mr, UpwardsObjectClosure* cl);
881 // iterates on objects up to the safe limit 881 // iterates on objects up to the safe limit
882 HeapWord* object_iterate_careful(ObjectClosureCareful* cl); 882 HeapWord* object_iterate_careful(ObjectClosureCareful* cl);
883 inline HeapWord* concurrent_iteration_safe_limit(); 883 HeapWord* concurrent_iteration_safe_limit() {
884 assert(_concurrent_iteration_safe_limit <= top(),
885 "_concurrent_iteration_safe_limit update missed");
886 return _concurrent_iteration_safe_limit;
887 }
884 // changes the safe limit, all objects from bottom() to the new 888 // changes the safe limit, all objects from bottom() to the new
885 // limit should be properly initialized 889 // limit should be properly initialized
886 inline void set_concurrent_iteration_safe_limit(HeapWord* new_limit); 890 void set_concurrent_iteration_safe_limit(HeapWord* new_limit) {
891 assert(new_limit <= top(), "uninitialized objects in the safe range");
892 _concurrent_iteration_safe_limit = new_limit;
893 }
887 894
888 #ifndef SERIALGC 895 #ifndef SERIALGC
889 // In support of parallel oop_iterate. 896 // In support of parallel oop_iterate.
890 #define ContigSpace_PAR_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ 897 #define ContigSpace_PAR_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \
891 void par_oop_iterate(MemRegion mr, OopClosureType* blk); 898 void par_oop_iterate(MemRegion mr, OopClosureType* blk);

mercurial