John Cuthbertson 1b62d10b4b 6484982: G1: process references during evacuation pauses
G1 now uses two reference processors - one is used by concurrent marking and the other is used by STW GCs (both full and incremental evacuation pauses). In an evacuation pause, the reference processor is embedded into the closures used to scan objects. Doing so causes causes reference objects to be 'discovered' by the reference processor. At the end of the evacuation pause, these discovered reference objects are processed - preserving (and copying) referent objects (and their reachable graphs) as appropriate.

Reviewed-by: ysr, jwilhelm, brutisso, stefank, tonyp
2011-09-22 10:57:37 -07:00
2011-09-19 19:40:59 -07:00
2011-09-19 19:41:46 -07:00
2011-07-22 21:31:05 -07:00
2011-04-12 18:35:57 -07:00
2007-12-01 00:00:00 +00:00

README:
  This file should be located at the top of the OpenJDK Mercurial root
  repository. This root repository will include a "make" directory,
  and a Makefile for building the entire OpenJDK.
  A full OpenJDK repository set (forest) should also include the following
  6 nested repositories:
    "jdk", "hotspot", "langtools", "corba", "jaxws"  and "jaxp".
  There are also several source downloads for the jax* repositories that
  will be needed.

  This one root repository can be obtained with something like:

    hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk8
  
  To make sure you have all the nested repositories, you can run the
  get_source.sh script located in the same respository as this file:

    cd openjdk8 && sh ./get_source.sh

  People unfamiliar with Mercurial should read the first few chapters of
  the Mercurial book: http://hgbook.red-bean.com/read/

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

Simple Build Instructions:
  
  0. Get the necessary system software/packages installed on your system, see
     http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html

  1. If you don't have a jdk6 installed, download and install a JDK 6 from
     http://java.sun.com/javase/downloads/index.jsp
     Set the environment variable ALT_BOOTDIR to the location of JDK 6.

  2. Check the sanity of doing a build with your current system:
       make sanity
     See README-builds.html if you run into problems.
  
  3. Do a complete build of the OpenJDK:
       make all
     The resulting JDK image should be found in build/*/j2sdk-image

where make is GNU make 3.81 or newer, /usr/bin/make on Linux usually
is 3.81 or newer.

Complete details are available in README-builds.html.
Languages
Java 73.9%
C++ 14.1%
C 7.9%
Assembly 2.7%
Objective-C 0.4%
Other 0.8%