--- old/src/share/vm/gc/g1/g1RemSet.cpp 2017-07-12 12:13:42.316604413 +0200 +++ new/src/share/vm/gc/g1/g1RemSet.cpp 2017-07-12 12:13:42.217601343 +0200 @@ -284,7 +284,6 @@ G1HotCardCache* hot_card_cache) : _g1(g1), _scan_state(new G1RemSetScanState()), - _refine_card_concurrently_cl(), _num_conc_refined_cards(0), _ct_bs(ct_bs), _g1p(_g1->g1_policy()), @@ -294,8 +293,7 @@ { // Initialize the card queue set used to hold cards containing // references into the collection set. - _into_cset_dirty_card_queue_set.initialize(NULL, // Should never be called by the Java code - DirtyCardQ_CBL_mon, + _into_cset_dirty_card_queue_set.initialize(DirtyCardQ_CBL_mon, DirtyCardQ_FL_lock, -1, // never trigger processing -1, // no limit on length @@ -448,17 +446,6 @@ p->record_time_secs(G1GCPhaseTimes::CodeRoots, worker_i, cl.strong_code_root_scan_time_sec()); } -bool G1RefineCardConcurrentlyClosure::do_card_ptr(jbyte* card_ptr, uint worker_i) { - G1CollectedHeap::heap()->g1_rem_set()->refine_card_concurrently(card_ptr, worker_i); - - if (SuspendibleThreadSet::should_yield()) { - // Caller will actually yield. - return false; - } - // Otherwise, we finished successfully; return true. - return true; -} - // Closure used for updating RSets and recording references that // point into the collection set. Only called during an // evacuation pause. @@ -813,7 +800,7 @@ Log(gc, remset, exit) log; if (log.is_trace()) { log.trace(" Cumulative RS summary"); - G1RemSetSummary current; + G1RemSetSummary current(this); ResourceMark rm; current.print_on(log.trace_stream()); }