This commit is contained in:
Phil Race 2010-05-19 09:46:11 -07:00
commit 5cec564989
19 changed files with 188 additions and 91 deletions

View File

@ -66,3 +66,4 @@ b7456c473862048fa70ed8092313a4ef0a55d403 jdk7-b87
44158f6d3b94c0fa020e33632532473d92d1ea96 jdk7-b89 44158f6d3b94c0fa020e33632532473d92d1ea96 jdk7-b89
1d1927f9ec097b62c913921e2dfa5dbaf5dc325b jdk7-b90 1d1927f9ec097b62c913921e2dfa5dbaf5dc325b jdk7-b90
308ad8f68b8dd68e22d73dd490e110059b732422 jdk7-b91 308ad8f68b8dd68e22d73dd490e110059b732422 jdk7-b91
ff9031a745d9cc52318f2148e43ca3b07ee08098 jdk7-b92

View File

@ -66,3 +66,4 @@ cf26288a114be67c39f2758959ce50b60f5ae330 jdk7-b85
7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89
425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90 425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90
97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91 97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91
5f5c33d417f3a14706b09a4a95e65fa7b6fa54d6 jdk7-b92

View File

@ -183,13 +183,13 @@
<tr> <tr>
<td>Windows X86 (32-bit)</td> <td>Windows X86 (32-bit)</td>
<td>Windows XP</td> <td>Windows XP</td>
<td>Microsoft Visual Studio C++ 2008 Standard Edition</td> <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
<td>JDK 6u14 FCS </td> <td>JDK 6u14 FCS </td>
</tr> </tr>
<tr> <tr>
<td>Windows X64 (64-bit)</td> <td>Windows X64 (64-bit)</td>
<td>Windows Server 2003 - Enterprise x64 Edition</td> <td>Windows Server 2003 - Enterprise x64 Edition</td>
<td>Microsoft Platform SDK - April 2005</td> <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
<td>JDK 6u14 FCS </td> <td>JDK 6u14 FCS </td>
</tr> </tr>
</tbody> </tbody>
@ -789,11 +789,7 @@
</li> </li>
<li> <li>
Install the Install the
<a href="#msvc">Microsoft Visual Studio Compilers</a> (32-bit). <a href="#msvc">Microsoft Visual Studio Compilers</a>).
</li>
<li>
Install the
<a href="#mssdk">Microsoft Platform SDK</a>.
</li> </li>
<li> <li>
Setup all environment variables for compilers Setup all environment variables for compilers
@ -964,13 +960,28 @@
</blockquote> </blockquote>
<strong><a name="msvc">Windows i586: Microsoft Visual Studio Compilers</a></strong> <strong><a name="msvc">Windows i586: Microsoft Visual Studio Compilers</a></strong>
<blockquote> <blockquote>
<p>
<b>BEGIN WARNING</b>: At this time (Spring/Summer 2010) JDK 7 is starting a transition to
use the newest VS2010 Microsoft compilers. These build instructions are updated
to show where we are going. We have a QA process to go through before
official builds actually use VS2010. So for now, official builds are
still using VS2003. No other compilers are known to build the entire JDK,
including non-open portions.
So for now you should be able to build with either VS2003 or VS2010.
We do not guarantee that VS2008 will work, although there is sufficient
makefile support to make at least basic JDK builds plausible.
Visual Studio 2010 Express compilers are likely to be able to build all the
"open" sources, with only small adjustments, but this has yet to be made
to work. Also we have not yet seen the 7.1 Windows SDK with the 64 bit
compilers. <b>END WARNING.</b>
<p>
The 32-bit OpenJDK Windows build The 32-bit OpenJDK Windows build
requires requires
Microsoft Visual Studio C++ 2008 (VS2008) Standard Microsoft Visual Studio C++ 2010 (VS2010) Professional
Edition compiler. Edition compiler.
The compiler and other tools are expected to reside The compiler and other tools are expected to reside
in the location defined by the variable in the location defined by the variable
<tt>VS90COMNTOOLS</tt> which <tt>VS100COMNTOOLS</tt> which
is set by the Microsoft Visual Studio installer. is set by the Microsoft Visual Studio installer.
<p> <p>
Once the compiler is installed, Once the compiler is installed,
@ -982,36 +993,21 @@
prior to building the prior to building the
OpenJDK. OpenJDK.
The above environment variables <b>MUST</b> be set. The above environment variables <b>MUST</b> be set.
This compiler also contains the Windows SDK v 7.0a,
which is an update to the Windows 7 SDK.
<p> <p>
<b>WARNING:</b> Make sure you check out the <b>WARNING:</b> Make sure you check out the
<a href="#cygwin">CYGWIN link.exe WARNING</a>. <a href="#cygwin">CYGWIN link.exe WARNING</a>.
The path <tt>/usr/bin</tt> must be after the path to the The path <tt>/usr/bin</tt> must be after the path to the
Visual Studio product. Visual Studio product.
</blockquote> </blockquote>
<strong><a name="mssdk">Windows: Microsoft Platform SDK</a></strong> <strong><a name="mssdk">Windows x64: Microsoft Visual Studio Compilers</a></strong>
<blockquote> <blockquote>
On <b>X64</b>, the Microsoft Platform Software On <b>X64</b>, the set up is much the same in VS2010
Development Kit (SDK), April 2005 Edition compiler, except that you run <tt>amd64\VCVARS64.BAT</tt>
is required for building the OpenJDK to set the compiler environment variables.
because it contains the C/C++ compiler. Previously 64 builds had used the 64 bit compiler in
You will need to minimally install the Core SDK and an unbundled Windows SDK but this is no longer necessary.
the MDAC SDK features of this compiler.
<p>
Once the Platform SDK is installed,
it is recommended that you run <tt>SetEnv.Cmd /X64</tt>
to set the compiler environment variables
<tt>MSSDK</tt>,
<tt>MSTOOLS</tt>,
<tt>INCLUDE</tt>,
<tt>LIB</tt>, and
<tt>PATH</tt>
prior to building the
OpenJDK.
The above environment variables <b>MUST</b> be set.
<p>
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>
</blockquote> </blockquote>
<!-- ------------------------------------------------------ --> <!-- ------------------------------------------------------ -->
@ -1314,40 +1310,16 @@
but it's normally found via the DirectX environment variable but it's normally found via the DirectX environment variable
<tt>DXSDK_DIR</tt>. <tt>DXSDK_DIR</tt>.
</blockquote> </blockquote>
<strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong> <strong><a name="msvcrt"><tt>MSVCR100.DLL</tt></a></strong>
<blockquote> <blockquote>
<strong>i586 only:</strong> The OpenJDK build requires access to a redistributable
The OpenJDK 32-bit build requires access to a redistributable <tt>MSVCR100.DLL</tt>.
<tt>MSVCRT.DLL</tt>. This is usually picked up automatically from the redist
If the <tt>MSVCRT.DLL</tt> is not installed in directories of Visual Studio 2010.
the system32 directory set the If this cannot be found set the
<a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
variable to the location of this file. variable to the location of this file.
<p> <p>
<strong>X64 only:</strong>
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 of this file.
</blockquote>
<strong><tt><a name="msvcr90">MSVCR90.DLL</a></tt></strong>
<blockquote>
<strong>i586 only:</strong>
The
OpenJDK
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>MSVCR90.DLL</tt> is not available from the
Visual Studio product
set the
<a href="#ALT_MSVCR90_DLL_PATH"><tt>ALT_MSVCR90_DLL_PATH</tt></a>
variable to the location of this file.
</blockquote> </blockquote>
</blockquote> </blockquote>
<!-- ------------------------------------------------------ --> <!-- ------------------------------------------------------ -->
@ -1623,11 +1595,10 @@
The location of the The location of the
<a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>. <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>.
</dd> </dd>
<dt><tt><a name="ALT_MSVCR90_DLL_PATH">ALT_MSVCR90_DLL_PATH</a></tt> </dt> <dt><tt><a name="ALT_MSVCRNN_DLL_PATH">ALT_MSVCRNN_DLL_PATH</a></tt> </dt>
<dd> <dd>
<strong>i586 only:</strong>
The location of the The location of the
<a href="#msvcr90"><tt>MSVCR90.DLL</tt></a>. <a href="#msvcrt"><tt>MSVCR100.DLL</tt></a>.
</dd> </dd>
</dl> </dl>
</dd> </dd>

