changeset 2460:15e4d52f9ed4

Merge
author lana
date Sun, 22 Feb 2009 12:26:39 -0800
parents 08f3416ff334 6b84b04a80af
children 5a213483d221
files hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp jdk/make/javax/sound/jsoundhs/FILES.gmk jdk/make/javax/sound/jsoundhs/Makefile jdk/make/javax/sound/jsoundhs/mapfile-vers jdk/make/sun/awt/mapfile-mawt-vers jdk/make/sun/xawt/mapfile-vers jdk/src/share/classes/com/sun/beans/ObjectHandler.java jdk/src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java jdk/src/share/classes/javax/swing/RepaintManager.java jdk/src/share/classes/sun/nio/cs/IBM437.java jdk/src/share/classes/sun/nio/cs/IBM737.java jdk/src/share/classes/sun/nio/cs/IBM775.java jdk/src/share/classes/sun/nio/cs/IBM850.java jdk/src/share/classes/sun/nio/cs/IBM852.java jdk/src/share/classes/sun/nio/cs/IBM855.java jdk/src/share/classes/sun/nio/cs/IBM857.java jdk/src/share/classes/sun/nio/cs/IBM858.java jdk/src/share/classes/sun/nio/cs/IBM862.java jdk/src/share/classes/sun/nio/cs/IBM866.java jdk/src/share/classes/sun/nio/cs/IBM874.java jdk/src/share/classes/sun/nio/cs/ISO_8859_13.java jdk/src/share/classes/sun/nio/cs/ISO_8859_15.java jdk/src/share/classes/sun/nio/cs/ISO_8859_2.java jdk/src/share/classes/sun/nio/cs/ISO_8859_4.java jdk/src/share/classes/sun/nio/cs/ISO_8859_5.java jdk/src/share/classes/sun/nio/cs/ISO_8859_7.java jdk/src/share/classes/sun/nio/cs/ISO_8859_9.java jdk/src/share/classes/sun/nio/cs/KOI8_R.java jdk/src/share/classes/sun/nio/cs/KOI8_U.java jdk/src/share/classes/sun/nio/cs/MS1250.java jdk/src/share/classes/sun/nio/cs/MS1251.java jdk/src/share/classes/sun/nio/cs/MS1252.java jdk/src/share/classes/sun/nio/cs/MS1253.java jdk/src/share/classes/sun/nio/cs/MS1254.java jdk/src/share/classes/sun/nio/cs/MS1257.java jdk/src/share/classes/sun/nio/cs/ext/IBM037.java jdk/src/share/classes/sun/nio/cs/ext/IBM1006.java jdk/src/share/classes/sun/nio/cs/ext/IBM1025.java jdk/src/share/classes/sun/nio/cs/ext/IBM1026.java jdk/src/share/classes/sun/nio/cs/ext/IBM1046.java jdk/src/share/classes/sun/nio/cs/ext/IBM1047.java jdk/src/share/classes/sun/nio/cs/ext/IBM1097.java jdk/src/share/classes/sun/nio/cs/ext/IBM1098.java jdk/src/share/classes/sun/nio/cs/ext/IBM1112.java jdk/src/share/classes/sun/nio/cs/ext/IBM1122.java jdk/src/share/classes/sun/nio/cs/ext/IBM1123.java jdk/src/share/classes/sun/nio/cs/ext/IBM1124.java jdk/src/share/classes/sun/nio/cs/ext/IBM1140.java jdk/src/share/classes/sun/nio/cs/ext/IBM1141.java jdk/src/share/classes/sun/nio/cs/ext/IBM1142.java jdk/src/share/classes/sun/nio/cs/ext/IBM1143.java jdk/src/share/classes/sun/nio/cs/ext/IBM1144.java jdk/src/share/classes/sun/nio/cs/ext/IBM1145.java jdk/src/share/classes/sun/nio/cs/ext/IBM1146.java jdk/src/share/classes/sun/nio/cs/ext/IBM1147.java jdk/src/share/classes/sun/nio/cs/ext/IBM1148.java jdk/src/share/classes/sun/nio/cs/ext/IBM1149.java jdk/src/share/classes/sun/nio/cs/ext/IBM273.java jdk/src/share/classes/sun/nio/cs/ext/IBM277.java jdk/src/share/classes/sun/nio/cs/ext/IBM278.java jdk/src/share/classes/sun/nio/cs/ext/IBM280.java jdk/src/share/classes/sun/nio/cs/ext/IBM284.java jdk/src/share/classes/sun/nio/cs/ext/IBM285.java jdk/src/share/classes/sun/nio/cs/ext/IBM297.java jdk/src/share/classes/sun/nio/cs/ext/IBM420.java jdk/src/share/classes/sun/nio/cs/ext/IBM424.java jdk/src/share/classes/sun/nio/cs/ext/IBM500.java jdk/src/share/classes/sun/nio/cs/ext/IBM838.java jdk/src/share/classes/sun/nio/cs/ext/IBM856.java jdk/src/share/classes/sun/nio/cs/ext/IBM860.java jdk/src/share/classes/sun/nio/cs/ext/IBM861.java jdk/src/share/classes/sun/nio/cs/ext/IBM863.java jdk/src/share/classes/sun/nio/cs/ext/IBM864.java jdk/src/share/classes/sun/nio/cs/ext/IBM865.java jdk/src/share/classes/sun/nio/cs/ext/IBM868.java jdk/src/share/classes/sun/nio/cs/ext/IBM869.java jdk/src/share/classes/sun/nio/cs/ext/IBM870.java jdk/src/share/classes/sun/nio/cs/ext/IBM871.java jdk/src/share/classes/sun/nio/cs/ext/IBM875.java jdk/src/share/classes/sun/nio/cs/ext/IBM918.java jdk/src/share/classes/sun/nio/cs/ext/IBM921.java jdk/src/share/classes/sun/nio/cs/ext/IBM922.java jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java jdk/src/share/classes/sun/nio/cs/ext/MS1255.java jdk/src/share/classes/sun/nio/cs/ext/MS1256.java jdk/src/share/classes/sun/nio/cs/ext/MS1258.java jdk/src/share/classes/sun/nio/cs/ext/MS874.java jdk/src/share/classes/sun/nio/cs/ext/MacArabic.java jdk/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java jdk/src/share/classes/sun/nio/cs/ext/MacCroatian.java jdk/src/share/classes/sun/nio/cs/ext/MacCyrillic.java jdk/src/share/classes/sun/nio/cs/ext/MacDingbat.java jdk/src/share/classes/sun/nio/cs/ext/MacGreek.java jdk/src/share/classes/sun/nio/cs/ext/MacHebrew.java jdk/src/share/classes/sun/nio/cs/ext/MacIceland.java jdk/src/share/classes/sun/nio/cs/ext/MacRoman.java jdk/src/share/classes/sun/nio/cs/ext/MacRomania.java jdk/src/share/classes/sun/nio/cs/ext/MacSymbol.java jdk/src/share/classes/sun/nio/cs/ext/MacThai.java jdk/src/share/classes/sun/nio/cs/ext/MacTurkish.java jdk/src/share/classes/sun/nio/cs/ext/MacUkraine.java jdk/src/share/classes/sun/nio/cs/ext/TIS_620.java jdk/src/share/lib/audio/soundbank.gm jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java langtools/make/netbeans/apt/README langtools/make/netbeans/apt/build.xml langtools/make/netbeans/apt/nbproject/project.xml langtools/make/netbeans/common/shared.xml langtools/make/netbeans/common/standard-context-menu-items-no-javadoc.ent langtools/make/netbeans/common/standard-context-menu-items.ent langtools/make/netbeans/common/standard-ide-actions-no-javadoc.ent langtools/make/netbeans/common/standard-ide-actions.ent langtools/make/netbeans/compiler/README langtools/make/netbeans/compiler/build.xml langtools/make/netbeans/compiler/nbproject/project.xml langtools/make/netbeans/doclets/README langtools/make/netbeans/doclets/build.xml langtools/make/netbeans/doclets/nbproject/project.xml langtools/make/netbeans/javadoc/README langtools/make/netbeans/javadoc/build.xml langtools/make/netbeans/javadoc/nbproject/project.xml langtools/make/netbeans/javah/README langtools/make/netbeans/javah/build.xml langtools/make/netbeans/javah/nbproject/project.xml langtools/make/netbeans/javap/README langtools/make/netbeans/javap/build.xml langtools/make/netbeans/javap/nbproject/project.xml langtools/src/share/classes/com/sun/tools/javac/util/Messages.java langtools/test/tools/javac/generics/wildcards/6651719/T6651719b.java
diffstat 2313 files changed, 178705 insertions(+), 45792 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Feb 20 17:34:16 2009 +0300
+++ b/.hgtags	Sun Feb 22 12:26:39 2009 -0800
@@ -12,3 +12,14 @@
 6d909d5803e3a22850e6c4e5a75b888742ee7e20 jdk7-b35
 d718a441936196b93d8bc9f084933af9a4c2a350 jdk7-b36
 c2036bf76829c03b99108fffab52e20910a9be4f jdk7-b37
