< prev index next >

src/share/vm/gc/cms/cmsOopClosures.inline.hpp

Print this page

        

*** 29,48 **** #include "gc/cms/concurrentMarkSweepGeneration.hpp" #include "gc/shared/taskqueue.inline.hpp" #include "oops/oop.inline.hpp" // Trim our work_queue so its length is below max at return ! inline void Par_MarkRefsIntoAndScanClosure::trim_queue(uint max) { while (_work_queue->size() > max) { oop newOop; if (_work_queue->pop_local(newOop)) { assert(newOop->is_oop(), "Expected an oop"); assert(_bit_map->isMarked((HeapWord*)newOop), "only grey objects on this stack"); // iterate over the oops in this oop, marking and pushing // the ones in CMS heap (i.e. in _span). ! newOop->oop_iterate(&_par_pushAndMarkClosure); } } } // MetadataAwareOopClosure and MetadataAwareOopsInGenClosure are duplicated, --- 29,48 ---- #include "gc/cms/concurrentMarkSweepGeneration.hpp" #include "gc/shared/taskqueue.inline.hpp" #include "oops/oop.inline.hpp" // Trim our work_queue so its length is below max at return ! inline void ParMarkRefsIntoAndScanClosure::trim_queue(uint max) { while (_work_queue->size() > max) { oop newOop; if (_work_queue->pop_local(newOop)) { assert(newOop->is_oop(), "Expected an oop"); assert(_bit_map->isMarked((HeapWord*)newOop), "only grey objects on this stack"); // iterate over the oops in this oop, marking and pushing // the ones in CMS heap (i.e. in _span). ! newOop->oop_iterate(&_parPushAndMarkClosure); } } } // MetadataAwareOopClosure and MetadataAwareOopsInGenClosure are duplicated,
< prev index next >