Antonios Printezis
0c660e1f60
6991377: G1: race between concurrent refinement and humongous object allocation
There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT. Reviewed-by: jcoomes, johnc, ysr
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.
Description
jdk-24 fork (from: https://github.com/openjdk/jdk) with modifications to be used in Wildcard-Usage analysis tools
Languages
Java
74.2%
C++
13.7%
C
8%
Assembly
2.7%
Objective-C
0.4%
Other
0.8%