Y. Srinivas Ramakrishna db6bef2c70 6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery.

Reviewed-by: apetrusenko, jcoomes
2008-11-20 12:27:41 -08:00
2008-11-07 11:45:22 -08:00
2008-11-07 11:45:49 -08:00
2008-10-02 19:58:13 -07:00
2007-12-01 00:00:00 +00:00
2007-12-01 00:00:00 +00:00
2007-12-01 00:00:00 +00:00
2008-08-17 09:56:25 -07:00
2007-12-01 00:00:00 +00:00
2008-09-17 13:45:14 -07:00
2007-12-01 00:00:00 +00:00

README:
  This file should be located at the top of the OpenJDK Mercurial repository
  forest. This top or enclosing repository will include a "make" directory,
  and a Makefile at the very top of the repository.
  It should also include the 6 repositories: "jdk", "hotspot", "langtools",
  "corba", "jaxws"  and "jaxp".

  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. Download and install the Binary Plugs for the most recent JDK7 from
     http://download.java.net/openjdk/jdk7/
     Set the environment variable ALT_BINARY_PLUGS_PATH to the location of
     these binary plugs.
     
  3. Check the sanity of doing a build with the current machine:
       gnumake sanity
     See README-builds.html if you run into problems.
  
  4. Do a complete build of the jdk:
       gnumake all
     The resulting JDK image should be found in build/*/j2sdk-image

where gnumake is GNU make 3.78.1 or newer, /usr/bin/make on Linux and
/usr/sfw/bin/gmake or /opt/sfw/bin/gmake on Solaris.

Languages
Java 73.9%
C++ 14.1%
C 7.9%
Assembly 2.7%
Objective-C 0.4%
Other 0.8%