View File

@ -66,3 +66,4 @@ c67a9df7bc0ca291f08f9a9cc05cb78ea15d25e6 jdk7-b85
bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89
56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90 56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90
bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91 bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91
930582f667a13391cd0b3e41e8cb760f55e3a5c0 jdk7-b92

View File

@ -77,6 +77,11 @@ ifeq ($(ARCH_DATA_MODEL), 32)
MSVCPNN_DLL = msvcp90.dll MSVCPNN_DLL = msvcp90.dll
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL) MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
endif endif
ifeq ($(COMPILER_VERSION), VS2010)
MSVCRNN_DLL = msvcr100.dll
MSVCPNN_DLL = msvcp100.dll
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
endif
endif endif
# C Compiler flag definitions # C Compiler flag definitions
@ -175,6 +180,20 @@ ifeq ($(CC_VERSION),msvc)
CC_LOWER_OPT = -O1 CC_LOWER_OPT = -O1
endif endif
endif endif
ifeq ($(COMPILER_VERSION), VS2010)
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
AUTOMATIC_PCH_OPTION =
GX_OPTION = -EHsc
ifeq ($(ARCH_DATA_MODEL), 32)
CC_HIGHEST_OPT = -O2
CC_HIGHER_OPT = -O1
CC_LOWER_OPT = -O1
else
CC_HIGHEST_OPT = -O2
CC_HIGHER_OPT = -O1
CC_LOWER_OPT = -O1
endif
endif
CC_NO_OPT = -Od CC_NO_OPT = -Od
else # CC_VERSION else # CC_VERSION
# GCC not supported, but left for historical reference... # GCC not supported, but left for historical reference...

