< prev index next >
src/share/vm/gc/shared/genCollectedHeap.cpp
Print this page
rev 12906 : [mq]: gc_interface
@@ -124,12 +124,15 @@
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());
+ _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,5 +1314,21 @@
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 >