< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page
rev 13232 : imported patch parallel-fullgc-stefanj
rev 13237 : imported patch 8183226-periodic-rem-set-summary-accesses-uninitialized-stuff
rev 13238 : imported patch 8183226-eridk-sjohanss-review
rev 13240 : imported patch 8183128-cleanup-refinecardtableentryclosure
rev 13241 : imported patch 8183128-erikd-review

*** 1637,1647 **** return result; } jint G1CollectedHeap::initialize_concurrent_refinement() { jint ecode = JNI_OK; ! _cg1r = ConcurrentG1Refine::create(_g1_rem_set->refine_card_concurrently_closure(), &ecode); return ecode; } jint G1CollectedHeap::initialize() { CollectedHeap::pre_initialize(); --- 1637,1647 ---- return result; } jint G1CollectedHeap::initialize_concurrent_refinement() { jint ecode = JNI_OK; ! _cg1r = ConcurrentG1Refine::create(&ecode); return ecode; } jint G1CollectedHeap::initialize() { CollectedHeap::pre_initialize();
*** 1794,1814 **** jint ecode = initialize_concurrent_refinement(); if (ecode != JNI_OK) { return ecode; } ! JavaThread::dirty_card_queue_set().initialize(_g1_rem_set->refine_card_concurrently_closure(), ! DirtyCardQ_CBL_mon, DirtyCardQ_FL_lock, (int)concurrent_g1_refine()->yellow_zone(), (int)concurrent_g1_refine()->red_zone(), Shared_DirtyCardQ_lock, NULL, // fl_owner true); // init_free_ids ! dirty_card_queue_set().initialize(NULL, // Should never be called by the Java code ! DirtyCardQ_CBL_mon, DirtyCardQ_FL_lock, -1, // never trigger processing -1, // no limit on length Shared_DirtyCardQ_lock, &JavaThread::dirty_card_queue_set()); --- 1794,1812 ---- jint ecode = initialize_concurrent_refinement(); if (ecode != JNI_OK) { return ecode; } ! JavaThread::dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon, DirtyCardQ_FL_lock, (int)concurrent_g1_refine()->yellow_zone(), (int)concurrent_g1_refine()->red_zone(), Shared_DirtyCardQ_lock, NULL, // fl_owner true); // init_free_ids ! dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon, DirtyCardQ_FL_lock, -1, // never trigger processing -1, // no limit on length Shared_DirtyCardQ_lock, &JavaThread::dirty_card_queue_set());
*** 1981,1991 **** } void G1CollectedHeap::iterate_dirty_card_closure(CardTableEntryClosure* cl, uint worker_i) { DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); size_t n_completed_buffers = 0; ! while (dcqs.apply_closure_to_completed_buffer(cl, worker_i, 0, true)) { n_completed_buffers++; } g1_policy()->phase_times()->record_thread_work_item(G1GCPhaseTimes::UpdateRS, worker_i, n_completed_buffers); dcqs.clear_n_completed_buffers(); assert(!dcqs.completed_buffers_exist_dirty(), "Completed buffers exist!"); --- 1979,1989 ---- } void G1CollectedHeap::iterate_dirty_card_closure(CardTableEntryClosure* cl, uint worker_i) { DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); size_t n_completed_buffers = 0; ! while (dcqs.apply_closure_during_gc(cl, worker_i)) { n_completed_buffers++; } g1_policy()->phase_times()->record_thread_work_item(G1GCPhaseTimes::UpdateRS, worker_i, n_completed_buffers); dcqs.clear_n_completed_buffers(); assert(!dcqs.completed_buffers_exist_dirty(), "Completed buffers exist!");
< prev index next >