jdk-24/hotspot
Antonios Printezis 9332c44d84 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

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
2011-06-10 13:16:40 -04:00
..
.jcheck 6669216: Add jcheck configuration directories 2008-02-29 20:03:58 -08:00
agent 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp 2011-05-17 19:11:51 -07:00
make 7040781: Bump the HS21 build number to 14 2011-05-20 05:24:46 -07:00
src 7045330: G1: Simplify/fix the HeapRegionSeq class 2011-06-10 13:16:40 -04:00
test 6956668: misbehavior of XOR operator (^) with int 2011-05-31 10:05:36 -07:00
.hgignore 6631003: Add hg tip changeset to build image 2011-04-26 16:20:22 -07:00
.hgtags Added tag hs21-b12 for changeset 19acba38f929 2011-05-12 21:42:52 -07:00
ASSEMBLY_EXCEPTION 6941466: Oracle rebranding changes for Hotspot repositories 2010-05-27 19:08:38 -07:00
LICENSE 7013964: openjdk LICENSE file needs rebranding 2011-02-16 13:30:31 -08:00
README Initial load 2007-12-01 00:00:00 +00:00
THIRD_PARTY_README 6941466: Oracle rebranding changes for Hotspot repositories 2010-05-27 19:08:38 -07:00

README:
  This file should be located at the top of the hotspot Mercurial repository.

  See http://openjdk.java.net/ for more information about the OpenJDK.

  See ../README-builds.html for complete details on build machine requirements.

Simple Build Instructions:

    cd make && gnumake
     
  The files that will be imported into the jdk build will be in the "build"
  directory.