Merge
This commit is contained in:
commit
2437566bc1
4
.hgtags
4
.hgtags
@ -2,3 +2,7 @@
|
||||
bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25
|
||||
5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
|
||||
67052ac87fc927d048e62ec54ff42adb230d3f7c jdk7-b27
|
||||
18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
|
||||
bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
|
||||
bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
|
||||
cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
|
||||
|
@ -2,3 +2,7 @@ cfeea66a3fa8ca3686a7cfa2d0ce8ab0169f168d jdk7-b24
|
||||
cbc8ad9dd0e085a607427ea35411990982f19a36 jdk7-b25
|
||||
9410f77cc30c604d1caf7c9fe3a57fa19e1acbe8 jdk7-b26
|
||||
11b4dc9f2be3523ef989a0db8459eb56b3045c3a jdk7-b27
|
||||
56652b46f328937f6b9b5130f1e4cd80f48868ef jdk7-b28
|
||||
31e08f70e88d77c2053f91c21b49a04296bdc59a jdk7-b29
|
||||
2dab2f712e1832c92acfa63ec0337048b9422c20 jdk7-b30
|
||||
3300a35a0bd56d695b92fe0b34f03ebbfc939064 jdk7-b31
|
||||
|
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 1995-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
|
||||
|
@ -5,15 +5,12 @@
|
||||
</head>
|
||||
<body style="background-color:lightcyan">
|
||||
<!-- ====================================================== -->
|
||||
<table width="100%" style="background-color:white">
|
||||
+ <table width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="http://openjdk.java.net" border="0">
|
||||
<img alt="OpenJDK"
|
||||
src="http://openjdk.java.net/images/openjdk.png"
|
||||
width=256
|
||||
style="border-style: none"/>
|
||||
</a>
|
||||
<img alt="OpenJDK"
|
||||
src="http://openjdk.java.net/images/openjdk.png"
|
||||
width=256 />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -54,6 +51,7 @@
|
||||
<li><a href="#bootjdk">Bootstrap JDK</a> </li>
|
||||
<li><a href="#binaryplugs">Binary Plugs</a> </li>
|
||||
<li><a href="#importjdk">Optional Import JDK</a> </li>
|
||||
<li><a href="#ant">Ant</a> </li>
|
||||
<li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
|
||||
<li><a href="#compilers">Compilers</a>
|
||||
<ul>
|
||||
@ -424,24 +422,37 @@
|
||||
you should use <tt>gmake</tt>
|
||||
which will be located in either the <tt>/opt/sfw/bin</tt> or
|
||||
<tt>/usr/sfw/bin</tt> directory.
|
||||
In more recent versions of Solaris GNU make can be found
|
||||
at <tt>/usr/bin/gmake</tt>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Windows:</strong>
|
||||
Make sure you start your build inside a bash/sh/ksh shell.
|
||||
<br>
|
||||
<b>WARNING:</b> Watch out for make version 3.81, it may
|
||||
not work due to a lack of support for drive letter paths
|
||||
like <tt>C:/</tt>. See
|
||||
<a href="#gmake">section on gmake</a>.
|
||||
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.
|
||||
version that has this problem fixed, like 3.82.
|
||||
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>.
|
||||
Use of this older 3.80 make.exe may require that you install the
|
||||
libintl2.dll library or libintl2 cygwin package which is
|
||||
no longer installed by default by the cygwin installer.
|
||||
<br>
|
||||
Also see the
|
||||
<a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank">
|
||||
mozilla developer center</a>
|
||||
on this topic.
|
||||
<br>
|
||||
It's hoped that when make 3.82 starts shipping in a future cygwin
|
||||
release that this MS-DOS path issue will be fixed.
|
||||
In addition to the above 3.80 make.exe you can download
|
||||
this
|
||||
<a href="http://www.cmake.org/files/cygwin/make.exe">
|
||||
www.cmake.org make.exe</a> which will not have a libintl2.dll
|
||||
dependency.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
@ -507,6 +518,11 @@
|
||||
Install or upgrade the <a href="#freetype">FreeType development
|
||||
package</a>.
|
||||
</li>
|
||||
<li>
|
||||
Install
|
||||
<a href="#ant">Ant</a>, set
|
||||
<tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
|
||||
</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -567,6 +583,11 @@
|
||||
<a href="#cups">CUPS Include files</a>, set
|
||||
<tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>.
|
||||
</li>
|
||||
<li>
|
||||
Install
|
||||
<a href="#ant">Ant</a>, set
|
||||
<tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
|
||||
</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -654,6 +675,11 @@
|
||||
Install
|
||||
<a href="#dxsdk">Microsoft DirectX SDK</a>.
|
||||
</li>
|
||||
<li>
|
||||
Install
|
||||
<a href="#ant">Ant</a>, set
|
||||
<tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
|
||||
</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -736,6 +762,22 @@
|
||||
and the build will copy the needed files from this import area.
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
<h4><a name="ant">Ant</a></h4>
|
||||
<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">
|
||||
Ant download site</a>.
|
||||
You should always 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>
|
||||
<blockquote>
|
||||
See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank">
|
||||
@ -915,6 +957,21 @@
|
||||
and
|
||||
<tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt>
|
||||
to refer to place where library and header files are installed.
|
||||
<p>
|
||||
Building the freetype 2 libraries from scratch is also possible,
|
||||
however on Windows refer to the
|
||||
<a href="http://freetype.freedesktop.org/wiki/FreeType_DLL">
|
||||
Windows FreeType DLL build instructions</a>.
|
||||
<p>
|
||||
Note that by default FreeType is built with byte code hinting
|
||||
support disabled due to licensing restrictions.
|
||||
In this case, text appearance and metrics are expected to
|
||||
differ from Sun's official JDK build.
|
||||
See
|
||||
<a href="http://freetype.sourceforge.net/freetype2/index.html">
|
||||
the SourceForge FreeType2 Home Page
|
||||
</a>
|
||||
for more information.
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
<h4><a name="alsa">Advanced Linux Sound Architecture (ALSA) (Linux only)</a></h4>
|
||||
@ -1036,7 +1093,8 @@
|
||||
<tr>
|
||||
<td>make.exe</td>
|
||||
<td>Devel</td>
|
||||
<td>make: The GNU version of the 'make' utility</td>
|
||||
<td>make: The GNU version of the 'make' utility<br>
|
||||
<b>NOTE</b>: See <a href="#gmake">the GNU make section</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>m4.exe</td>
|
||||
@ -1050,7 +1108,7 @@
|
||||
<td>cpio: A program to manage archives of files</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>awk.exe</td>
|
||||
<td>gawk.exe</td>
|
||||
<td>Utils</td>
|
||||
<td>awk: Pattern-directed scanning and processing language</td>
|
||||
</tr>
|
||||
@ -1061,17 +1119,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zip.exe</td>
|
||||
<td>Utils</td>
|
||||
<td>Archive</td>
|
||||
<td>zip: Package and compress (archive) files</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>unzip.exe</td>
|
||||
<td>Utils</td>
|
||||
<td>Archive</td>
|
||||
<td>unzip: Extract compressed files in a ZIP archive</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>free.exe</td>
|
||||
<td>Utils</td>
|
||||
<td>Procps</td>
|
||||
<td>free: Display amount of free and used memory in the system</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -1224,46 +1282,6 @@
|
||||
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.
|
||||
@ -1272,118 +1290,12 @@
|
||||
recent Binary Plugs install image
|
||||
and set this variable to that location.
|
||||
</dd>
|
||||
<dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt>
|
||||
<dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</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_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>,
|
||||
on Windows with MKS
|
||||
<tt>%SYSTEMDRIVE%/UTILS</tt>,
|
||||
and on Windows with CYGWIN
|
||||
<tt>/usr/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_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_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="ALT_SLASHJAVA"><tt>ALT_SLASHJAVA</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.
|
||||
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_BUILD_BINARY_PLUGS_PATH"><tt>ALT_BUILD_BINARY_PLUGS_PATH</tt></a></dt>
|
||||
<dd>
|
||||
@ -1405,36 +1317,186 @@
|
||||
Where each of these directories contain the binary plugs image
|
||||
for that platform.
|
||||
</dd>
|
||||
<dt><strong>Windows specific:</strong></dt>
|
||||
<dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt>
|
||||
<dd>
|
||||
<dl>
|
||||
<dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
|
||||
<dd>
|
||||
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_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_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt>
|
||||
<dd>
|
||||
<strong>i586 only:</strong>
|
||||
The location of the
|
||||
<a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>.
|
||||
</dd>
|
||||
</dl>
|
||||
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_SLASHJAVA"><tt>ALT_SLASHJAVA</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>
|
||||
</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
@ -2,3 +2,7 @@
|
||||
5e61d5df62586474414d1058e9186441aa908f51 jdk7-b25
|
||||
0043eb3d4e628f049ff80a8c223b5657136085e7 jdk7-b26
|
||||
e84e9018bebbf3e5bafc5706e7882a15cb1c7d99 jdk7-b27
|
||||
27509b7d21ed783b3f6eb7b7612781c675a30c2f jdk7-b28
|
||||
8b71960f79ce0a6fb8ddfeec03f03d400a361747 jdk7-b29
|
||||
c0252adbb2abbfdd6c35595429ac6fbdd98e20ac jdk7-b30
|
||||
ef6af34d75a7b44e77083f1d4ee47631fa09d3b4 jdk7-b31
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2005 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
|
||||
@ -31,6 +31,9 @@ COMPILER_NAME=Sun Studio
|
||||
|
||||
# Sun Studio Compiler settings specific to Solaris
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
# FIXUP: Change to SS12 when validated
|
||||
#COMPILER_VERSION=SS12
|
||||
#REQUIRED_CC_VER=5.9
|
||||
COMPILER_VERSION=SS11
|
||||
REQUIRED_CC_VER=5.8
|
||||
CC = $(COMPILER_PATH)cc
|
||||
@ -51,8 +54,8 @@ endif
|
||||
# Sun Studio Compiler settings specific to Linux
|
||||
ifeq ($(PLATFORM), linux)
|
||||
# This has not been tested
|
||||
COMPILER_VERSION=SS11
|
||||
REQUIRED_CC_VER=5.8
|
||||
COMPILER_VERSION=SS12
|
||||
REQUIRED_CC_VER=5.9
|
||||
CC = $(COMPILER_PATH)cc
|
||||
CPP = $(COMPILER_PATH)cc -E
|
||||
CXX = $(COMPILER_PATH)CC
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2005-2007 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!echo "This is not a shell script"
|
||||
#############################################################################
|
||||
#
|
||||
# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2006-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
|
||||
@ -123,9 +123,15 @@ if [ "${osname}" = SunOS ] ; then
|
||||
solaris_arch=i386
|
||||
fi
|
||||
|
||||
# Get the SS11 compilers into path (make sure it matches ALT setting)
|
||||
compiler_path=${jdk_devtools}/${solaris_arch}/SUNWspro/SS11/bin
|
||||
compiler_name=SS11
|
||||
# Get the compilers into path (make sure it matches ALT setting)
|
||||
if [ "${JPRT_SOLARIS_COMPILER_NAME}" != "" ] ; then
|
||||
compiler_name=${JPRT_SOLARIS_COMPILER_NAME}
|
||||
else
|
||||
# FIXUP: Change to SS12 when validated
|
||||
#compiler_name=SS12
|
||||
compiler_name=SS11
|
||||
fi
|
||||
compiler_path=${jdk_devtools}/${solaris_arch}/SUNWspro/${compiler_name}/bin
|
||||
ALT_COMPILER_PATH="${compiler_path}"
|
||||
export ALT_COMPILER_PATH
|
||||
dirMustExist "${compiler_path}" ALT_COMPILER_PATH
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 1997-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -2,3 +2,6 @@
|
||||
^dist/
|
||||
^nbproject/private/
|
||||
^src/share/tools/hsdis/bin/
|
||||
^src/share/tools/IdealGraphVisualizer/[a-zA-Z0-9]*/build/
|
||||
^src/share/tools/IdealGraphVisualizer/build/
|
||||
^src/share/tools/IdealGraphVisualizer/dist/
|
||||
|
@ -2,3 +2,7 @@ a61af66fc99eb5ec9d50c05b0c599757b1289ceb jdk7-b24
|
||||
7836be3e92d0a4f9ee7566f602c91f5609534e66 jdk7-b25
|
||||
ad0b851458ff9d1d490ed2d79bb84f75a9fdb753 jdk7-b26
|
||||
e3d2692f8442e2d951166dc9bd9a330684754438 jdk7-b27
|
||||
c14dab40ed9bf45ad21150bd70c9c80cdf655415 jdk7-b28
|
||||
4f91c08b3e4498213a9c5a24898f7d9c38cf86fb jdk7-b29
|
||||
d1605aabd0a15ecf93787c47de63073c33fba52d jdk7-b30
|
||||
9c2ecc2ffb125f14fab3857fe7689598956348a0 jdk7-b31
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2000-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
|
||||
@ -246,16 +246,16 @@ SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
|
||||
all: filelist
|
||||
@mkdir -p $(OUTPUT_DIR)
|
||||
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
@javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
@${JDK_HOME}/bin/javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
|
||||
|
||||
allprof: filelist
|
||||
@mkdir -p $(OUTPUT_DIR)
|
||||
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
@javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
@${JDK_HOME}/bin/javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2005 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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -398,7 +398,7 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
|
||||
frame.getContentPane().add(desktop);
|
||||
GraphicsUtilities.reshapeToAspectRatio(frame, 4.0f/3.0f, 0.75f, Toolkit.getDefaultToolkit().getScreenSize());
|
||||
GraphicsUtilities.centerInContainer(frame, Toolkit.getDefaultToolkit().getScreenSize());
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(new java.lang.Thread() {
|
||||
public void run() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2005 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
|
||||
@ -148,7 +148,7 @@ public class SALauncherLoader extends URLClassLoader {
|
||||
}
|
||||
|
||||
try {
|
||||
return file.toURL();
|
||||
return file.toURI().toURL();
|
||||
} catch (MalformedURLException mue) {
|
||||
throw new InternalError(mue.getMessage());
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2001-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
|
||||
@ -47,6 +47,6 @@ public class Main {
|
||||
4.0f/3.0f, 0.85f, Toolkit.getDefaultToolkit().getScreenSize());
|
||||
GraphicsUtilities.centerInContainer(frame,
|
||||
Toolkit.getDefaultToolkit().getScreenSize());
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2001-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
@ -78,7 +78,7 @@ class SAJDIClassLoader extends URLClassLoader {
|
||||
this(parent);
|
||||
this.classPathSet = true;
|
||||
try {
|
||||
addURL(new File(classPath).toURL());
|
||||
addURL(new File(classPath).toURI().toURL());
|
||||
} catch(MalformedURLException mue) {
|
||||
throw new RuntimeException(mue);
|
||||
}
|
||||
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* @(#)BinaryTreeDictionary.java
|
||||
* Copyright 2000-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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.jvm.hotspot.memory;
|
||||
|
||||
import java.util.*;
|
||||
import sun.jvm.hotspot.debugger.*;
|
||||
import sun.jvm.hotspot.types.*;
|
||||
import sun.jvm.hotspot.runtime.*;
|
||||
|
||||
public class BinaryTreeDictionary extends VMObject {
|
||||
static {
|
||||
VM.registerVMInitializedObserver(new Observer() {
|
||||
public void update(Observable o, Object data) {
|
||||
initialize(VM.getVM().getTypeDataBase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static synchronized void initialize(TypeDataBase db) {
|
||||
Type type = db.lookupType("BinaryTreeDictionary");
|
||||
totalSizeField = type.getCIntegerField("_totalSize");
|
||||
}
|
||||
|
||||
// Fields
|
||||
private static CIntegerField totalSizeField;
|
||||
|
||||
// Accessors
|
||||
public long size() {
|
||||
return totalSizeField.getValue(addr);
|
||||
}
|
||||
|
||||
// Constructor
|
||||
public BinaryTreeDictionary(Address addr) {
|
||||
super(addr);
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
@ -35,6 +35,20 @@ import sun.jvm.hotspot.utilities.*;
|
||||
public class CompactibleFreeListSpace extends CompactibleSpace {
|
||||
private static AddressField collectorField;
|
||||
|
||||
// for free size, three fields
|
||||
// FreeBlockDictionary* _dictionary; // ptr to dictionary for large size blocks
|
||||
// FreeList _indexedFreeList[IndexSetSize]; // indexed array for small size blocks
|
||||
// LinearAllocBlock _smallLinearAllocBlock; // small linear alloc in TLAB
|
||||
private static AddressField indexedFreeListField;
|
||||
private static AddressField dictionaryField;
|
||||
private static long smallLinearAllocBlockFieldOffset;
|
||||
private static long indexedFreeListSizeOf;
|
||||
|
||||
private int heapWordSize; // 4 for 32bit, 8 for 64 bits
|
||||
private int IndexSetStart; // for small indexed list
|
||||
private int IndexSetSize;
|
||||
private int IndexSetStride;
|
||||
|
||||
static {
|
||||
VM.registerVMInitializedObserver(new Observer() {
|
||||
public void update(Observable o, Object data) {
|
||||
@ -51,10 +65,26 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
|
||||
|
||||
Type type = db.lookupType("CompactibleFreeListSpace");
|
||||
collectorField = type.getAddressField("_collector");
|
||||
collectorField = type.getAddressField("_collector");
|
||||
dictionaryField = type.getAddressField("_dictionary");
|
||||
indexedFreeListField = type.getAddressField("_indexedFreeList[0]");
|
||||
smallLinearAllocBlockFieldOffset = type.getField("_smallLinearAllocBlock").getOffset();
|
||||
}
|
||||
|
||||
public CompactibleFreeListSpace(Address addr) {
|
||||
super(addr);
|
||||
if ( VM.getVM().isLP64() ) {
|
||||
heapWordSize = 8;
|
||||
IndexSetStart = 1;
|
||||
IndexSetStride = 1;
|
||||
}
|
||||
else {
|
||||
heapWordSize = 4;
|
||||
IndexSetStart = 2;
|
||||
IndexSetStride = 2;
|
||||
}
|
||||
|
||||
IndexSetSize = 257;
|
||||
}
|
||||
|
||||
// Accessing block offset table
|
||||
@ -62,9 +92,17 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
|
||||
return (CMSCollector) VMObjectFactory.newObject(
|
||||
CMSCollector.class,
|
||||
collectorField.getValue(addr));
|
||||
}
|
||||
}
|
||||
|
||||
public long free0() {
|
||||
return capacity() - used0();
|
||||
}
|
||||
|
||||
public long used() {
|
||||
return capacity() - free();
|
||||
}
|
||||
|
||||
public long used0() {
|
||||
List regions = getLiveRegions();
|
||||
long usedSize = 0L;
|
||||
for (Iterator itr = regions.iterator(); itr.hasNext();) {
|
||||
@ -75,11 +113,41 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
|
||||
}
|
||||
|
||||
public long free() {
|
||||
return capacity() - used();
|
||||
}
|
||||
// small chunks
|
||||
long size = 0;
|
||||
Address cur = addr.addOffsetTo( indexedFreeListField.getOffset() );
|
||||
cur = cur.addOffsetTo(IndexSetStart*FreeList.sizeOf());
|
||||
for (int i=IndexSetStart; i<IndexSetSize; i += IndexSetStride) {
|
||||
FreeList freeList = (FreeList) VMObjectFactory.newObject(FreeList.class, cur);
|
||||
size += i*freeList.count();
|
||||
cur= cur.addOffsetTo(IndexSetStride*FreeList.sizeOf());
|
||||
}
|
||||
|
||||
// large block
|
||||
BinaryTreeDictionary bfbd = (BinaryTreeDictionary) VMObjectFactory.newObject(BinaryTreeDictionary.class,
|
||||
dictionaryField.getValue(addr));
|
||||
size += bfbd.size();
|
||||
|
||||
|
||||
// linear block in TLAB
|
||||
LinearAllocBlock lab = (LinearAllocBlock) VMObjectFactory.newObject(LinearAllocBlock.class,
|
||||
addr.addOffsetTo(smallLinearAllocBlockFieldOffset));
|
||||
size += lab.word_size();
|
||||
|
||||
return size*heapWordSize;
|
||||
}
|
||||
|
||||
public void printOn(PrintStream tty) {
|
||||
tty.print("free-list-space");
|
||||
tty.print("[ " + bottom() + " , " + end() + " ) ");
|
||||
long cap = capacity();
|
||||
long used_size = used();
|
||||
long free_size = free();
|
||||
int used_perc = (int)((double)used_size/cap*100);
|
||||
tty.print("space capacity = " + cap + " used(" + used_perc + "%)= " + used_size + " ");
|
||||
tty.print("free= " + free_size );
|
||||
tty.print("\n");
|
||||
|
||||
}
|
||||
|
||||
public Address skipBlockSizeUsingPrintezisBits(Address pos) {
|
||||
@ -121,7 +189,7 @@ public class CompactibleFreeListSpace extends CompactibleSpace {
|
||||
cur = cur.addOffsetTo(adjustObjectSizeInBytes(size));
|
||||
}
|
||||
|
||||
if (FreeChunk.secondWordIndicatesFreeChunk(dbg.getAddressValue(klassOop))) {
|
||||
if (FreeChunk.indicatesFreeChunk(cur)) {
|
||||
if (! cur.equals(regionStart)) {
|
||||
res.add(new MemRegion(regionStart, cur));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -96,9 +96,9 @@ public class DefNewGeneration extends Generation {
|
||||
public void printOn(PrintStream tty) {
|
||||
tty.print(" eden");
|
||||
eden().printOn(tty);
|
||||
tty.print(" from");
|
||||
tty.print("\n from");
|
||||
from().printOn(tty);
|
||||
tty.print(" to ");
|
||||
tty.print("\n to ");
|
||||
to().printOn(tty);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-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
|
||||
@ -28,6 +28,7 @@ import java.util.*;
|
||||
import sun.jvm.hotspot.debugger.*;
|
||||
import sun.jvm.hotspot.types.*;
|
||||
import sun.jvm.hotspot.runtime.*;
|
||||
import sun.jvm.hotspot.oops.*;
|
||||
|
||||
public class FreeChunk extends VMObject {
|
||||
static {
|
||||
@ -42,13 +43,13 @@ public class FreeChunk extends VMObject {
|
||||
Type type = db.lookupType("FreeChunk");
|
||||
nextField = type.getAddressField("_next");
|
||||
prevField = type.getAddressField("_prev");
|
||||
sizeField = type.getCIntegerField("_size");
|
||||
sizeField = type.getAddressField("_size");
|
||||
}
|
||||
|
||||
// Fields
|
||||
private static AddressField nextField;
|
||||
private static AddressField prevField;
|
||||
private static CIntegerField sizeField;
|
||||
private static AddressField sizeField;
|
||||
|
||||
// Accessors
|
||||
public FreeChunk next() {
|
||||
@ -61,20 +62,34 @@ public class FreeChunk extends VMObject {
|
||||
}
|
||||
|
||||
public long size() {
|
||||
return sizeField.getValue(addr);
|
||||
if (VM.getVM().isCompressedOopsEnabled()) {
|
||||
Mark mark = new Mark(sizeField.getValue(addr));
|
||||
return mark.getSize();
|
||||
} else {
|
||||
Address size = sizeField.getValue(addr);
|
||||
Debugger dbg = VM.getVM().getDebugger();
|
||||
return dbg.getAddressValue(size);
|
||||
}
|
||||
}
|
||||
|
||||
public FreeChunk(Address addr) {
|
||||
super(addr);
|
||||
}
|
||||
|
||||
public static boolean secondWordIndicatesFreeChunk(long word) {
|
||||
return (word & 0x1L) == 0x1L;
|
||||
public static boolean indicatesFreeChunk(Address cur) {
|
||||
FreeChunk f = new FreeChunk(cur);
|
||||
return f.isFree();
|
||||
}
|
||||
|
||||
public boolean isFree() {
|
||||
Debugger dbg = VM.getVM().getDebugger();
|
||||
Address prev = prevField.getValue(addr);
|
||||
return secondWordIndicatesFreeChunk(dbg.getAddressValue(prev));
|
||||
if (VM.getVM().isCompressedOopsEnabled()) {
|
||||
Mark mark = new Mark(sizeField.getValue(addr));
|
||||
return mark.isCmsFreeChunk();
|
||||
} else {
|
||||
Address prev = prevField.getValue(addr);
|
||||
Debugger dbg = VM.getVM().getDebugger();
|
||||
long word = dbg.getAddressValue(prev);
|
||||
return (word & 0x1L) == 0x1L;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,72 @@
|
||||
/*
|
||||
* @(#)FreeList.java
|
||||
*
|
||||
* Copyright 2000-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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.jvm.hotspot.memory;
|
||||
|
||||
import java.util.*;
|
||||
import sun.jvm.hotspot.debugger.*;
|
||||
import sun.jvm.hotspot.types.*;
|
||||
import sun.jvm.hotspot.runtime.*;
|
||||
|
||||
public class FreeList extends VMObject {
|
||||
static {
|
||||
VM.registerVMInitializedObserver(new Observer() {
|
||||
public void update(Observable o, Object data) {
|
||||
initialize(VM.getVM().getTypeDataBase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static synchronized void initialize(TypeDataBase db) {
|
||||
Type type = db.lookupType("FreeList");
|
||||
sizeField = type.getCIntegerField("_size");
|
||||
countField = type.getCIntegerField("_count");
|
||||
headerSize = type.getSize();
|
||||
}
|
||||
|
||||
// Fields
|
||||
private static CIntegerField sizeField;
|
||||
private static CIntegerField countField;
|
||||
private static long headerSize;
|
||||
|
||||
//Constructor
|
||||
public FreeList(Address address) {
|
||||
super(address);
|
||||
}
|
||||
|
||||
// Accessors
|
||||
public long size() {
|
||||
return sizeField.getValue(addr);
|
||||
}
|
||||
|
||||
public long count() {
|
||||
return countField.getValue(addr);
|
||||
}
|
||||
|
||||
public static long sizeOf() {
|
||||
return headerSize;
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* @(#)BinaryTreeDictionary.java
|
||||
* Copyright 2000-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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.jvm.hotspot.memory;
|
||||
|
||||
import java.util.*;
|
||||
import sun.jvm.hotspot.debugger.*;
|
||||
import sun.jvm.hotspot.types.*;
|
||||
import sun.jvm.hotspot.runtime.*;
|
||||
|
||||
public class LinearAllocBlock extends VMObject {
|
||||
static {
|
||||
VM.registerVMInitializedObserver(new Observer() {
|
||||
public void update(Observable o, Object data) {
|
||||
initialize(VM.getVM().getTypeDataBase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static synchronized void initialize(TypeDataBase db) {
|
||||
Type type = db.lookupType("LinearAllocBlock");
|
||||
word_sizeField= type.getCIntegerField("_word_size");
|
||||
}
|
||||
|
||||
// Fields
|
||||
private static CIntegerField word_sizeField;
|
||||
|
||||
// Accessors
|
||||
public long word_size() {
|
||||
return word_sizeField.getValue(addr);
|
||||
}
|
||||
|
||||
// Constructor
|
||||
public LinearAllocBlock(Address addr) {
|
||||
super(addr);
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2001-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2001-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
|
||||
@ -79,6 +79,11 @@ public class Mark extends VMObject {
|
||||
noHashInPlace = db.lookupLongConstant("markOopDesc::no_hash_in_place").longValue();
|
||||
noLockInPlace = db.lookupLongConstant("markOopDesc::no_lock_in_place").longValue();
|
||||
maxAge = db.lookupLongConstant("markOopDesc::max_age").longValue();
|
||||
|
||||
/* Constants in markOop used by CMS. */
|
||||
cmsShift = db.lookupLongConstant("markOopDesc::cms_shift").longValue();
|
||||
cmsMask = db.lookupLongConstant("markOopDesc::cms_mask").longValue();
|
||||
sizeShift = db.lookupLongConstant("markOopDesc::size_shift").longValue();
|
||||
}
|
||||
|
||||
// Field accessors
|
||||
@ -120,6 +125,11 @@ public class Mark extends VMObject {
|
||||
|
||||
private static long maxAge;
|
||||
|
||||
/* Constants in markOop used by CMS. */
|
||||
private static long cmsShift;
|
||||
private static long cmsMask;
|
||||
private static long sizeShift;
|
||||
|
||||
public Mark(Address addr) {
|
||||
super(addr);
|
||||
}
|
||||
@ -290,4 +300,11 @@ public class Mark extends VMObject {
|
||||
//
|
||||
// // Recover address of oop from encoded form used in mark
|
||||
// inline void* decode_pointer() { return clear_lock_bits(); }
|
||||
|
||||
// Copy markOop methods for CMS here.
|
||||
public boolean isCmsFreeChunk() {
|
||||
return isUnlocked() &&
|
||||
(Bits.maskBitsLong(value() >> cmsShift, cmsMask) & 0x1L) == 0x1L;
|
||||
}
|
||||
public long getSize() { return (long)(value() >> sizeShift); }
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -316,6 +316,14 @@ public class ObjectHeap {
|
||||
iterateLiveRegions(liveRegions, visitor, null);
|
||||
}
|
||||
|
||||
public boolean isValidMethod(OopHandle handle) {
|
||||
OopHandle klass = Oop.getKlassForOopHandle(handle);
|
||||
if (klass != null && klass.equals(methodKlassHandle)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Creates an instance from the Oop hierarchy based based on the handle
|
||||
public Oop newOop(OopHandle handle) {
|
||||
// The only known way to detect the right type of an oop is
|
||||
@ -375,8 +383,10 @@ public class ObjectHeap {
|
||||
}
|
||||
}
|
||||
|
||||
System.err.println("Unknown oop at " + handle);
|
||||
System.err.println("Oop's klass is " + klass);
|
||||
if (DEBUG) {
|
||||
System.err.println("Unknown oop at " + handle);
|
||||
System.err.println("Oop's klass is " + klass);
|
||||
}
|
||||
|
||||
throw new UnknownOopException();
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -274,10 +274,10 @@ public class OopUtilities implements /* imports */ JVMTIThreadState {
|
||||
// hc_klass is a HotSpot magic field and hence we can't
|
||||
// find it from InstanceKlass for java.lang.Class.
|
||||
TypeDataBase db = VM.getVM().getTypeDataBase();
|
||||
int hcKlassOffset = (int) Oop.getHeaderSize();
|
||||
int hcKlassOffset = (int) Instance.getHeaderSize();
|
||||
try {
|
||||
hcKlassOffset += (db.lookupIntConstant("java_lang_Class::hc_klass_offset").intValue() *
|
||||
db.getAddressSize());
|
||||
VM.getVM().getHeapOopSize());
|
||||
} catch (RuntimeException re) {
|
||||
// ignore, currently java_lang_Class::hc_klass_offset is zero
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -215,11 +215,11 @@ public class JavaThread extends Thread {
|
||||
if (f == null) return null;
|
||||
boolean imprecise = true;
|
||||
if (f.isInterpretedFrame() && !f.isInterpretedFrameValid()) {
|
||||
if (DEBUG) {
|
||||
System.out.println("Correcting for invalid interpreter frame");
|
||||
}
|
||||
f = f.sender(regMap);
|
||||
imprecise = false;
|
||||
if (DEBUG) {
|
||||
System.out.println("Correcting for invalid interpreter frame");
|
||||
}
|
||||
f = f.sender(regMap);
|
||||
imprecise = false;
|
||||
}
|
||||
VFrame vf = VFrame.newVFrame(f, regMap, this, true, imprecise);
|
||||
if (vf == null) {
|
||||
@ -228,10 +228,7 @@ public class JavaThread extends Thread {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
if (vf.isJavaFrame()) {
|
||||
return (JavaVFrame) vf;
|
||||
}
|
||||
return (JavaVFrame) vf.javaSender();
|
||||
return vf.isJavaFrame() ? (JavaVFrame)vf : vf.javaSender();
|
||||
}
|
||||
|
||||
/** In this system, a JavaThread is the top-level factory for a
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -121,6 +121,13 @@ public class SolarisSPARCJavaThreadPDAccess implements JavaThreadPDAccess {
|
||||
}
|
||||
|
||||
public Frame getCurrentFrameGuess(JavaThread thread, Address addr) {
|
||||
|
||||
// If java stack is walkable then both last_Java_sp and last_Java_pc are
|
||||
// non null and we can start stack walk from this frame.
|
||||
if (thread.getLastJavaSP() != null && thread.getLastJavaPC() != null) {
|
||||
return new SPARCFrame(SPARCFrame.biasSP(thread.getLastJavaSP()), thread.getLastJavaPC());
|
||||
}
|
||||
|
||||
ThreadProxy t = getThreadProxy(addr);
|
||||
SPARCThreadContext context = (SPARCThreadContext) t.getContext();
|
||||
// For now, let's see what happens if we do a similar thing to
|
||||
|
@ -422,6 +422,13 @@ public class SPARCFrame extends Frame {
|
||||
if (getFP().addOffsetTo(INTERPRETER_FRAME_VM_LOCAL_WORDS * VM.getVM().getAddressSize()).lessThan(getSP())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
OopHandle methodHandle = addressOfInterpreterFrameMethod().getOopHandleAt(0);
|
||||
|
||||
if (VM.getVM().getObjectHeap().isValidMethod(methodHandle) == false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// These are hacks to keep us out of trouble.
|
||||
// The problem with these is that they mask other problems
|
||||
if (getFP().lessThanOrEqual(getSP())) { // this attempts to deal with unsigned comparison above
|
||||
@ -433,9 +440,18 @@ public class SPARCFrame extends Frame {
|
||||
// FIXME: this is not atomic with respect to GC and is unsuitable
|
||||
// for use in a non-debugging, or reflective, system. Need to
|
||||
// figure out how to express this.
|
||||
if (addressOfInterpreterFrameBCX().getAddressAt(0) == null) {
|
||||
return false; // BCP not yet set up
|
||||
Address bcx = addressOfInterpreterFrameBCX().getAddressAt(0);
|
||||
|
||||
Method method;
|
||||
try {
|
||||
method = (Method) VM.getVM().getObjectHeap().newOop(methodHandle);
|
||||
} catch (UnknownOopException ex) {
|
||||
return false;
|
||||
}
|
||||
int bci = bcpToBci(bcx, method);
|
||||
//validate bci
|
||||
if (bci < 0) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -471,7 +487,7 @@ public class SPARCFrame extends Frame {
|
||||
// will update it accordingly
|
||||
map.setIncludeArgumentOops(false);
|
||||
|
||||
if (cb == null && isEntryFrame()) {
|
||||
if (isEntryFrame()) {
|
||||
return senderForEntryFrame(map);
|
||||
}
|
||||
|
||||
@ -539,7 +555,6 @@ public class SPARCFrame extends Frame {
|
||||
int SP_OFFSET_IN_GREGSET = 17;
|
||||
raw_sp = fp.getAddressAt(VM.getVM().getAddressSize() * SP_OFFSET_IN_GREGSET);
|
||||
Address pc = fp.getAddressAt(VM.getVM().getAddressSize() * PC_OFFSET_IN_GREGSET);
|
||||
// System.out.println(" next frame's SP: " + sp + " PC: " + pc);
|
||||
return new SPARCFrame(raw_sp, pc);
|
||||
}
|
||||
}
|
||||
@ -562,10 +577,8 @@ public class SPARCFrame extends Frame {
|
||||
// sender's _interpreter_sp_adjustment field.
|
||||
if (VM.getVM().getInterpreter().contains(pc)) {
|
||||
isInterpreted = true;
|
||||
if (VM.getVM().isClientCompiler()) {
|
||||
map.makeIntegerRegsUnsaved();
|
||||
map.shiftWindow(sp, youngerSP);
|
||||
}
|
||||
map.makeIntegerRegsUnsaved();
|
||||
map.shiftWindow(sp, youngerSP);
|
||||
} else {
|
||||
// Find a CodeBlob containing this frame's pc or elide the lookup and use the
|
||||
// supplied blob which is already known to be associated with this frame.
|
||||
|
@ -87,12 +87,13 @@ public class PStack extends Tool {
|
||||
while (f != null) {
|
||||
ClosestSymbol sym = f.closestSymbolToPC();
|
||||
Address pc = f.pc();
|
||||
out.print(pc + "\t");
|
||||
if (sym != null) {
|
||||
String name = sym.getName();
|
||||
if (cdbgCanDemangle) {
|
||||
name = cdbg.demangle(name);
|
||||
}
|
||||
out.print(pc + "\t" + name);
|
||||
out.print(name);
|
||||
long diff = sym.getOffset();
|
||||
if (diff != 0L) {
|
||||
out.print(" + 0x" + Long.toHexString(diff));
|
||||
@ -120,7 +121,6 @@ public class PStack extends Tool {
|
||||
// look for known code blobs
|
||||
CodeCache c = VM.getVM().getCodeCache();
|
||||
if (c.contains(pc)) {
|
||||
out.print(pc + "\t");
|
||||
CodeBlob cb = c.findBlobUnsafe(pc);
|
||||
if (cb.isNMethod()) {
|
||||
names = getJavaNames(th, f.localVariableBase());
|
||||
@ -144,18 +144,18 @@ public class PStack extends Tool {
|
||||
out.println("<Unknown code blob>");
|
||||
}
|
||||
} else {
|
||||
printUnknown(out,pc);
|
||||
printUnknown(out);
|
||||
}
|
||||
}
|
||||
// print java frames, if any
|
||||
if (names != null && names.length != 0) {
|
||||
// print java frame(s)
|
||||
for (int i = 0; i < names.length; i++) {
|
||||
out.println(pc + "\t" + names[i]);
|
||||
out.println(names[i]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
printUnknown(out,pc);
|
||||
printUnknown(out);
|
||||
}
|
||||
}
|
||||
f = f.sender();
|
||||
@ -220,8 +220,8 @@ public class PStack extends Tool {
|
||||
}
|
||||
}
|
||||
|
||||
private void printUnknown(PrintStream out, Address pc) {
|
||||
out.println(pc + "\t????????");
|
||||
private void printUnknown(PrintStream out) {
|
||||
out.println("\t????????");
|
||||
}
|
||||
|
||||
private String[] getJavaNames(ThreadProxy th, Address fp) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -648,6 +648,6 @@ public class AnnotatedMemoryPanel extends JPanel {
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2005 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
|
||||
@ -220,7 +220,7 @@ public class CommandProcessorPanel extends JPanel {
|
||||
}
|
||||
});
|
||||
frame.setSize(500, 500);
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
panel.requestFocus();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -226,7 +226,7 @@ public class DebuggerConsolePanel extends JPanel {
|
||||
}
|
||||
});
|
||||
frame.setSize(500, 500);
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
panel.requestFocus();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2002-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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-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
|
||||
@ -424,7 +424,7 @@ public class HighPrecisionJScrollBar extends JScrollBar {
|
||||
}
|
||||
});
|
||||
frame.getContentPane().add(hpsb);
|
||||
frame.show();
|
||||
frame.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2001-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
|
||||
@ -43,7 +43,7 @@ public class JFrameWrapper implements FrameWrapper {
|
||||
public void setVisible(boolean visible) { frame.setVisible(visible); }
|
||||
public void setSize(int x, int y) { frame.setSize(x, y); }
|
||||
public void pack() { frame.pack(); }
|
||||
public void show() { frame.show(); }
|
||||
public void show() { frame.setVisible(true); }
|
||||
public void dispose() { frame.dispose(); }
|
||||
public void setBackground(Color color) { frame.setBackground(color); }
|
||||
public void setResizable(boolean resizable) { frame.setResizable(resizable); }
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user