View File

@ -97,6 +97,19 @@ ifeq ($(PLATFORM), windows)
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
endif endif
endif endif
ifeq ($(CC_MAJORVER), 16)
# This should be: CC_VER=16.00.30319.01 LINK_VER=10.00.30319.01
REQUIRED_CC_VER = 16.00.30319.01
REQUIRED_LINK_VER = 10.00.30319.01
COMPILER_NAME=Visual Studio 10
COMPILER_VERSION=VS2010
#rebase and midl moved out of Visual Studio into the SDK:
REBASE = $(MSDEVTOOLS_PATH)/rebase
MTL = $(MSDEVTOOLS_PATH)/midl.exe
ifndef COMPILER_PATH
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
endif
endif
else else
# else ARCH_DATA_MODEL is 64 # else ARCH_DATA_MODEL is 64
ifndef LINK_VER ifndef LINK_VER
@ -144,11 +157,21 @@ ifeq ($(PLATFORM), windows)
COMPILER_NAME=Windows SDK 6.1 Visual Studio 9 COMPILER_NAME=Windows SDK 6.1 Visual Studio 9
COMPILER_VERSION=VS2008 COMPILER_VERSION=VS2008
RC = $(MSSDK61)/bin/x64/rc RC = $(MSSDK61)/bin/x64/rc
REBASE = $(MSSDK61/bin/x64/rebase REBASE = $(MSSDK61)/bin/x64/rebase
else else
# This will cause problems if ALT_COMPILER_PATH is defined to "" ifeq ($(CC_MAJORVER), 16)
# which is a directive to use the PATH. # This should be: CC_VER=16.00.30319.01 LINK_VER=9.00.30319.01
REBASE = $(COMPILER_PATH)../REBASE REQUIRED_CC_VER = 16.00.30319.01
REQUIRED_LINK_VER = 10.00.30319.01
COMPILER_NAME=Microsoft Visual Studio 10
COMPILER_VERSION=VS2010
RC = $(MSSDK7)/bin/x64/rc
REBASE = $(MSSDK7)/bin/x64/rebase
else
# This will cause problems if ALT_COMPILER_PATH is defined to ""
# which is a directive to use the PATH.
REBASE = $(COMPILER_PATH)../REBASE
endif
endif endif
ifndef COMPILER_PATH ifndef COMPILER_PATH
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)

View File