+a2879b2837f5a4c87e9542efe69ef138194af8ff jdk7-b38
+126f365cec6c3c2c72de934fa1c64b5f082b55b5 jdk7-b39
+3c53424bbe3bb77e01b468b4b0140deec33e11fc jdk7-b40
+3cb2a607c347934f8e7e86f840a094c28b08d9ea jdk7-b41
+caf58ffa084568990cbb3441f9ae188e36b31770 jdk7-b42
+41bd0a702bc8ec6feebd725a63e7c3227f82ab11 jdk7-b43
+5843778bda89b1d5ac8e1aa05e26930ac90b3145 jdk7-b44
+54dffad0bf066791a2793305875250c395011d5f jdk7-b45
+04b2620edc72de93671646e4720c5992c74ac8b5 jdk7-b46
+0c4657194eec95c08ba478aee9cfc3c295e41657 jdk7-b47
+1bf51a4c2627c2f0e0cbcc2cf0421bdb37f1f2b2 jdk7-b48
--- a/.hgtags-top-repo	Fri Feb 20 17:34:16 2009 +0300
+++ b/.hgtags-top-repo	Sun Feb 22 12:26:39 2009 -0800
@@ -12,3 +12,14 @@
 143c1abedb7d3095eff0f9ee5fec9bf48e3490fc jdk7-b35
 4b4f5fea8d7d0743f0c30d91fcd9bf9d96e5d2ad jdk7-b36
 744554f5a3290e11c71cd2ddb1aff49e431f9ed0 jdk7-b37
+cc47a76899ed33a2c513cb688348244c9b5a1288 jdk7-b38
+ab523b49de1fc73fefe6855ce1e0349bdbd7af29 jdk7-b39
+44be42de6693063fb191989bf0e188de2fa51e7c jdk7-b40
+541bdc5ad32fc33255944d0a044ad992f3d915e8 jdk7-b41
+94052b87287303527125026fe4b2698cf867ea83 jdk7-b42
+848e684279d2ba42577d9621d5b2e5af3823d12d jdk7-b43
+a395e3aac4744cc9033fcd819fad1239a45add52 jdk7-b44
+99846f001ca214015578d593802d26e27246a802 jdk7-b45
+e8a2a4d187773a62f3309b0fa265c13425bc2258 jdk7-b46
+d7744e86dedc21a8ecf6bdb73eb191b8eaf5b0da jdk7-b47
+4ae9f4bfdb98f65bd957e3fe72471b320150b38e jdk7-b48
--- a/README-builds.html	Fri Feb 20 17:34:16 2009 +0300
+++ b/README-builds.html	Sun Feb 22 12:26:39 2009 -0800
@@ -98,7 +98,8 @@
         <h2><a name="MBE">Minimum Build Environments</a></h2>
         <blockquote>
             This file often describes specific requirements for what we call the
-            "minimum build environments" (MBE) for the JDK.
+            "minimum build environments" (MBE) for this 
+	    specific release of the JDK,
             Building with the MBE will generate the most compatible
             bits that install on, and run correctly on, the most variations
             of the same base OS and hardware architecture.
@@ -116,22 +117,22 @@
                     <tr>
                         <th>Base OS and Architecture</th>
                         <th>OS</th>
-                        <th>Compiler</th>
+                        <th>C/C++ Compiler</th>
                     </tr>
                 </thead>
                 <tbody>
                     <tr>
-                        <td>Linux X86 (32bit)</td>
-                        <td>Red Hat Enterprise Linux 4 </td>
+                        <td>Linux X86 (32-bit)</td>
+                        <td>Fedora 9</td>
                         <td>gcc 4 </td>
                     </tr>
                     <tr>
-                        <td>Linux X64 (64bit)</td>
-                        <td>Red Hat Enterprise Linux 4 </td>
+                        <td>Linux X64 (64-bit)</td>
+                        <td>Fedora 9</td>
                         <td>gcc 4 </td>
                     </tr>
                     <tr>
-                        <td>Solaris SPARC (32bit)</td>
+                        <td>Solaris SPARC (32-bit)</td>
                         <td>Solaris 10 + patches 
                             <br>
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
@@ -140,7 +141,7 @@
                         <td>Sun Studio 12</td>
                     </tr>
                     <tr>
-                        <td>Solaris SPARCV9 (64bit)</td>
+                        <td>Solaris SPARCV9 (64-bit)</td>
                         <td>Solaris 10 + patches
                             <br>
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
@@ -149,7 +150,7 @@
                         <td>Sun Studio 12</td>
                     </tr>
                     <tr>
-                        <td>Solaris X86 (32bit)</td>
+                        <td>Solaris X86 (32-bit)</td>
                         <td>Solaris 10 + patches
                             <br>
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
@@ -158,7 +159,7 @@
                         <td>Sun Studio 12</td>
                     </tr>
                     <tr>
-                        <td>Solaris X64 (64bit)</td>
+                        <td>Solaris X64 (64-bit)</td>
                         <td>Solaris 10 + patches
                             <br>
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
@@ -167,17 +168,28 @@
                         <td>Sun Studio 12</td>
                     </tr>
                     <tr>
-                        <td>Windows X86 (32bit)</td>
+                        <td>Windows X86 (32-bit)</td>
                         <td>Windows XP</td>
-                        <td>Microsoft Visual Studio .NET 2003 Professional</td>
+                        <td>Microsoft Visual Studio C++ 2008 Standard Edition</td>
                     </tr>
                     <tr>
-                        <td>Windows X64 (64bit)</td>
+                        <td>Windows X64 (64-bit)</td>
                         <td>Windows Server 2003 - Enterprise x64 Edition</td>
                         <td>Microsoft Platform SDK - April 2005</td>
                     </tr>
                 </tbody>
             </table>
+	    <p>
+	    These same sources do indeed build on many more systems than the
+	    above older generation systems, again the above is just a minimum.
+	    <p>
+	    Compilation problems with newer or different C/C++ compilers is a
+	    common problem.
+	    Similarly, compilation problems related to changes to the
+	    <tt>/usr/include</tt> or system header files is also a
+	    common problem with newer or unreleased OS versions.
+	    Please report these types of problems as bugs so that they
+	    can be dealt with accordingly.
         </blockquote>
         <!-- ------------------------------------------------------ -->
         <hr>
@@ -488,7 +500,7 @@
                     not work due to a lack of support for MS-DOS drive letter paths
                     like <tt>C:/</tt> or <tt>C:\</tt>.
                     Use a 3.80 version, or find a newer
-                    version that has this problem fixed, like 3.82.
+                    version that has this problem fixed.
                     The older 3.80 version of make.exe can be downloaded with this
                     <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank">
                     link</a>.
@@ -575,8 +587,8 @@
                 </li>
                 <li>
                     Install
-                    <a href="#ant">Ant</a>, set
-                    <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
+                    <a href="#ant">Ant</a>, 
+                    make sure it is in your PATH.
                 </li>
             </ol>
         </blockquote>
@@ -592,7 +604,7 @@
             Approximately 1.4 GB of free disk
             space is needed for a 32-bit build.
             <p>
-            If you are building the 64bit version, you should
+            If you are building the 64-bit version, you should
             run the command "isainfo -v" to verify that you have a
             64-bit installation, it should say <tt>sparcv9</tt> or
             <tt>amd64</tt>.
@@ -640,8 +652,8 @@
                 </li>
                 <li>
                     Install
-                    <a href="#ant">Ant</a>, set
-                    <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
+                    <a href="#ant">Ant</a>, 
+                    make sure it is in your PATH.
                 </li>
             </ol>
         </blockquote>
@@ -650,11 +662,11 @@
         <h3><a name="windows">Basic Windows System Setup</a></h3>
         <blockquote> 
             <strong>i586 only:</strong>
-            The minimum recommended hardware for building the 32bit or X86
+            The minimum recommended hardware for building the 32-bit or X86
             Windows version is an Pentium class processor or better, at least
             512 MB of RAM, and approximately 600 MB of free disk space.
             <strong>
-                NOTE: The Windows 2000 build machines need to use the
+                NOTE: The Windows build machines need to use the
                 file system NTFS. 
                 Build machines formatted to FAT32 will not work 
                 because FAT32 doesn't support case-sensitivity in file names.
@@ -719,8 +731,11 @@
                 </li>
                 <li>
                     Install the
-                    <a href="#msvc">Microsoft Visual Studio .NET 2003 Professional</a> (32bit) or the 
-                    <a href="#mssdk">Microsoft Platform SDK</a> (64bit).
+                    <a href="#msvc">Microsoft Visual Studio Compilers</a> (32-bit).
+                </li>
+                <li>
+                    Install the
+                    <a href="#mssdk">Microsoft Platform SDK</a>.
                 </li>
                 <li>
                     Setup all environment variables for compilers 
