--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Jul 16 21:33:21 2010 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Mon Jul 19 11:06:34 2010 -0700
@@ -638,6 +638,11 @@
// Now retry the allocation.
if (_cur_alloc_region != NULL) {
+ if (allocated_young_region != NULL) {
+ // We need to ensure that the store to top does not
+ // float above the setting of the young type.
+ OrderAccess::storestore();
+ }
res = _cur_alloc_region->allocate(word_size);
}
}