@ -222,6 +222,17 @@ ifeq ($(ARCH_DATA_MODEL), 32)
ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR)) ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR))
SHORTMSVCDIR := SHORTMSVCDIR :=
endif endif
# If we still don't have it, look for VS100COMNTOOLS, setup by installer?
ifeq ($(SHORTMSVCDIR),)
ifdef VS100COMNTOOLS # /Common/Tools directory, use ../../Vc
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
endif
ifneq ($(_vs100tools),)
SHORTMSVCDIR :=$(_vs100tools)/../../Vc
endif
endif
export SHORTMSVCDIR
# If we still don't have it, look for VS71COMNTOOLS, setup by installer? # If we still don't have it, look for VS71COMNTOOLS, setup by installer?
ifeq ($(SHORTMSVCDIR),) ifeq ($(SHORTMSVCDIR),)
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7 ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
@ -272,24 +283,35 @@ endif
# Compilers for 64bit are from SDK # Compilers for 64bit are from SDK
ifeq ($(ARCH_DATA_MODEL), 64) ifeq ($(ARCH_DATA_MODEL), 64)
ifndef SHORTCOMPILERBIN ifndef SHORTCOMPILERBIN
xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/" ifdef VS100COMNTOOLS # /Common7/Tools directory, use ../../Vc
MSSDK61 :=$(call FullPath,$(xMSSDK61)) xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/" _vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
_vs2008 :=$(call FullPath,$(xVS2008)) endif
ifneq ($(_vs2008),) ifneq ($(_vs100tools),)
ifeq ($(ARCH), ia64) SHORTCOMPILERBIN :=$(_vs100tools)/../../Vc/bin/amd64
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64 xMSSDK70 :="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/"
endif MSSDK7 :=$(call FullPath,$(xMSSDK70))
ifeq ($(ARCH), amd64) export MSSDK7
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
endif
else else
ifneq ($(SHORTPSDK),) xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/"
MSSDK61 :=$(call FullPath,$(xMSSDK61))
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/"
_vs2008 :=$(call FullPath,$(xVS2008))
ifneq ($(_vs2008),)
ifeq ($(ARCH), ia64) ifeq ($(ARCH), ia64)
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64 SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64
endif endif
ifeq ($(ARCH), amd64) ifeq ($(ARCH), amd64)
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64/x86/$(ARCH) SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
endif
else
ifneq ($(SHORTPSDK),)
ifeq ($(ARCH), ia64)
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64
endif
ifeq ($(ARCH), amd64)
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64/x86/$(ARCH)
endif
endif endif
endif endif
endif endif

View File

@ -333,7 +333,11 @@ ifeq ($(PLATFORM), windows)
endif endif
ARCH_FAMILY = $(ARCH) ARCH_FAMILY = $(ARCH)
# Where is unwanted output to be delivered? # Where is unwanted output to be delivered?
DEV_NULL = NUL ifeq ($(USING_CYGWIN),true)
DEV_NULL = /dev/null
else
DEV_NULL = NUL
endif
export DEV_NULL export DEV_NULL
# Classpath separator # Classpath separator
CLASSPATH_SEPARATOR = ; CLASSPATH_SEPARATOR = ;

View File

@ -92,3 +92,4 @@ e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87
605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90
e0a1a502e402dbe7bf2d9102b4084a7e79a99a9b jdk7-b91 e0a1a502e402dbe7bf2d9102b4084a7e79a99a9b jdk7-b91
25f53b53aaa3eb8b2d5391a1e8de9a76ae1dd8a2 hs18-b03 25f53b53aaa3eb8b2d5391a1e8de9a76ae1dd8a2 hs18-b03
3221d1887d30341bedfdac1dbf365ea41beff20f jdk7-b92

View File

@ -58,11 +58,11 @@ LINK_VER="$1"
fi fi
if [ "x$LINK_VER" != "x800" -a "x$LINK_VER" != "x900" ]; then if [ "x$LINK_VER" != "x800" -a "x$LINK_VER" != "x900" ]; then
$DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def $DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
else else
# Can't use pipes when calling cl.exe or link.exe from IDE. Using transit file vm3.def # Can't use pipes when calling cl.exe or link.exe from IDE. Using transit file vm3.def
$DUMPBIN /OUT:vm3.def /symbols *.obj $DUMPBIN /OUT:vm3.def /symbols *.obj
"$CAT" vm3.def | "$GREP" "??_7.*@@6B@" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def "$CAT" vm3.def | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
"$RM" -f vm3.def "$RM" -f vm3.def
fi fi