@@ -732,7 +747,8 @@
                 </li>
                 <li>
                     Install
-                    <a href="#ant">Ant</a>, set
+                    <a href="#ant">Ant</a>, 
+                    make sure it is in your PATH and set
                     <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
                 </li>
             </ol>
@@ -787,7 +803,9 @@
                 you must first download and install the appropriate
                 binary plug bundles for the OpenJDK, go to the
                 <a href="http://openjdk.java.net" target="_blank">OpenJDK</a> site and select
-                the "<b>Bundles(7)</b>" link and download the binaryplugs for
+                the 
+                "<b>Bundles(7)</b>"
+                link and download the binaryplugs for
                 your particular platform.
                 The file downloaded is a jar file that must be extracted by running
                 the jar file with:
@@ -821,16 +839,14 @@
             <blockquote>
                 All OpenJDK builds require access to least Ant 1.6.5.
                 The Ant tool is available from the 
-                <a href="http://ant.apache.org/antlibs/bindownload.cgi" target="_blank">
+                <a href="http://ant.apache.org" target="_blank">
                 Ant download site</a>.
-                You should always set 
+                You should always make sure <tt>ant</tt> is in your PATH, and
+                on Windows you may also need to set 
                 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>
                 to point to the location of
                 the Ant installation, this is the directory pathname
                 that contains a <tt>bin and lib</tt>.
-                It's also a good idea to also place its <tt>bin</tt> directory
-                in the <tt>PATH</tt> environment variable, although it's
-                not absolutely required.
             </blockquote>
             <!-- ------------------------------------------------------ -->
             <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4>
@@ -862,25 +878,9 @@
             <blockquote>
                 <strong><a name="gcc">Linux gcc/binutils</a></strong>
                 <blockquote>
-                    The GNU gcc compiler version should be 3.2.2 or newer.
-                    The binutils package should be 2.11.93.0.2-11 or newer.
+                    The GNU gcc compiler version should be 4 or newer.
                     The compiler used should be the default compiler installed
                     in <tt>/usr/bin</tt>.
-                    <p>
-                    Older Linux systems may require a gcc and bunutils update.
-                    The Redhat Enterprise Advanced Server 2.1 update 2 system
-                    is one of these systems.
-                    RedHat Linux users can obtain this binutils package from 
-                    <a href="http://www.redhat.com" 
-                       target="_blank">Redhat web site</a>. 
-                    You will need to remove the default compiler and binutils
-                    packages and install the required packages
-                    into the default location on the system.
-                    However if you have a new video card driver, like 
-                    Geforce 4 it is best to use
-                    the same compiler as the kernel was built with to 
-                    build the new video card driver module.
-                    So you should build the modules before making this change.
                 </blockquote>
                 <strong><a name="studio">Solaris: Sun Studio</a></strong>
                 <blockquote>
@@ -903,19 +903,20 @@
                     are also an option, although these compilers have not
                     been extensively used yet.
                 </blockquote>
-                <strong><a name="msvc">Windows i586: Microsoft Visual Studio .NET 2003 Professional</a></strong>
+                <strong><a name="msvc">Windows i586: Microsoft Visual Studio Compilers</a></strong>
                 <blockquote>
                     The 32-bit OpenJDK Windows build
-                    requires Microsoft Visual Studio .NET 2003 (VS2003) Professional
+                    requires 
+                    Microsoft Visual Studio C++ 2008 (VS2008) Standard
                     Edition compiler. 
                     The compiler and other tools are expected to reside
-                    in the location defined by the variable <tt>VS71COMNTOOLS</tt> which
-                    is set by the Microsoft Visual Studio .NET installer.
+                    in the location defined by the variable 
+                    <tt>VS90COMNTOOLS</tt> which
+                    is set by the Microsoft Visual Studio installer.
                     <p> 
                     Once the compiler is installed, 
                     it is recommended that you run <tt>VCVARS32.BAT</tt> 
                     to set the compiler environment variables
-                    <tt>MSVCDIR</tt>, 
                     <tt>INCLUDE</tt>,
                     <tt>LIB</tt>, and
                     <tt>PATH</tt> 
@@ -923,16 +924,12 @@
                     OpenJDK.
                     The above environment variables <b>MUST</b> be set.
                     <p>
-                    The Microsoft Visual Studio .NET 2005 (VS2005) compiler
-                    will not work at this time due to the new runtime dll
-                    and the manifest requirements.
-                    <p>
                     <b>WARNING:</b> Make sure you check out the
                     <a href="#cygwin">CYGWIN link.exe WARNING</a>.
                     The path <tt>/usr/bin</tt> must be after the path to the
                     Visual Studio product.
                 </blockquote>
-                <strong><a name="mssdk">Windows X64: Microsoft Platform SDK April 2005</a></strong>
+                <strong><a name="mssdk">Windows: Microsoft Platform SDK</a></strong>
                 <blockquote>
                     On <b>X64</b>, the Microsoft Platform Software
                     Development Kit (SDK), April 2005 Edition compiler,
@@ -953,10 +950,9 @@
                     OpenJDK.
                     The above environment variables <b>MUST</b> be set.
                     <p>
-                    Note that this compiler may say it's version is a
-                    Microsoft Visual Studio .NET 2005 (VS2005), but be careful,
-                    it will not match the official VS2005 product.
-                    This Platform SDK compiler is only used on X64 builds.
+                    This Platform SDK compiler is only used on X64 builds
+                    but other parts of the Platform SDK may be used 
+                    for the X86 builds.
                 </blockquote>
             </blockquote>
             <!-- ------------------------------------------------------ --> 
@@ -1241,37 +1237,37 @@
             <strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong>
             <blockquote> 
                 <strong>i586 only:</strong>
-                The OpenJDK 32bit build requires access to
-                <tt>MSVCRT.DLL</tt> version 6.00.8337.0 or newer.
+                The OpenJDK 32-bit build requires access to a redistributable
+                <tt>MSVCRT.DLL</tt>.
                 If the <tt>MSVCRT.DLL</tt> is not installed in 
                 the system32 directory set the 
                 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
-                variable to the location.
+                variable to the location of this file.
                 <p> 
                 <strong>X64 only:</strong>
-                The OpenJDK 64bit build requires access to
-                <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is
+                The OpenJDK 64-bit build requires access to a redistributable
+                <tt>MSVCRT.DLL</tt>, which is
                 usually supplied by the
                 <a href="#mssdk">Platform SDK</a>.
                 If it is not available from the Platform SDK,
                 set the 
                 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
-                variable to the location.
+                variable to the location of this file.
             </blockquote>
-            <strong><tt><a name="msvcr71">MSVCR71.DLL</a></tt></strong>
+            <strong><tt><a name="msvcr90">MSVCR90.DLL</a></tt></strong>
             <blockquote>
                 <strong>i586 only:</strong>
                 The 
                 OpenJDK
-                build requires access to 
-                MSVCR71.DLL version 7.10.3052.4 or newer which should be
+                build requires access to a redistributable
+                <tt>MSVCR90.DLL</tt> which should be
                 supplied by the
-                <a href="#msvc">Visual Studio product</a>
-                If the <tt>MSVCR71.DLL</tt> is not available from the
+                <a href="#msvc">Visual Studio product</a>.
+                If the <tt>MSVCR90.DLL</tt> is not available from the
                 Visual Studio product
                 set the 
-                <a href="#ALT_MSVCR71_DLL_PATH"><tt>ALT_MSVCR71_DLL_PATH</tt></a>
-                variable to the location.
+                <a href="#ALT_MSVCR90_DLL_PATH"><tt>ALT_MSVCR90_DLL_PATH</tt></a>
+                variable to the location of this file.
             </blockquote>
         </blockquote>
         <!-- ------------------------------------------------------ -->
@@ -1359,6 +1355,46 @@
         document) that can impact the build are:
         <blockquote>
             <dl>
