hotspot/src/share/vm/gc/g1/g1RemSet.cpp
changeset 46517 14de3e5151a9
parent 46307 686d50172bfd
child 46518 69f8479862a2
--- a/hotspot/src/share/vm/gc/g1/g1RemSet.cpp	Fri Jun 02 05:24:28 2017 -0400
+++ b/hotspot/src/share/vm/gc/g1/g1RemSet.cpp	Fri Jun 02 13:45:15 2017 +0200
@@ -686,9 +686,12 @@
                                                  worker_i);
   update_rs_oop_cl.set_from(r);
 
-  bool card_processed =
-    r->oops_on_card_seq_iterate_careful(dirty_region,
-                                        &update_rs_oop_cl);
+  bool card_processed;
+  if (_g1->is_gc_active()) {
+    card_processed = r->oops_on_card_seq_iterate_careful<true>(dirty_region, &update_rs_oop_cl);
+  } else {
+    card_processed = r->oops_on_card_seq_iterate_careful<false>(dirty_region, &update_rs_oop_cl);
+  }
 
   // If unable to process the card then we encountered an unparsable
   // part of the heap (e.g. a partially allocated object) while