View File

@ -92,6 +92,7 @@ CPP=ARCH_ERROR
# 1399 is our fake number for the VS2005 compiler that really isn't 1400 # 1399 is our fake number for the VS2005 compiler that really isn't 1400
# 1400 is for VS2005 # 1400 is for VS2005
# 1500 is for VS2008 # 1500 is for VS2008
# 1600 is for VS2010
# Do not confuse this MSC_VER with the predefined macro _MSC_VER that the # Do not confuse this MSC_VER with the predefined macro _MSC_VER that the
# compiler provides, when MSC_VER==1399, _MSC_VER will be 1400. # compiler provides, when MSC_VER==1399, _MSC_VER will be 1400.
# Normally they are the same, but a pre-release of the VS2005 compilers # Normally they are the same, but a pre-release of the VS2005 compilers
@ -121,6 +122,9 @@ COMPILER_NAME=VS2005
!if "$(MSC_VER)" == "1500" !if "$(MSC_VER)" == "1500"
COMPILER_NAME=VS2008 COMPILER_NAME=VS2008
!endif !endif
!if "$(MSC_VER)" == "1600"
COMPILER_NAME=VS2010
!endif
!endif !endif
# Add what version of the compiler we think this is to the compile line # Add what version of the compiler we think this is to the compile line
@ -183,6 +187,17 @@ LINK_FLAGS = /manifest $(LINK_FLAGS)
MT=mt.exe MT=mt.exe
!endif !endif
!if "$(COMPILER_NAME)" == "VS2010"
PRODUCT_OPT_OPTION = /O2 /Oy-
FASTDEBUG_OPT_OPTION = /O2 /Oy-
DEBUG_OPT_OPTION = /Od
GX_OPTION = /EHsc
LINK_FLAGS = /manifest $(LINK_FLAGS)
# Manifest Tool - used in VS2005 and later to adjust manifests stored
# as resources inside build artifacts.
MT=mt.exe
!endif
# Compile for space above time. # Compile for space above time.
!if "$(Variant)" == "kernel" !if "$(Variant)" == "kernel"
PRODUCT_OPT_OPTION = /O1 /Oy- PRODUCT_OPT_OPTION = /O1 /Oy-

View File

@ -55,6 +55,8 @@ ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
MAKE_ARGS += Platform_arch_model=ia64 MAKE_ARGS += Platform_arch_model=ia64
endif endif
# http://support.microsoft.com/kb/888731 : this can be either
# AMD64 for AMD, or EM64T for Intel chips.
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),) ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
ARCH_DATA_MODEL=64 ARCH_DATA_MODEL=64
PLATFORM=windows-amd64 PLATFORM=windows-amd64
@ -67,6 +69,19 @@ ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
MAKE_ARGS += Platform_arch_model=x86_64 MAKE_ARGS += Platform_arch_model=x86_64
endif endif
# NB later OS versions than 2003 may report "Intel64"
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) "EM64T\|Intel64"),)
ARCH_DATA_MODEL=64
PLATFORM=windows-amd64
VM_PLATFORM=windows_amd64
HS_ARCH=x86
MAKE_ARGS += LP64=1
MAKE_ARGS += ARCH=x86
MAKE_ARGS += BUILDARCH=amd64
MAKE_ARGS += Platform_arch=x86
MAKE_ARGS += Platform_arch_model=x86_64
endif
JDK_INCLUDE_SUBDIR=win32 JDK_INCLUDE_SUBDIR=win32
# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined

View File