+                <dt><a name="path"><tt>PATH</tt></a> </dt>
+                <dd>Typically you want to set the <tt>PATH</tt> to include:
+                    <ul>
+                        <li>The location of the GNU make binary</li>
+                        <li>The location of the Bootstrap JDK <tt>java</tt> 
+                        (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
+                        <li>The location of the C/C++ compilers 
+                        (see <a href="#compilers"><tt>compilers</tt></a>)</li>
+                        <li>The location or locations for the Unix command utilities
+                        (e.g. <tt>/usr/bin</tt>)</li>
+                    </ul>
+                </dd>
+                <dt><tt>MILESTONE</tt> </dt>
+                <dd>
+                    The milestone name for the build (<i>e.g.</i>"beta"). 
+                    The default value is "internal".
+                </dd>
+                <dt><tt>BUILD_NUMBER</tt> </dt>
+                <dd>
+                    The build number for the build (<i>e.g.</i> "b27"). 
+                    The default value is "b00".
+                </dd>
+                <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt>
+                <dd>The <tt>ARCH_DATA_MODEL</tt> variable
+                    is used to specify whether the build is to generate 32-bit or 64-bit
+                    binaries. 
+                    The Solaris build supports either 32-bit or 64-bit builds, but
+                    Windows and Linux will support only one, depending on the specific
+                    OS being used.
+                    Normally, setting this variable is only necessary on Solaris.
+                    Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries, 
+                    or to <tt>64</tt> for generating 64-bit binaries.
+                </dd>
+                <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt>
+                <dd>
+                    The location of the bootstrap JDK installation. 
+                    See <a href="#bootjdk">Bootstrap JDK</a> for more information.
+                    You should always install your own local Bootstrap JDK and
+                    always set <tt>ALT_BOOTDIR</tt> explicitly.
+                </dd>
                 <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt>
                 <dd>
                     The location of the binary plugs installation.
@@ -1367,12 +1403,101 @@
                     recent Binary Plugs install image
                     and set this variable to that location.
                 </dd>
-                <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt>
+                <dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt>
                 <dd>
-                    The location of the bootstrap JDK installation. 
-                    See <a href="#bootjdk">Bootstrap JDK</a> for more information.
-                    You should always install your own local Bootstrap JDK and
-                    always set <tt>ALT_BOOTDIR</tt> explicitly.
+                    The location of a previously built JDK installation. 
+                    See <a href="#importjdk">Optional Import JDK</a> for more information.
+                </dd>
+                <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt>
+                <dd>
+                    An override for specifying the (absolute) path of where the
+                    build output is to go.
+                    The default output directory will be build/<i>platform</i>.
+                </dd>
+                <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt>
+                <dd>
+                    The location of the C/C++ compiler.
+                    The default varies depending on the platform. 
+                </dd>
+                <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt>
+                <dd>
+                    The location of the <a href="#cacerts">cacerts</a> file.
+                    The default will refer to 
+                    <tt>jdk/src/share/lib/security/cacerts</tt>.
+                </dd>
+                <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt>
+                <dd>
+                    The location of the CUPS header files.
+                    See <a href="#cups">CUPS information</a> for more information.
+                    If this path does not exist the fallback path is 
+                    <tt>/usr/include</tt>.
+                </dd>
+                <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt>
+                <dd>
+                    The location of the FreeType shared library. 
+                    See <a href="#freetype">FreeType information</a> for details. 
+                </dd>
+                <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt>
+                <dd>
+                    The location of the FreeType header files.
+                    See <a href="#freetype">FreeType information</a> for details. 
+                </dd>
+                <dt><a name="ALT_JDK_DEVTOOLS_PATH"><tt>ALT_JDK_DEVTOOLS_PATH</tt></a></dt>
+                <dd>
+                    The default root location of the devtools.
+                    The default value is 
+                    <tt>$(ALT_SLASH_JAVA)/devtools</tt>.
+                </dd>
+                <dt><tt><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></tt> </dt>
+                <dd>
+                    The location of tools like the 
+                    <a href="#zip"><tt>zip</tt> and <tt>unzip</tt></a>
+                    binaries, but might also contain the GNU make utility
+                    (<tt><i>gmake</i></tt>).
+                    So this area is a bit of a grab bag, especially on Windows.
+                    The default value depends on the platform and
+                    Unix Commands being used.
+                    On Linux the default will be 
+                    <tt>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</tt>, 
+                    on Solaris
+                    <tt>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</tt>, 
+                    and on Windows with CYGWIN
+                    <tt>/usr/bin</tt>.
+                </dd>
+                <dt><a name="ALT_UNIXCCS_PATH"><tt>ALT_UNIXCCS_PATH</tt></a></dt>
+                <dd>
+                    <strong>Solaris only:</strong>
+                    An override for specifying where the Unix CCS
+                    command set are located.
+                    The default location is <tt>/usr/ccs/bin</tt> 
+                </dd>
+                <dt><a name="ALT_SLASH_JAVA"><tt>ALT_SLASH_JAVA</tt></a></dt>
+                <dd>
+                    The default root location for many of the ALT path locations
+                    of the following ALT variables.
+                    The default value is 
+                    <tt>"/java"</tt> on Solaris and Linux, 
+                    <tt>"J:"</tt> on Windows.
+                </dd>
+                <dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt>
+                <dd>
+                    These are useful in managing builds on multiple platforms.
+                    The default network location for all of the import JDK images
+                    for all platforms. 
+                    If <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>
+                    is not set, this directory will be used and should contain 
+                    the following directories:
+                    <tt>solaris-sparc</tt>,
+                    <tt>solaris-i586</tt>,
+                    <tt>solaris-sparcv9</tt>,
+                    <tt>solaris-amd64</tt>,
+                    <tt>linux-i586</tt>,
+                    <tt>linux-amd64</tt>,
+                    <tt>windows-i586</tt>,
+                    and
+                    <tt>windows-amd64</tt>.
+                    Where each of these directories contain the import JDK image
+                    for that platform.
                 </dd>
                 <dt><a name="ALT_BUILD_BINARY_PLUGS_PATH"><tt>ALT_BUILD_BINARY_PLUGS_PATH</tt></a></dt>
                 <dd>
@@ -1394,186 +1519,37 @@
                     Where each of these directories contain the binary plugs image
                     for that platform.
                 </dd>
-                <dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt>
+                <dt><strong>Windows specific:</strong></dt>
                 <dd>
-                    These are useful in managing builds on multiple platforms.
-                    The default network location for all of the import JDK images
-                    for all platforms. 
-                    If <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>
-                    is not set, this directory will be used and should contain 
-                    the following directories:
-                    <tt>solaris-sparc</tt>,
-                    <tt>solaris-i586</tt>,
-                    <tt>solaris-sparcv9</tt>,
-                    <tt>solaris-amd64</tt>,
-                    <tt>linux-i586</tt>,
-                    <tt>linux-amd64</tt>,
-                    <tt>windows-i586</tt>,
-                    and
-                    <tt>windows-amd64</tt>.
-                    Where each of these directories contain the import JDK image
-                    for that platform.
-                </dd>
-                <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt>
-                <dd>
-                    The location of the <a href="#cacerts">cacerts</a> file.
-                    The default will refer to 
-                    <tt>jdk/src/share/lib/security/cacerts</tt>.
-                </dd>
-                <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt>
-                <dd>
-                    The location of the C/C++ compiler.
-                    The default varies depending on the platform. 
-                </dd>
-                <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt>
-                <dd>
-                    The location of the CUPS header files.
-                    See <a href="#cups">CUPS information</a> for more information.
-                    If this path does not exist the fallback path is 
-                    <tt>/usr/include</tt>.
-                </dd>
-                <dt><tt><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></tt> </dt>
-                <dd>
-                    The location of tools like the 
-                    <a href="#zip"><tt>zip</tt> and <tt>unzip</tt></a>
-                    binaries, but might also contain the GNU make utility
-                    (<tt><i>gmake</i></tt>).
-                    So this area is a bit of a grab bag, especially on Windows.
-                    The default value depends on the platform and
-                    Unix Commands being used.
-                    On Linux the default will be 
-                    <tt>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</tt>, 
-                    on Solaris
-                    <tt>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</tt>, 
-                    on Windows with MKS
-                    <tt>%SYSTEMDRIVE%/UTILS</tt>, 
-                    and on Windows with CYGWIN
-                    <tt>/usr/bin</tt>.
-                </dd>
-                <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
-                <dd>
-                    <strong>Windows Only:</strong>
-                    The location of the 
-                    <a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
-                    The default will be to try and use the DirectX environment
-                    variable <tt>DXSDK_DIR</tt>,
-                    failing that, look in <tt>C:/DXSDK</tt>.
-                </dd>
-                <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt>
-                <dd>
-                    The location of the FreeType header files.
-                    See <a href="#freetype">FreeType information</a> for details. 
-                </dd>
-                <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt>
-                <dd>
-                    The location of the FreeType shared library. 
-                    See <a href="#freetype">FreeType information</a> for details. 
-                </dd>
-                <dt><a name="ALT_JDK_DEVTOOLS_PATH"><tt>ALT_JDK_DEVTOOLS_PATH</tt></a></dt>
-                <dd>
-                    The default root location of the devtools.
-                    The default value is 
-                    <tt>$(ALT_SLASH_JAVA)/devtools</tt>.
-                </dd>
-                <dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt>
-                <dd>
-                    The location of a previously built JDK installation. 
-                    See <a href="#importjdk">Optional Import JDK</a> for more information.
-                </dd>
-                <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
-                <dd>
-                    <strong>Windows Only:</strong>
-                    The location of the Microsoft Visual Studio .NET 2003
-                    tools 'bin' directory.
-                    The default is usually derived from
-                    <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
-                </dd>
-                <dt><tt><a name="ALT_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt>
-                <dd>
-                    <strong>Windows i586 only:</strong>
-                    The location of the 
-                    <a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>. 
-                </dd>
-                <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt>
-                <dd>
-                    <strong>Windows Only:</strong>
-                    The location of the 
-                    <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>. 
-                </dd>
-                <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt>
-                <dd>
-                    An override for specifying the (absolute) path of where the
-                    build output is to go.
-                    The default output directory will be build/<i>platform</i>.
-                </dd>
-                <dt><a name="ALT_SLASH_JAVA"><tt>ALT_SLASH_JAVA</tt></a></dt>
-                <dd>
-                    The default root location for many of the ALT path locations
-                    of the following ALT variables.
-                    The default value is 
-                    <tt>"/java"</tt> on Solaris and Linux, 
-                    <tt>"J:"</tt> on Windows.
-                </dd>
-                <dt><a name="ALT_UNIXCCS_PATH"><tt>ALT_UNIXCCS_PATH</tt></a></dt>
-                <dd>
-                    <strong>Solaris only:</strong>
-                    An override for specifying where the Unix CCS
-                    command set are located.
-                    The default location is <tt>/usr/ccs/bin</tt> 
-                </dd>
-                <dt><a name="ALT_UNIXCOMMAND_PATH"><tt>ALT_UNIXCOMMAND_PATH</tt></a> </dt>
-                <dd>
-                    An override for specifying where the
-                    Unix command set are located. 
-                    The default location varies depending on the platform,
-                    <tt>"%SYSTEMDRIVE%/MKSNT"</tt> or
-                    <tt>$(ROOTDIR)</tt> on Windows with MKS, otherwise it's 
-                    <tt>"/bin"</tt> or <tt>/usr/bin</tt>.
-                </dd>
-                <dt><a name="ALT_USRBIN_PATH"><tt>ALT_USRBIN_PATH</tt></a></dt>
-                <dd>
-                    An override for specifying where the
-                    Unix <tt>/usr/bin</tt> commands are located. You usually do not need
-                    to set this variable: the default location is <tt>/usr/bin</tt>)
-                </dd>
-                <dt><a name="ANT_HOME"><tt>ANT_HOME</tt></a></dt>
-                <dd>
-                    The location of the Ant installation. 
-                    See <a href="#ant">Ant</a> for more information.
-                    You should always set <tt>ANT_HOME</tt> explicitly.
-                </dd>
-                <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt>
-                <dd>The <tt>ARCH_DATA_MODEL</tt> variable
-                    is used to specify whether the build is to generate 32-bit or 64-bit
-                    binaries. 
-                    The Solaris build supports either 32-bit or 64-bit builds, but
-                    Windows and Linux will support only one, depending on the specific
-                    OS being used.
-                    Normally, setting this variable is only necessary on Solaris.
-                    Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries, 
-                    or to <tt>64</tt> for generating 64-bit binaries.
-                </dd>
-                <dt><tt>BUILD_NUMBER</tt> </dt>
-                <dd>
-                    The build number for the build (<i>e.g.</i> "b27"). 
-                    The default value is "b00".
-                </dd>
-                <dt><tt>MILESTONE</tt> </dt>
-                <dd>
-                    The milestone name for the build (<i>e.g.</i>"beta"). 
-                    The default value is "internal".
-                </dd>
-                <dt><a name="path"><tt>PATH</tt></a> </dt>
-                <dd>Typically you want to set the <tt>PATH</tt> to include:
-                    <ul>
-                        <li>The location of the GNU make binary</li>
-                        <li>The location of the Bootstrap JDK <tt>java</tt> 
-                        (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
-                        <li>The location of the C/C++ compilers 
-                        (see <a href="#compilers"><tt>compilers</tt></a>)</li>
-                        <li>The location or locations for the Unix command utilities
-                        (e.g. <tt>/usr/bin</tt>)</li>
-                    </ul>
+                    <dl>
+                        <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
+                        <dd>
+                            The location of the 
+                            Microsoft Visual Studio
+                            tools 'bin' directory.
+                            The default is usually derived from
+                            <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
+                        </dd>
+                        <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
+                        <dd>
+                            The location of the 
+                            <a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
+                            The default will be to try and use the DirectX environment
+                            variable <tt>DXSDK_DIR</tt>,
+                            failing that, look in <tt>C:/DXSDK</tt>.
+                        </dd>
+                        <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt>
+                        <dd>
+                            The location of the 
+                            <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>. 
+                        </dd>
+                        <dt><tt><a name="ALT_MSVCR90_DLL_PATH">ALT_MSVCR90_DLL_PATH</a></tt> </dt>
+                        <dd>
+                            <strong>i586 only:</strong>
+                            The location of the 
+                            <a href="#msvcr90"><tt>MSVCR90.DLL</tt></a>. 
+                        </dd>
+                    </dl>
                 </dd>
             </dl>
         </blockquote>
@@ -1661,8 +1637,8 @@
                         This is caused by a missing libstdc++.a library.
                         This is installed as part of a specific package
                         (e.g. libstdc++.so.devel.386).
-                        By default some 64bit Linux versions (e.g. Fedora)
-                        only install the 64bit version of the libstdc++ package.
+                        By default some 64-bit Linux versions (e.g. Fedora)
+                        only install the 64-bit version of the libstdc++ package.
                         Various parts of the JDK build require a static
                         link of the C++ runtime libraries to allow for maximum
                         portability of the built images.
--- a/corba/.hgtags	Fri Feb 20 17:34:16 2009 +0300
+++ b/corba/.hgtags	Sun Feb 22 12:26:39 2009 -0800
@@ -12,3 +12,14 @@
 3867c4d14a5bfdbb37c97b4874ccb0ee5343111c jdk7-b35
 0723891eb8d1c27e67c54163af0b4cea05a4e036 jdk7-b36
 59d5848bdedebe91cc2753acce78911bcb4a66db jdk7-b37
+08be802754b0296c91a7713b6d85a015dbcd5349 jdk7-b38
+55078b6661e286e90387d1d9950bd865f5cc436e jdk7-b39
+184e21992f47a8d730df1adc5b21a108f3125489 jdk7-b40
+c90eeda9594ed2983403e2049aed8d503126c62e jdk7-b41
+ccd6a16502e0650d91d85c4b86be05cbcd461a87 jdk7-b42
+9cd740d48a4855321d69f137a7109c00bcda76be jdk7-b43
+9803dac7254041b30ca65e3852d4c566b9757c3b jdk7-b44
+68814aa5b44b1f16931a97e7cd4028c70eb9586b jdk7-b45
+1691dbfc08f8ee3f4e23a1ff30cdff920718696c jdk7-b46
+167ad0164301f318b069a947e1c9c07ed667748a jdk7-b47
+0be222241fd405e48915647facfaa176621b39b9 jdk7-b48
--- a/corba/make/common/Defs-windows.gmk	Fri Feb 20 17:34:16 2009 +0300
+++ b/corba/make/common/Defs-windows.gmk	Sun Feb 22 12:26:39 2009 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 1999-2007 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/corba/make/common/shared/Compiler-msvc.gmk	Fri Feb 20 17:34:16 2009 +0300
+++ b/corba/make/common/shared/Compiler-msvc.gmk	Sun Feb 22 12:26:39 2009 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-2008 Sun Microsystems, Inc.  All Rights Reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/hotspot/.hgtags	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/.hgtags	Sun Feb 22 12:26:39 2009 -0800
@@ -12,3 +12,14 @@
 5fa96a5a7e76da7c8dad12486293a0456c2c116c jdk7-b35
 e91159f921a58af3698e6479ea1fc5818da66d09 jdk7-b36
 9ee9cf798b59e7d51f8c0a686959f313867a55d6 jdk7-b37
+d9bc824aa078573829bb66572af847e26e1bd12e jdk7-b38
+49ca90d77f34571b0757ebfcb8a7848ef2696b88 jdk7-b39
+81a0cbe3b28460ce836109934ece03db7afaf9cc jdk7-b40
+f9d938ede1960d18cb7cf23c645b026519c1a678 jdk7-b41
+ad8c8ca4ab0f4c86e74c061958f44a8f4a930f2c jdk7-b42
+fc6a5ae3fef5ebacfa896dbb3ae37715e388e282 jdk7-b43
+809e899c638bd9b21836abf9d09ab2a30ff3900b jdk7-b44
+945bf754069766e76873c53102fae48abf04cf5b jdk7-b45
+16bb38eeda35b46268eefa4c1f829eb086e0ca46 jdk7-b46
+fcb923bad68e2b10380a030ea83a723f4dc3d4d6 jdk7-b47
+bcb33806d186561c781992e5f4d8a90bb033f9f0 jdk7-b48
--- a/hotspot/agent/src/os/linux/ps_core.c	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/agent/src/os/linux/ps_core.c	Sun Feb 22 12:26:39 2009 -0800
@@ -238,8 +238,8 @@
   // Ignore the rest of the FileMapHeader. We don't need those fields here.
 };
 
