< prev index next >

src/hotspot/share/gc/g1/g1ConcurrentMark.cpp

Print this page
rev 60059 : imported patch 8210462-fix-remaining-mentions-of-im

*** 681,691 **** r->note_start_of_marking(); return false; } }; ! void G1ConcurrentMark::pre_initial_mark() { assert_at_safepoint_on_vm_thread(); // Reset marking state. reset(); --- 681,691 ---- r->note_start_of_marking(); return false; } }; ! void G1ConcurrentMark::pre_concurrent_start() { assert_at_safepoint_on_vm_thread(); // Reset marking state. reset();
*** 695,705 **** _root_regions.reset(); } ! void G1ConcurrentMark::post_initial_mark() { // Start Concurrent Marking weak-reference discovery. ReferenceProcessor* rp = _g1h->ref_processor_cm(); // enable ("weak") refs discovery rp->enable_discovery(); rp->setup_policy(false); // snapshot the soft ref policy to be used in this cycle --- 695,705 ---- _root_regions.reset(); } ! void G1ConcurrentMark::post_concurrent_start() { // Start Concurrent Marking weak-reference discovery. ReferenceProcessor* rp = _g1h->ref_processor_cm(); // enable ("weak") refs discovery rp->enable_discovery(); rp->setup_policy(false); // snapshot the soft ref policy to be used in this cycle
*** 712,722 **** _root_regions.prepare_for_scan(); // update_g1_committed() will be called at the end of an evac pause // when marking is on. So, it's also called at the end of the ! // initial-mark pause to update the heap end, if the heap expands // during it. No need to call it here. } /* * Notice that in the next two methods, we actually leave the STS --- 712,722 ---- _root_regions.prepare_for_scan(); // update_g1_committed() will be called at the end of an evac pause // when marking is on. So, it's also called at the end of the ! // concurrent start pause to update the heap end, if the heap expands // during it. No need to call it here. } /* * Notice that in the next two methods, we actually leave the STS
*** 2409,2419 **** The data structures that it uses to do marking work are the following: (1) Marking Bitmap. If there are gray objects that appear only on the bitmap (this happens either when dealing with an overflow ! or when the initial marking phase has simply marked the roots and didn't push them on the stack), then tasks claim heap regions whose bitmap they then scan to find gray objects. A global finger indicates where the end of the last claimed region is. A local finger indicates how far into the region a task has scanned. The two fingers are used to determine how to gray an --- 2409,2419 ---- The data structures that it uses to do marking work are the following: (1) Marking Bitmap. If there are gray objects that appear only on the bitmap (this happens either when dealing with an overflow ! or when the concurrent start pause has simply marked the roots and didn't push them on the stack), then tasks claim heap regions whose bitmap they then scan to find gray objects. A global finger indicates where the end of the last claimed region is. A local finger indicates how far into the region a task has scanned. The two fingers are used to determine how to gray an
< prev index next >