1.1 --- a/src/share/vm/gc_implementation/g1/satbQueue.cpp Tue Jul 01 09:03:55 2014 +0200 1.2 +++ b/src/share/vm/gc_implementation/g1/satbQueue.cpp Mon Jul 07 10:12:40 2014 +0200 1.3 @@ -285,37 +285,6 @@ 1.4 _par_closures[i] = par_closure; 1.5 } 1.6 1.7 -void SATBMarkQueueSet::iterate_closure_all_threads() { 1.8 - for(JavaThread* t = Threads::first(); t; t = t->next()) { 1.9 - t->satb_mark_queue().apply_closure_and_empty(_closure); 1.10 - } 1.11 - shared_satb_queue()->apply_closure_and_empty(_closure); 1.12 -} 1.13 - 1.14 -void SATBMarkQueueSet::par_iterate_closure_all_threads(uint worker) { 1.15 - SharedHeap* sh = SharedHeap::heap(); 1.16 - int parity = sh->strong_roots_parity(); 1.17 - 1.18 - for(JavaThread* t = Threads::first(); t; t = t->next()) { 1.19 - if (t->claim_oops_do(true, parity)) { 1.20 - t->satb_mark_queue().apply_closure_and_empty(_par_closures[worker]); 1.21 - } 1.22 - } 1.23 - 1.24 - // We also need to claim the VMThread so that its parity is updated 1.25 - // otherwise the next call to Thread::possibly_parallel_oops_do inside 1.26 - // a StrongRootsScope might skip the VMThread because it has a stale 1.27 - // parity that matches the parity set by the StrongRootsScope 1.28 - // 1.29 - // Whichever worker succeeds in claiming the VMThread gets to do 1.30 - // the shared queue. 1.31 - 1.32 - VMThread* vmt = VMThread::vm_thread(); 1.33 - if (vmt->claim_oops_do(true, parity)) { 1.34 - shared_satb_queue()->apply_closure_and_empty(_par_closures[worker]); 1.35 - } 1.36 -} 1.37 - 1.38 bool SATBMarkQueueSet::apply_closure_to_completed_buffer_work(bool par, 1.39 uint worker) { 1.40 BufferNode* nd = NULL;