-static bool read_int(struct ps_prochandle* ph, uintptr_t addr, int* pvalue) {
-   int i;
+static bool read_jboolean(struct ps_prochandle* ph, uintptr_t addr, jboolean* pvalue) {
+   jboolean i;
    if (ps_pdread(ph, (psaddr_t) addr, &i, sizeof(i)) == PS_OK) {
       *pvalue = i;
       return true;
@@ -295,7 +295,7 @@
          int fd = -1, m = 0;
          uintptr_t base = 0, useSharedSpacesAddr = 0;
          uintptr_t sharedArchivePathAddrAddr = 0, sharedArchivePathAddr = 0;
-         int useSharedSpaces = 0;
+         jboolean useSharedSpaces = 0;
          map_info* mi = 0;
 
          memset(classes_jsa, 0, sizeof(classes_jsa));
@@ -306,12 +306,15 @@
             return false;
          }
 
-         if (read_int(ph, useSharedSpacesAddr, &useSharedSpaces) != true) {
+         // Hotspot vm types are not exported to build this library. So
+         // using equivalent type jboolean to read the value of
+         // UseSharedSpaces which is same as hotspot type "bool".
+         if (read_jboolean(ph, useSharedSpacesAddr, &useSharedSpaces) != true) {
             print_debug("can't read the value of 'UseSharedSpaces' flag\n");
             return false;
          }
 
-         if (useSharedSpaces == 0) {
+         if ((int)useSharedSpaces == 0) {
             print_debug("UseSharedSpaces is false, assuming -Xshare:off!\n");
             return true;
          }
--- a/hotspot/agent/src/os/solaris/proc/saproc.cpp	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/agent/src/os/solaris/proc/saproc.cpp	Sun Feb 22 12:26:39 2009 -0800
@@ -502,8 +502,8 @@
 };
 
 static bool
-read_int(struct ps_prochandle* ph, psaddr_t addr, int* pvalue) {
-  int i;
+read_jboolean(struct ps_prochandle* ph, psaddr_t addr, jboolean* pvalue) {
+  jboolean i;
   if (ps_pread(ph, addr, &i, sizeof(i)) == PS_OK) {
     *pvalue = i;
     return true;
@@ -575,10 +575,13 @@
   }
 
   // read the value of the flag "UseSharedSpaces"
-  int value = 0;
-  if (read_int(ph, useSharedSpacesAddr, &value) != true) {
+  // Since hotspot types are not available to build this library. So
+  // equivalent type "jboolean" is used to read the value of "UseSharedSpaces"
+  // which is same as hotspot type "bool".
+  jboolean value = 0;
+  if (read_jboolean(ph, useSharedSpacesAddr, &value) != true) {
     THROW_NEW_DEBUGGER_EXCEPTION_("can't read 'UseSharedSpaces' flag", 1);
-  } else if (value == 0) {
+  } else if ((int)value == 0) {
     print_debug("UseSharedSpaces is false, assuming -Xshare:off!\n");
     return 1;
   }
--- a/hotspot/make/hotspot_distro	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/hotspot_distro	Sun Feb 22 12:26:39 2009 -0800
@@ -1,4 +1,4 @@
-#
+# 
 # Copyright 2006-2008 Sun Microsystems, Inc.  All Rights Reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -19,7 +19,7 @@
 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 # CA 95054 USA or visit www.sun.com if you need additional information or
 # have any questions.
-#
+# 
 
 #
 # This file format must remain compatible with both
--- a/hotspot/make/hotspot_version	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/hotspot_version	Sun Feb 22 12:26:39 2009 -0800
@@ -33,9 +33,9 @@
 # Don't put quotes (fail windows build).
 HOTSPOT_VM_COPYRIGHT=Copyright 2008
 
-HS_MAJOR_VER=14
+HS_MAJOR_VER=15
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=05
+HS_BUILD_NUMBER=02
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=7
--- a/hotspot/make/linux/adlc_updater	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/linux/adlc_updater	Sun Feb 22 12:26:39 2009 -0800
@@ -7,5 +7,13 @@
 #
 # adlc-updater <file> <source-dir> <target-dir>
 #
-[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
-( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
+fix_lines() {
+  # repair bare #line directives in $1 to refer to $2
+  awk < $1 > $1+ '
+    /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next}
+    {print}
+  ' F2=$2
+  mv $1+ $1
+}
+[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
+( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
--- a/hotspot/make/linux/makefiles/adlc.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/linux/makefiles/adlc.make	Sun Feb 22 12:26:39 2009 -0800
@@ -54,9 +54,11 @@
 Src_Dirs_I = ${Src_Dirs} $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
+# set flags for adlc compilation
+CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+
 # Force assertions on.
-SYSDEFS += -DASSERT
-CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+CPPFLAGS += -DASSERT
 
 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
 # Suppress warnings (for now)
@@ -125,7 +127,15 @@
 # Note that product files are updated via "mv", which is atomic.
 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
 
-ADLCFLAGS = -q -T
+# Pass -D flags into ADLC.
+ADLCFLAGS += $(SYSDEFS)
+
+# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
+ADLCFLAGS += -q -T
+
+# Normally, debugging is done directly on the ad_<arch>*.cpp files.
+# But -g will put #line directives in those files pointing back to <arch>.ad.
+#ADLCFLAGS += -g
 
 ifdef LP64
 ADLCFLAGS += -D_LP64
@@ -140,6 +150,8 @@
 #
 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
 ADLC_UPDATER = adlc_updater
+$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
+	$(QUIETLY) cp $< $@; chmod +x $@
 
 # This action refreshes all generated adlc files simultaneously.
 # The way it works is this:
@@ -149,9 +161,8 @@
 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
 # 5) If we actually updated any files, echo a notice.
 #
-refresh_adfiles: $(EXEC) $(SOURCE.AD)
+refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
 	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
-	$(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) )
 	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
  -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
 	    || { rm -rf $(TEMPDIR); exit 1; }
@@ -174,7 +185,15 @@
 # #########################################################################
 
 $(SOURCE.AD): $(SOURCES.AD)
-	$(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD)
+	$(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
+
+#PROCESS_AD_FILES = cat
+# Pass through #line directives, in case user enables -g option above:
+PROCESS_AD_FILES = awk '{ \
+    if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
+    if (need_lineno && $$0 !~ /\/\//) \
+      { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
+    print }'
 
 $(OUTDIR)/%.o: %.cpp
 	@echo Compiling $<
--- a/hotspot/make/linux/makefiles/top.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/linux/makefiles/top.make	Sun Feb 22 12:26:39 2009 -0800
@@ -64,6 +64,7 @@
                           $(VM)/gc_implementation/includeDB_gc_parallelScavenge \
                           $(VM)/gc_implementation/includeDB_gc_concurrentMarkSweep \
                           $(VM)/gc_implementation/includeDB_gc_parNew \
+                          $(VM)/gc_implementation/includeDB_gc_g1     \
                           $(VM)/gc_implementation/includeDB_gc_serial \
                           $(VM)/gc_implementation/includeDB_gc_shared
 
@@ -84,9 +85,9 @@
 
 AD_Dir   = $(GENERATED)/adfiles
 ADLC     = $(AD_Dir)/adlc
-AD_Spec  = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch).ad
+AD_Spec  = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad
 AD_Src   = $(GAMMADIR)/src/share/vm/adlc
-AD_Names = ad_$(Platform_arch).hpp ad_$(Platform_arch).cpp
+AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
 AD_Files = $(AD_Names:%=$(AD_Dir)/%)
 
 # AD_Files_If_Required/COMPILER1 = ad_stuff
--- a/hotspot/make/solaris/adlc_updater	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/adlc_updater	Sun Feb 22 12:26:39 2009 -0800
@@ -7,5 +7,13 @@
 #
 # adlc-updater <file> <source-dir> <target-dir>
 #
-[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
-( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
+fix_lines() {
+  # repair bare #line directives in $1 to refer to $2
+  awk < $1 > $1+ '
+    /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next}
+    {print}
+  ' F2=$2
+  mv $1+ $1
+}
+[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
+( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
--- a/hotspot/make/solaris/makefiles/adlc.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/adlc.make	Sun Feb 22 12:26:39 2009 -0800
@@ -54,9 +54,11 @@
 Src_Dirs_I = ${Src_Dirs} $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
+# set flags for adlc compilation
+CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+
 # Force assertions on.
-SYSDEFS += -DASSERT
-CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+CPPFLAGS += -DASSERT
 
 ifndef USE_GCC
   # We need libCstd.so for adlc 
@@ -141,7 +143,15 @@
 # Note that product files are updated via "mv", which is atomic.
 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
 
-ADLCFLAGS = -q -T
+# Pass -D flags into ADLC.
+ADLCFLAGS += $(SYSDEFS)
+
+# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
+ADLCFLAGS += -q -T
+
+# Normally, debugging is done directly on the ad_<arch>*.cpp files.
+# But -g will put #line directives in those files pointing back to <arch>.ad.
+#ADLCFLAGS += -g
 
 ifdef LP64
 ADLCFLAGS += -D_LP64
@@ -156,6 +166,8 @@
 #
 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
 ADLC_UPDATER = adlc_updater
+$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
+	$(QUIETLY) cp $< $@; chmod +x $@
 
 # This action refreshes all generated adlc files simultaneously.
 # The way it works is this:
@@ -165,9 +177,8 @@
 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
 # 5) If we actually updated any files, echo a notice.
 #
-refresh_adfiles: $(EXEC) $(SOURCE.AD)
+refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
 	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
-	$(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) )
 	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
  -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
 	    || { rm -rf $(TEMPDIR); exit 1; }
@@ -190,7 +201,15 @@
 # #########################################################################
 
 $(SOURCE.AD): $(SOURCES.AD)
-	$(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD)
+	$(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
+
+#PROCESS_AD_FILES = cat
+# Pass through #line directives, in case user enables -g option above:
+PROCESS_AD_FILES = awk '{ \
+    if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
+    if (need_lineno && $$0 !~ /\/\//) \
+      { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
+    print }'
 
 $(OUTDIR)/%.o: %.cpp
 	@echo Compiling $<
--- a/hotspot/make/solaris/makefiles/amd64.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/amd64.make	Sun Feb 22 12:26:39 2009 -0800
@@ -26,7 +26,6 @@
 CFLAGS += -DVM_LITTLE_ENDIAN
 
 # Not included in includeDB because it has no dependencies
-# Obj_Files += solaris_amd64.o
 Obj_Files += solaris_x86_64.o
 
 #
@@ -38,8 +37,6 @@
 
 # _lwp_create_interpose must have a frame
 OPT_CFLAGS/os_solaris_x86_64.o = -xO1
-# force C++ interpreter to be full optimization
-#OPT_CFLAGS/interpret.o = -fast -O4
 
 # Temporary until SS10 C++ compiler is fixed
 OPT_CFLAGS/generateOptoStub.o = -xO2
@@ -51,8 +48,6 @@
 # gcc
 # The serviceability agent relies on frame pointer (%rbp) to walk thread stack
 CFLAGS += -fno-omit-frame-pointer
-# force C++ interpreter to be full optimization
-#OPT_CFLAGS/interpret.o = -O3
 
 else
 # error
--- a/hotspot/make/solaris/makefiles/debug.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/debug.make	Sun Feb 22 12:26:39 2009 -0800
@@ -30,7 +30,7 @@
 
 ifeq ("${Platform_compiler}", "sparcWorks")
 
-ifeq ($(COMPILER_REV),5.8)
+ifeq ($(COMPILER_REV_NUMERIC),508)
   # SS11 SEGV when compiling with -g and -xarch=v8, using different backend
   DEBUG_CFLAGS/compileBroker.o = $(DEBUG_CFLAGS) -xO0
   DEBUG_CFLAGS/jvmtiTagMap.o   = $(DEBUG_CFLAGS) -xO0
--- a/hotspot/make/solaris/makefiles/dtrace.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/dtrace.make	Sun Feb 22 12:26:39 2009 -0800
@@ -87,17 +87,16 @@
 
 XLIBJVM_DB = 64/$(LIBJVM_DB)
 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
-XARCH = $(subst sparcv9,v9,$(shell echo $(ISA)))
 
 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
 	@echo Making $@
 	$(QUIETLY) mkdir -p 64/ ; \
-	$(CC) $(SYMFLAG) $(ARCHFLAG/$(XARCH)) -D$(TYPE) -I. -I$(GENERATED) \
+	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
 	@echo Making $@
 	$(QUIETLY) mkdir -p 64/ ; \
-	$(CC) $(SYMFLAG) $(ARCHFLAG/$(XARCH)) -D$(TYPE) -I. \
+	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
 		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
 endif # ifneq ("${ISA}","${BUILDARCH}")
 
@@ -116,27 +115,25 @@
 	$(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
 		./lib$(GENOFFS).so
 
-# $@.tmp is created first. It's to avoid empty $(JVMOFFS).h produced in error case.
+CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
+	cmp -s $@ $@.tmp; \
+	case $$? in \
+	0) rm -f $@.tmp;; \
+	*) rm -f $@ && mv $@.tmp $@ && echo Updated $@;; \
+	esac
+
+# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
 $(JVMOFFS).h: $(GENOFFS)
-	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp ; \
-	if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
-	then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
-	else rm -f $@.tmp; \
-	fi
+	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp
+	$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 
 $(JVMOFFS)Index.h: $(GENOFFS)
-	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp ; \
-	if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
-	then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
-	else rm -f $@.tmp; \
-	fi
+	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp
+	$(QUIETLY)  $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 
 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
-	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp ; \
-	if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
-	then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
-	else rm -f $@.tmp; \
-	fi
+	$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp
+	$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 
 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp 
 	$(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
--- a/hotspot/make/solaris/makefiles/fastdebug.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/fastdebug.make	Sun Feb 22 12:26:39 2009 -0800
@@ -37,7 +37,7 @@
 OPT_CFLAGS/SLOWER = -xO2
 
 # Problem with SS12 compiler, dtrace doesn't like the .o files  (bug 6693876)
-ifeq ($(COMPILER_REV), 5.9)
+ifeq ($(COMPILER_REV_NUMERIC), 509)
   # To avoid jvm98 crash
   OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER)
   # Not clear this workaround could be skipped in some cases.
@@ -46,47 +46,41 @@
   OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER)
 endif
 
-ifeq ($(COMPILER_REV), 5.5)
+ifeq ($(COMPILER_REV_NUMERIC), 505)
 # CC 5.5 has bug 4908364 with -xO4  (Fixed in 5.6)
 OPT_CFLAGS/library_call.o = $(OPT_CFLAGS/SLOWER)
-endif # COMPILER_REV == 5.5
+endif # COMPILER_REV_NUMERIC == 505
 
-ifeq ($(shell expr $(COMPILER_REV) \<= 5.4), 1)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \<= 504), 1)
 # Compilation of *_<arch>.cpp can take an hour or more at O3.  Use O2
 # See comments at top of sparc.make.
-OPT_CFLAGS/ad_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER)
-OPT_CFLAGS/dfa_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER)
-endif # COMPILER_REV <= 5.4
+OPT_CFLAGS/ad_$(Platform_arch_model).o = $(OPT_CFLAGS/SLOWER)
+OPT_CFLAGS/dfa_$(Platform_arch_model).o = $(OPT_CFLAGS/SLOWER)
+endif # COMPILER_REV_NUMERIC <= 504
 
-ifeq (${COMPILER_REV}, 5.0)
-# Avoid a compiler bug caused by using -xO<level> -g<level>
-# Since the bug also occurs with -xO0, use an innocuous value (must not be null)
-OPT_CFLAGS/c1_LIROptimizer_i486.o = -c
-endif
-
-ifeq ($(shell expr $(COMPILER_REV) \< 5.5), 1)
-# Same problem with Solaris/x86 compiler (both 5.0 and 5.2) on ad_i486.cpp.
-# CC build time is also too long for ad_i486_{gen,misc}.o
-OPT_CFLAGS/ad_i486.o = -c
-OPT_CFLAGS/ad_i486_gen.o = -c
-OPT_CFLAGS/ad_i486_misc.o = -c
-ifeq ($(Platform_arch), i486)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 505), 1)
+# Same problem with Solaris/x86 compiler (both 5.0 and 5.2) on ad_x86_{32,64}.cpp.
+# CC build time is also too long for ad_$(Platform_arch_model)_{gen,misc}.o
+OPT_CFLAGS/ad_$(Platform_arch_model).o = -c
+OPT_CFLAGS/ad_$(Platform_arch_model)_gen.o = -c
+OPT_CFLAGS/ad_$(Platform_arch_model)_misc.o = -c
+ifeq ($(Platform_arch), x86)
 # Same problem for the wrapper roosts: jni.o jvm.o
 OPT_CFLAGS/jni.o = -c
 OPT_CFLAGS/jvm.o = -c
 # Same problem in parse2.o (probably the Big Switch over bytecodes)
 OPT_CFLAGS/parse2.o = -c
-endif # Platform_arch == i486
+endif # Platform_arch == x86
 endif
 
 # Frame size > 100k  if we allow inlining via -g0!
 DEBUG_CFLAGS/bytecodeInterpreter.o = -g
 DEBUG_CFLAGS/bytecodeInterpreterWithChecks.o = -g
-ifeq ($(Platform_arch), i486)
+ifeq ($(Platform_arch), x86)
 # ube explodes on x86
 OPT_CFLAGS/bytecodeInterpreter.o = -xO1
 OPT_CFLAGS/bytecodeInterpreterWithChecks.o =  -xO1
-endif # Platform_arch == i486
+endif # Platform_arch == x86
 
 endif # Platform_compiler == sparcWorks
 
--- a/hotspot/make/solaris/makefiles/i486.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/i486.make	Sun Feb 22 12:26:39 2009 -0800
@@ -35,17 +35,13 @@
 ifeq ("${Platform_compiler}", "sparcWorks")
 
 # _lwp_create_interpose must have a frame
-OPT_CFLAGS/os_solaris_i486.o = -xO1
-# force C++ interpreter to be full optimization
-OPT_CFLAGS/interpret.o = -fast -O4
+OPT_CFLAGS/os_solaris_x86.o = -xO1
 else
 
 ifeq ("${Platform_compiler}", "gcc")
 # gcc
 # _lwp_create_interpose must have a frame
-OPT_CFLAGS/os_solaris_i486.o = -fno-omit-frame-pointer
-# force C++ interpreter to be full optimization
-OPT_CFLAGS/interpret.o = -O3
+OPT_CFLAGS/os_solaris_x86.o = -fno-omit-frame-pointer
 #
 else
 # error
@@ -57,7 +53,7 @@
 
 ifeq ("${Platform_compiler}", "sparcWorks")
 # ILD is gone as of SS11 (5.8), not supported in SS10 (5.7)
-ifeq ($(shell expr $(COMPILER_REV) \< 5.7), 1)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 507), 1)
   #
   # Bug in ild causes it to fail randomly. Until we get a fix we can't
   # use ild.
--- a/hotspot/make/solaris/makefiles/jvmg.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/jvmg.make	Sun Feb 22 12:26:39 2009 -0800
@@ -30,7 +30,7 @@
 
 ifeq ("${Platform_compiler}", "sparcWorks")
 
-ifeq ($(COMPILER_REV),5.8)
+ifeq ($(COMPILER_REV_NUMERIC),508)
   # SS11 SEGV when compiling with -g and -xarch=v8, using different backend
   DEBUG_CFLAGS/compileBroker.o = $(DEBUG_CFLAGS) -xO0
   DEBUG_CFLAGS/jvmtiTagMap.o   = $(DEBUG_CFLAGS) -xO0
--- a/hotspot/make/solaris/makefiles/optimized.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/optimized.make	Sun Feb 22 12:26:39 2009 -0800
@@ -33,7 +33,7 @@
 ifeq ("${Platform_compiler}", "sparcWorks")
 
 # Problem with SS12 compiler, dtrace doesn't like the .o files  (bug 6693876)
-ifeq ($(COMPILER_REV),5.9)
+ifeq ($(COMPILER_REV_NUMERIC),509)
   # Not clear this workaround could be skipped in some cases.
   OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g
   OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g
@@ -41,9 +41,9 @@
 endif
 
 # Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
-ifeq ($(COMPILER_REV),5.8))
+ifeq ($(COMPILER_REV_NUMERIC),508))
 OPT_CFLAGS/ciTypeFlow.o = $(OPT_CFLAGS/O2)
-endif # COMPILER_REV == 5.8
+endif # COMPILER_REV_NUMERIC == 508
 
 endif # Platform_compiler == sparcWorks
 
--- a/hotspot/make/solaris/makefiles/product.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/product.make	Sun Feb 22 12:26:39 2009 -0800
@@ -41,7 +41,7 @@
 ifeq ("${Platform_compiler}", "sparcWorks")
 
 # Problem with SS12 compiler, dtrace doesn't like the .o files  (bug 6693876)
-ifeq ($(COMPILER_REV),5.9)
+ifeq ($(COMPILER_REV_NUMERIC),509)
   # Not clear this workaround could be skipped in some cases.
   OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g
   OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g
@@ -49,9 +49,9 @@
 endif
 
 # Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
-ifeq ($(COMPILER_REV),5.8)
+ifeq ($(COMPILER_REV_NUMERIC),508)
 OPT_CFLAGS/ciTypeFlow.o = $(OPT_CFLAGS/O2)
-endif # COMPILER_REV == 5.8
+endif # COMPILER_REV_NUMERIC == 508
 
 endif # Platform_compiler == sparcWorks
 
--- a/hotspot/make/solaris/makefiles/sparc.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/sparc.make	Sun Feb 22 12:26:39 2009 -0800
@@ -26,7 +26,7 @@
 ASFLAGS += $(AS_ARCHFLAG)
 
 ifeq ("${Platform_compiler}", "sparcWorks")
-ifeq ($(shell expr $(COMPILER_REV) \< 5.5), 1)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 505), 1)
 # For 5.2 ad_sparc file is compiled with -O2 %%%% remove when adlc is fixed
 OPT_CFLAGS/ad_sparc.o = $(OPT_CFLAGS/SLOWER)
 OPT_CFLAGS/dfa_sparc.o = $(OPT_CFLAGS/SLOWER)
