< prev index next >

src/hotspot/share/gc/g1/g1OopClosures.inline.hpp

Print this page
rev 49677 : imported patch 8200426-g1h-refactoring
rev 49678 : imported patch 8200426-sangheon-review
rev 49680 : imported patch 6672778-partial-queue-trimming
rev 49681 : [mq]: 6672778-refactoring

*** 65,74 **** --- 65,78 ---- if (state.is_humongous()) { _g1h->set_humongous_is_live(obj); } } + inline void G1ScanClosureBase::trim_queue_partially() { + _par_scan_state->trim_queue_partially(); + } + template <class T> inline void G1ScanEvacuatedObjClosure::do_oop_nv(T* p) { T heap_oop = RawAccess<>::oop_load(p); if (CompressedOops::is_null(heap_oop)) {
*** 223,232 **** --- 227,240 ---- // well-formed. So we have to read its size from its from-space // image which we know should not be changing. _cm->mark_in_next_bitmap(_worker_id, to_obj, from_obj->size()); } + void G1ParCopyHelper::trim_queue_partially() { + _par_scan_state->trim_queue_partially(); + } + template <G1Barrier barrier, G1Mark do_mark_object> template <class T> void G1ParCopyClosure<barrier, do_mark_object>::do_oop_work(T* p) { T heap_oop = RawAccess<>::oop_load(p);
*** 267,276 **** --- 275,285 ---- // closure during an initial mark pause then attempt to mark the object. if (do_mark_object == G1MarkFromRoot) { mark_object(obj); } } + trim_queue_partially(); } template <class T> void G1RebuildRemSetClosure::do_oop_nv(T* p) { oop const obj = RawAccess<MO_VOLATILE>::oop_load(p); if (obj == NULL) {
< prev index next >