Thu, 04 Nov 2010 16:17:54 -0700 Merge
trims [Thu, 04 Nov 2010 16:17:54 -0700] rev 6989
Merge
Tue, 02 Nov 2010 16:02:46 -0700 6996136: VM crash in src/share/vm/runtime/virtualspace.cpp:424
iveresov [Tue, 02 Nov 2010 16:02:46 -0700] rev 6988
6996136: VM crash in src/share/vm/runtime/virtualspace.cpp:424 Summary: Turn CDS off if compressed oops is on Reviewed-by: ysr, kvn, jcoomes, phh
Mon, 01 Nov 2010 10:49:14 -0700 Merge
jcoomes [Mon, 01 Nov 2010 10:49:14 -0700] rev 6987
Merge
Thu, 28 Oct 2010 14:46:29 -0700 6995045: assert(!gch->incremental_collection_failed()) failed: Error, defNewGeneration.cpp:827
ysr [Thu, 28 Oct 2010 14:46:29 -0700] rev 6986
6995045: assert(!gch->incremental_collection_failed()) failed: Error, defNewGeneration.cpp:827 Summary: Sharpened an assert, introduced in 6896603, that intended to check that the incremental_collection_failed() predicate on the heap was being reset "soon enough". Reviewed-by: jmasa
Sat, 23 Oct 2010 23:03:49 -0700 6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data
ysr [Sat, 23 Oct 2010 23:03:49 -0700] rev 6985
6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data Summary: Deprecated HandlePromotionFailure, removing the ability to turn off that feature, did away with one epoch look-ahead when deciding if a scavenge is likely to fail, relying on current data. Reviewed-by: jmasa, johnc, poonam
Thu, 21 Oct 2010 17:29:24 -0700 6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
ysr [Thu, 21 Oct 2010 17:29:24 -0700] rev 6984
6992998: CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent Summary: Closed a timing hole during which concurrent full gc requests can be missed. The hole can increase the latency of the response to a full gc request by up to the value of CMSWaitDuration. If CMSWaitDuration=0 is, as currently, interpreted as an unbounded wait, suitable in certain tuning scenarios, the application can potentially hang. Made two obscure tunables, including CMSWaitDuration, manageable. Reviewed-by: jcoomes, tonyp
Sat, 16 Oct 2010 17:12:19 -0400 6991377: G1: race between concurrent refinement and humongous object allocation
tonyp [Sat, 16 Oct 2010 17:12:19 -0400] rev 6983
6991377: G1: race between concurrent refinement and humongous object allocation Summary: There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT. Reviewed-by: jcoomes, johnc, ysr
Mon, 18 Oct 2010 15:01:41 -0700 6988458: G1: assert(mr.end() <= _cm->finger()) failed: otherwise the region shouldn't be on the stack
johnc [Mon, 18 Oct 2010 15:01:41 -0700] rev 6982
6988458: G1: assert(mr.end() <= _cm->finger()) failed: otherwise the region shouldn't be on the stack Summary: The changes from 6941395 did not clear the CMTask::_aborted_region fields when concurrent marking aborted because of overflow. As a result, the next time around we could see a memory region whose start address was above the global finger and the assertion tripped. Moved the clearing of the aborted regions to ConcurrentMark::clear_marking_state, which is executed on all of the exit paths. Reviewed-by: tonyp, ysr, jmasa
(0) -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip