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
..

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

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

Simple Build Instructions:

  1. 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 this JDK 6.

  2. Either download and install the latest JDK7 from
     http://download.java.net/openjdk/jdk7/, or build your own complete
     OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest.
     Set the environment variable ALT_JDK_IMPORT_PATH to the location of
     this latest JDK7 or OpenJDK7 build.
     
  3. Check the sanity of doing a build with the current machine:
       cd make && gnumake sanity
     See README-builds.html if you run into problems.
  
  4. Do a partial build of the jdk:
       cd make && gnumake all
  
  5. Construct the images:
       cd make && gnumake images
     The resulting JDK image should be found in build/*/j2sdk-image