diff src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp @ 6817:f81a7c0c618d

7199349: NPG: PS: Crash seen in jprt Reviewed-by: johnc
author jmasa
date Wed, 03 Oct 2012 08:08:52 -0700
parents da91efe96a93
children 22b8d3d181d9
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp	Mon Oct 01 13:29:11 2012 +0200
+++ b/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp	Wed Oct 03 08:08:52 2012 -0700
@@ -136,6 +136,13 @@
 
             HeapWord* lab_base = old_gen()->cas_allocate(OldPLABSize);
             if(lab_base != NULL) {
+#ifdef ASSERT
+              // Delay the initialization of the promotion lab (plab).
+              // This exposes uninitialized plabs to card table processing.
+              if (GCWorkerDelayMillis > 0) {
+                os::sleep(Thread::current(), GCWorkerDelayMillis, false);
+              }
+#endif
               _old_lab.initialize(MemRegion(lab_base, OldPLABSize));
               // Try the old lab allocation again.
               new_obj = (oop) _old_lab.allocate(new_obj_size);