@@ -39,7 +39,7 @@
 OPT_CFLAGS/jniHandles.o = $(OPT_CFLAGS/O2)
 # CC brings an US-II to its knees compiling the vmStructs asserts under -xO4
 OPT_CFLAGS/vmStructs.o = $(OPT_CFLAGS/O2)
-endif
+endif # COMPILER_REV_NUMERIC < 505
 else
 # Options for gcc
 OPT_CFLAGS/ad_sparc.o = $(OPT_CFLAGS/SLOWER)
--- a/hotspot/make/solaris/makefiles/sparcWorks.make	Fri Feb 20 17:34:16 2009 +0300
+++ b/hotspot/make/solaris/makefiles/sparcWorks.make	Sun Feb 22 12:26:39 2009 -0800
@@ -41,9 +41,9 @@
 
 # Get the last thing on the line that looks like x.x+ (x is a digit).
 COMPILER_REV := \
-$(shell $(CPP) -V 2>&1 | sed -e 's/^.*\([1-9]\.[0-9][0-9]*\).*/\1/')
+$(shell $(CPP) -V 2>&1 | sed -n 's/^.*[ ,\t]C++[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
 C_COMPILER_REV := \
-$(shell $(CC) -V 2>&1 | grep -i "cc:" |  sed -e 's/^.*\([1-9]\.[0-9][0-9]*\).*/\1/')
+$(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
 
 # Pick which compiler is validated
 ifeq ($(JDK_MINOR_VERSION),6)
@@ -60,17 +60,19 @@
 ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := ${VALIDATED_COMPILER_REV}
 ifneq (${COMPILER_REV},${ENFORCE_COMPILER_REV})
 dummy_target_to_enforce_compiler_rev:=\
-$(info WARNING: You are using CC version ${COMPILER_REV} \
-and should be using version ${ENFORCE_COMPILER_REV})
+$(shell echo >&2 WARNING: You are using CC version ${COMPILER_REV} \
+and should be using version ${ENFORCE_COMPILER_REV}. Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this warning.)
 endif
 
 ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := ${VALIDATED_C_COMPILER_REV}
 ifneq (${C_COMPILER_REV},${ENFORCE_C_COMPILER_REV})
 dummy_target_to_enforce_c_compiler_rev:=\
-$(info WARNING: You are using cc version ${C_COMPILER_REV} \
-and should be using version ${ENFORCE_C_COMPILER_REV})
+$(shell echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} \
+and should be using version ${ENFORCE_C_COMPILER_REV}. Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this warning.)
 endif
 
+COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }')
+
 # Fail the build if __fabsf is used.  __fabsf exists only in Solaris 8 2/04
 # and newer; objects with a dependency on this symbol will not run on older
 # Solaris 8.
@@ -120,7 +122,7 @@
 ARCHFLAG_NEW/amd64   = -m64
 
 # Select the ARCHFLAGs and other SS12 (5.9) options
-ifeq ($(shell expr $(COMPILER_REV) \>= 5.9), 1)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
   ARCHFLAG/sparc   = $(ARCHFLAG_NEW/sparc)
   ARCHFLAG/sparcv9 = $(ARCHFLAG_NEW/sparcv9)
   ARCHFLAG/i486    = $(ARCHFLAG_NEW/i486)
@@ -150,7 +152,7 @@
 # Begin current (>=5.6) Forte compiler options #
 #################################################
 
-ifeq ($(shell expr $(COMPILER_REV) \>= 5.6), 1)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 506), 1)
 
 ifeq ("${Platform_arch}", "sparc")
 
@@ -167,7 +169,7 @@
 # Begin current (>=5.5) Forte compiler options #