Fri, 10 Jun 2011 13:16:40 -0400 7045330: G1: Simplify/fix the HeapRegionSeq class
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
Wed, 08 Jun 2011 21:48:38 -0400 7045662: G1: OopsInHeapRegionClosure::set_region() should not be virtual
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
Wed, 08 Jun 2011 15:31:51 -0400 7032531: G1: enhance GC logging to include more accurate eden / survivor size transitions
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
Wed, 08 Jun 2011 08:39:53 -0700 Merge
ysr [Wed, 08 Jun 2011 08:39:53 -0700] rev 9986
Merge
Thu, 02 Jun 2011 10:23:36 -0700 7048782: CMS: assert(last_chunk_index_to_check<= last_chunk_index) failed: parCardTableModRefBS.cpp:359
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
Fri, 27 May 2011 10:23:03 -0700 7048342: CMS: eob == _limit || fc->isFree() failed: Only a free chunk should allow us to cross over the limit
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
Fri, 01 Jul 2011 13:07:16 -0700 7061691: Fork HS21 to HS22 - renumber Minor and build numbers of JVM
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
(0) -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip