diff src/share/vm/memory/genCollectedHeap.hpp @ 1166:7b0e9cba0307

6896647: card marks can be deferred too long Summary: Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future. Reviewed-by: never, johnc
author ysr
date Wed, 13 Jan 2010 15:26:39 -0800
parents 052a899eec3e
children c18cbe5936b8
line wrap: on
line diff
--- a/src/share/vm/memory/genCollectedHeap.hpp	Tue Jan 12 14:56:46 2010 -0800
+++ b/src/share/vm/memory/genCollectedHeap.hpp	Wed Jan 13 15:26:39 2010 -0800
@@ -260,6 +260,10 @@
     return true;
   }
 
+  virtual bool card_mark_must_follow_store() const {
+    return UseConcMarkSweepGC;
+  }
+
   // We don't need barriers for stores to objects in the
   // young gen and, a fortiori, for initializing stores to
   // objects therein. This applies to {DefNew,ParNew}+{Tenured,CMS}