< 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 >