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
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
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
tonyp [Fri, 15 Oct 2010 17:26:56 -0400] rev 6981
6992189: G1: inconsistent base used in sparse rem set iterator
Summary: The remembered set iterator for sparse tables incorrectly assumes that index 0 corresponds to the bottom of the heap, not address 0 as it is the case.
Reviewed-by: ysr, jmasa
tonyp [Thu, 14 Oct 2010 10:38:14 -0400] rev 6980
6990359: G1: don't push a stolen entry on the taskqueue, deal with it directly
Summary: When an entry is stolen, don't push it on the task queue but process it directly.
Reviewed-by: iveresov, ysr, jcoomes
kamg [Tue, 26 Oct 2010 16:48:28 -0700] rev 6979
Merge
kamg [Tue, 26 Oct 2010 14:08:49 -0400] rev 6978
6891959: HotSpot should not throw ClassFormatError if a class has a field with '>' and/or '<' in its name
Summary: Class file parser needs to look for and disallow '[' in names.
Reviewed-by: coleenp, never
acorn [Tue, 26 Oct 2010 14:43:21 -0400] rev 6977
Merge
acorn [Mon, 25 Oct 2010 13:31:55 -0400] rev 6976
Merge
acorn [Fri, 22 Oct 2010 15:59:34 -0400] rev 6975
6988353: refactor contended sync subsystem
Summary: reduce complexity by factoring synchronizer.cpp
Reviewed-by: dholmes, never, coleenp