Y. Srinivas Ramakrishna e9207384c5 4243978: (ref) Race condition in Reference.enqueue()
4268317: (ref) Reference.isEnqueued() can return true when instance not enqueued

The reference handler now declares, and assumes, that the discovered field, rather than the next field, is (to be) used to link the entries in the pending list, thus allowing a reference object to be safely enqueued even while it is in the pending state. Also added slightly modified regression tests from the two bug reports.

Reviewed-by: mchung, alanb, jcoomes
2011-10-31 17:38:15 -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%