@ -27,9 +27,9 @@
all: checkCL checkLink all: checkCL checkLink
checkCL: checkCL:
@ if "$(MSC_VER)" NEQ "1310" if "$(MSC_VER)" NEQ "1399" if "$(MSC_VER)" NEQ "1400" if "$(MSC_VER)" NEQ "1500" \ @ if "$(MSC_VER)" NEQ "1310" if "$(MSC_VER)" NEQ "1399" if "$(MSC_VER)" NEQ "1400" if "$(MSC_VER)" NEQ "1500" if "$(MSC_VER)" NEQ "1600" \
echo *** WARNING *** unrecognized cl.exe version $(MSC_VER) ($(RAW_MSC_VER)). Use FORCE_MSC_VER to override automatic detection. echo *** WARNING *** unrecognized cl.exe version $(MSC_VER) ($(RAW_MSC_VER)). Use FORCE_MSC_VER to override automatic detection.
checkLink: checkLink:
@ if "$(LINK_VER)" NEQ "710" if "$(LINK_VER)" NEQ "800" if "$(LINK_VER)" NEQ "900" \ @ if "$(LINK_VER)" NEQ "710" if "$(LINK_VER)" NEQ "800" if "$(LINK_VER)" NEQ "900" if "$(LINK_VER)" NEQ "1000" \
echo *** WARNING *** unrecognized link.exe version $(LINK_VER) ($(RAW_LINK_VER)). Use FORCE_LINK_VER to override automatic detection. echo *** WARNING *** unrecognized link.exe version $(LINK_VER) ($(RAW_LINK_VER)). Use FORCE_LINK_VER to override automatic detection.

View File

@ -290,7 +290,7 @@ void HeapRegion::setup_heap_region_size(uintx min_heap_size) {
// Recalculate the region size to make sure it's a power of // Recalculate the region size to make sure it's a power of
// 2. This means that region_size is the largest power of 2 that's // 2. This means that region_size is the largest power of 2 that's
// <= what we've calculated so far. // <= what we've calculated so far.
region_size = 1 << region_size_log; region_size = ((uintx)1 << region_size_log);
// Now make sure that we don't go over or under our limits. // Now make sure that we don't go over or under our limits.
if (region_size < MIN_REGION_SIZE) { if (region_size < MIN_REGION_SIZE) {

View File

@ -41,6 +41,26 @@
# pragma optimize ( "", off ) # pragma optimize ( "", off )
#endif #endif
/* The above workaround now causes more problems with the latest MS compiler.
* Visual Studio 2010's /GS option tries to guard against buffer overruns.
* /GS is on by default if you specify optimizations, which we do globally
* via /W3 /O2. However the above selective turning off of optimizations means
* that /GS issues a warning "4748". And since we treat warnings as errors (/WX)
* then the compilation fails. There are several possible solutions
* (1) Remove that pragma above as obsolete with VS2010 - requires testing.
* (2) Stop treating warnings as errors - would be a backward step
* (3) Disable /GS - may help performance but you lose the security checks
* (4) Disable the warning with "#pragma warning( disable : 4748 )"
* (5) Disable planting the code with __declspec(safebuffers)
* I've opted for (5) although we should investigate the local performance
* benefits of (1) and global performance benefit of (3).
*/
#if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1600))
#define SAFEBUF __declspec(safebuffers)
#else
#define SAFEBUF
#endif
#include <math.h> #include <math.h>
// VM_LITTLE_ENDIAN is #defined appropriately in the Makefiles // VM_LITTLE_ENDIAN is #defined appropriately in the Makefiles
@ -235,7 +255,7 @@ one = 1.0,
two24B = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ two24B = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
static int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2) { static SAFEBUF int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2) {
int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
double z,fw,f[20],fq[20],q[20]; double z,fw,f[20],fq[20],q[20];
@ -451,7 +471,7 @@ pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
static int __ieee754_rem_pio2(double x, double *y) { static SAFEBUF int __ieee754_rem_pio2(double x, double *y) {
double z,w,t,r,fn; double z,w,t,r,fn;
double tx[3]; double tx[3];
int e0,i,j,nx,n,ix,hx,i0; int e0,i,j,nx,n,ix,hx,i0;

View File

@ -66,3 +66,4 @@ d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88
d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89
c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90
b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91
e6a40e4bb10499fb6ee9db71ab5654e5a17ab75b jdk7-b92

View File

@ -66,3 +66,4 @@ f051045fe94a48fae1097f90cbd9227e6aae6b7e jdk7-b81
bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89
ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90 ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90
cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91 cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91
df7c033f6a11c0973ab0e74701b1248aee9b659f jdk7-b92

View File

@ -66,3 +66,4 @@ b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88
4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89 4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89
7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90 7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90
08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91 08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91
f2dce7210cc00453c23e53edeec7156f112ca382 jdk7-b92

View File

@ -66,3 +66,4 @@ f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88
6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89
71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90 71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90
97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91 97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91
98cba5876cb50fa3c58a313ddd668f5014ff14f6 jdk7-b92