< prev index next >

src/share/vm/gc/shared/genCollectedHeap.cpp

Print this page
rev 12906 : [mq]: gc_interface

*** 124,135 **** return JNI_ENOMEM; } initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size())); ! _rem_set = collector_policy()->create_rem_set(reserved_region()); ! set_barrier_set(rem_set()->bs()); ReservedSpace young_rs = heap_rs.first_part(gen_policy()->young_gen_spec()->max_size(), false, false); _young_gen = gen_policy()->young_gen_spec()->init(young_rs, rem_set()); heap_rs = heap_rs.last_part(gen_policy()->young_gen_spec()->max_size()); --- 124,138 ---- return JNI_ENOMEM; } initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size())); ! _rem_set = new CardTableRS(reserved_region()); ! _rem_set->initialize(); ! CardTableModRefBS *bs = new CardTableModRefBS(_rem_set); ! bs->initialize(); ! set_barrier_set(bs); ReservedSpace young_rs = heap_rs.first_part(gen_policy()->young_gen_spec()->max_size(), false, false); _young_gen = gen_policy()->young_gen_spec()->init(young_rs, rem_set()); heap_rs = heap_rs.last_part(gen_policy()->young_gen_spec()->max_size());
*** 1311,1315 **** --- 1314,1334 ---- if (UseConcMarkSweepGC) { ConcurrentMarkSweepThread::cmst()->stop(); } #endif } + + void GenCollectedHeap::safepoint_synchronize_begin() { + #if INCLUDE_ALL_GCS + if (UseConcMarkSweepGC) { + ConcurrentMarkSweepThread::synchronize(false); + } + #endif + } + + void GenCollectedHeap::safepoint_synchronize_end() { + #if INCLUDE_ALL_GCS + if (UseConcMarkSweepGC) { + ConcurrentMarkSweepThread::desynchronize(false); + } + #endif + }
< prev index next >