johnc [Tue, 14 Jun 2011 11:01:10 -0700] rev 9995
7004681: G1: Extend marking verification to Full GCs
Summary: Perform a heap verification after the first phase of G1's full GC using objects' mark words to determine liveness. The third parameter of the heap verification routines, which was used in G1 to determine which marking bitmap to use in liveness calculations, has been changed from a boolean to an enum with values defined for using the mark word, and the 'prev' and 'next' bitmaps.
Reviewed-by: tonyp, ysr
tonyp [Tue, 14 Jun 2011 10:33:43 -0400] rev 9994
7046558: G1: concurrent marking optimizations
Summary: Some optimizations to improve the concurrent marking phase: specialize the main oop closure, make sure a few methods in the fast path are properly inlined, a few more bits and pieces, and some cosmetic fixes.
Reviewed-by: stefank, johnc
brutisso [Mon, 13 Jun 2011 13:48:18 +0200] rev 9993
6918185: Remove unused code for lost card-marking optimization in BacktraceBuilder
Summary: Removed dead code
Reviewed-by: ysr, coleenp, dholmes
ysr [Mon, 13 Jun 2011 09:58:16 -0700] rev 9992
7051430: CMS: ongoing CMS cycle should terminate abruptly to allow prompt JVM termination at exit
Summary: It turns out that there is no need to explicitly stop CMS since the JVM is taken down at a terminal safepoint during which CMS threads are (terminally) inactive. This will need to be revised if and when we evolve in the future to a point where we allow JVM reincarnation in the same process, but those changes will be much more sweeping than just terminating CMS threads. The unused ::stop() methods will be removed in a separate CR. Also include in this CR is the fix for a small typo in the spelling of UseGCLogFileRotation in a message in arguments.cpp, brought to our attention by Rainer Jung and reviewed by minqi.
Reviewed-by: johnc, jwilhelm
minqi [Fri, 10 Jun 2011 15:44:02 -0700] rev 9991
Merge
minqi [Fri, 10 Jun 2011 15:08:36 -0700] rev 9990
6941923: RFE: Handling large log files produced by long running Java Applications
Summary: supply optinal flags to realize gc log rotation
Reviewed-by: ysr, jwilhelm
tonyp [Fri, 10 Jun 2011 13:16:40 -0400] rev 9989
7045330: G1: Simplify/fix the HeapRegionSeq class
7042285: G1: native memory leak during humongous object allocation
6804436: G1: heap region indices should be size_t
Summary: A series of fixes and improvements to the HeapRegionSeq class: a) replace the _regions growable array with a standard C array, b) avoid de-allocating / re-allocating HeapRegion instances when the heap shrinks / grows (fix for 7042285), c) introduce fast method to map address to HeapRegion via a "biased" array pointer, d) embed the _hrs object in G1CollectedHeap, instead of pointing to it via an indirection, e) assume that all the regions added to the HeapRegionSeq instance are contiguous, f) replace int's with size_t's for indexes (and expand that to HeapRegion as part of 6804436), g) remove unnecessary / unused methods, h) rename a couple of fields (_alloc_search_start and _seq_bottom), i) fix iterate_from() not to always start from index 0 irrespective of the region passed to it, j) add a verification method to check the HeapRegionSeq assumptions, k) always call the wrappers for _hrs.iterate(), _hrs_length(), and _hrs.at() from G1CollectedHeap, not those methods directly, and l) unify the code that expands the sequence (by either re-using or creating a new HeapRegion) and make it robust wrt to a HeapRegion allocation failing.
Reviewed-by: stefank, johnc, brutisso
tonyp [Wed, 08 Jun 2011 21:48:38 -0400] rev 9988
7045662: G1: OopsInHeapRegionClosure::set_region() should not be virtual
Summary: make the method non-virtual, remove five unused closures, and fix a couple of copyright typos.
Reviewed-by: stefank, johnc, poonam
tonyp [Wed, 08 Jun 2011 15:31:51 -0400] rev 9987
7032531: G1: enhance GC logging to include more accurate eden / survivor size transitions
Summary: This changeset extends the logging information generated by +PrintGCDetails to also print out separate size transitions for the eden, survivors, and old regions.
Reviewed-by: ysr, brutisso
ysr [Wed, 08 Jun 2011 08:39:53 -0700] rev 9986
Merge
ysr [Thu, 02 Jun 2011 10:23:36 -0700] rev 9985
7048782: CMS: assert(last_chunk_index_to_check<= last_chunk_index) failed: parCardTableModRefBS.cpp:359
Summary: The LNC array is sized before the start of a scavenge, while the heap may expand during a scavenge. With CMS, the last block of an arbitrary suffice of the LNC array may expand due to coalition with the expansion delta. We now take care not to attempt access past the end of the LNC array. LNC array code will be cleaned up and suitably encapsulated as part of the forthcoming performance RFE 7043675.
Reviewed-by: brutisso
ysr [Fri, 27 May 2011 10:23:03 -0700] rev 9984
7048342: CMS: eob == _limit || fc->isFree() failed: Only a free chunk should allow us to cross over the limit
Summary: The freeness bit was being cleared in debug code when it shouldn't have been. Also removed unused FreeChunk methods linkAfterNonNull and clearPrev.
Reviewed-by: brutisso
trims [Fri, 01 Jul 2011 13:07:16 -0700] rev 9983
7061691: Fork HS21 to HS22 - renumber Minor and build numbers of JVM
Summary: Update the Minor and Build numbers for HS22 fork
Reviewed-by: jcoomes
never [Wed, 15 Jun 2011 10:20:03 -0700] rev 9982
Merge
never [Tue, 14 Jun 2011 15:20:55 -0700] rev 9981
Merge
never [Tue, 14 Jun 2011 14:41:33 -0700] rev 9980
7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
Reviewed-by: twisti, kvn, jrose
twisti [Tue, 14 Jun 2011 12:25:05 -0700] rev 9979
7053520: JSR292: crash in invokedynamic with C1 using tiered and compressed oops
Reviewed-by: iveresov, never
jrose [Wed, 08 Jun 2011 17:04:06 -0700] rev 9978
7047697: MethodHandle.invokeExact call for wrong method causes VM failure if run with -Xcomp
Reviewed-by: never, twisti
kvn [Sat, 04 Jun 2011 10:36:22 -0700] rev 9977
7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
Summary: Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.
Reviewed-by: iveresov, never
never [Fri, 03 Jun 2011 22:31:43 -0700] rev 9976
7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
never [Thu, 02 Jun 2011 13:36:11 -0700] rev 9975
7050554: JSR 292 - need optimization for selectAlternative
Reviewed-by: kvn, jrose
dsamersoff [Thu, 09 Jun 2011 01:33:42 +0400] rev 9974
Merge
coleenp [Thu, 02 Jun 2011 21:01:48 -0700] rev 9973
Merge
coleenp [Thu, 02 Jun 2011 14:17:48 -0400] rev 9972
7049928: VM crashes with "assert(_adapter != NULL) failed: must have" at methodOop.cpp:63
Summary: Removed extra change from another bug fix that caused this regression
Reviewed-by: phh, dcubed, kvn, kamg, never
coleenp [Sat, 21 May 2011 15:39:54 -0700] rev 9971
7033141: assert(has_cp_cache(i)) failed: oob
Summary: Unrewrite bytecodes for OOM error allocating the constant pool cache.
Reviewed-by: dcubed, acorn, never
jcoomes [Tue, 07 Jun 2011 13:17:05 -0700] rev 9970
Merge
ysr [Mon, 23 May 2011 16:42:14 -0700] rev 9969
7042740: CMS: assert(n> q) failed: Looping at: ... blockOffsetTable.cpp:557
Summary: Do a one-step look-ahead, when sweeping free or garbage blocks, to avoid overstepping sweep limit, which may become a non-block-boundary because of a heap expansion delta coalescing with a previously co-terminal free block.
Reviewed-by: brutisso, tonyp
jrose [Wed, 01 Jun 2011 23:25:31 -0700] rev 9968
7049410: JSR 292 old method name MethodHandle.invokeGeneric should not be accepted by the JVM
Summary: change the default setting of the flag AllowInvokeGeneric to false
Reviewed-by: never
jrose [Wed, 01 Jun 2011 23:25:20 -0700] rev 9967
7049415: Failure of resolution of sym.reference to the c.s.s. should be wrapped in BootstrapMethodError
Summary: Delegate invokedynamic linkage errors to MethodHandleNatives.raiseException.
Reviewed-by: never
kvn [Tue, 31 May 2011 10:05:36 -0700] rev 9966
6956668: misbehavior of XOR operator (^) with int
Summary: optimize cmp_ne(xor(X,1),0) to cmp_eq(X,0) only for boolean values X.
Reviewed-by: never