# HG changeset patch # User lstadler # Date 1273669265 -7200 # Node ID 0ba67bb5392c2a435c375b39f75ab2e18cae567b # Parent 09e7826ecf01d3528220f7604c4a225d520a5eca added c1x build directory, added MSVC Win64 project support diff -r 09e7826ecf01 -r 0ba67bb5392c create64.cmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/create64.cmd Wed May 12 15:01:05 2010 +0200 @@ -0,0 +1,14 @@ +set HotSpotMksHome=C:\cygwin\bin +set JAVA_HOME="%cd%\java" +set ORIG_PATH=%PATH% +set path=%JAVA_HOME%\bin;%path%;C:\cygwin\bin + +set OrigPath=%cd% +cd make\windows + +mkdir %OrigPath%\work +call create.bat %OrigPath% %OrigPath%\work %OrigPath%\java + +set PATH=%ORIG_PATH% +cd %OrigPath% +pause diff -r 09e7826ecf01 -r 0ba67bb5392c make/windows/create.bat --- a/make/windows/create.bat Tue May 11 19:24:14 2010 +0200 +++ b/make/windows/create.bat Wed May 12 15:01:05 2010 +0200 @@ -43,6 +43,8 @@ if %errorlevel% == 0 goto isia64 cl 2>&1 | grep "AMD64" >NUL if %errorlevel% == 0 goto amd64 +cl 2>&1 | grep "x64" >NUL +if %errorlevel% == 0 goto amd64 set ARCH=x86 set BUILDARCH=i486 set Platform_arch=x86 diff -r 09e7826ecf01 -r 0ba67bb5392c make/windows/makefiles/makedeps.make --- a/make/windows/makefiles/makedeps.make Tue May 11 19:24:14 2010 +0200 +++ b/make/windows/makefiles/makedeps.make Wed May 12 15:01:05 2010 +0200 @@ -57,6 +57,7 @@ # This is only used internally MakeDepsIncludesPRIVATE=\ -relativeInclude src\share\vm\c1 \ + -relativeInclude src\share\vm\c1x \ -relativeInclude src\share\vm\compiler \ -relativeInclude src\share\vm\code \ -relativeInclude src\share\vm\interpreter \ diff -r 09e7826ecf01 -r 0ba67bb5392c make/windows/makefiles/vm.make --- a/make/windows/makefiles/vm.make Tue May 11 19:24:14 2010 +0200 +++ b/make/windows/makefiles/vm.make Wed May 12 15:01:05 2010 +0200 @@ -144,6 +144,7 @@ VM_PATH=../generated/incls VM_PATH=$(VM_PATH);../generated/jvmtifiles VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1x VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/BuildConfig.java --- a/src/share/tools/MakeDeps/BuildConfig.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/BuildConfig.java Wed May 12 15:01:05 2010 +0200 @@ -242,12 +242,22 @@ void initDefaultDefines(Vector defines) { Vector sysDefines = new Vector(); - sysDefines.add("WIN32"); + if( Util.os().equals("Win32")) { + sysDefines.add("WIN32"); + sysDefines.add("HOTSPOT_LIB_ARCH=\\\"i386\\\""); + } else { + sysDefines.add("_AMD64_"); + sysDefines.add("AMD64"); + sysDefines.add("_WIN64"); + sysDefines.add("_LP64"); + if (System.getenv("MSC_VER") != null) + sysDefines.add("MSC_VER=" + System.getenv("MSC_VER")); + sysDefines.add("HOTSPOT_LIB_ARCH=\\\"amd64\\\""); + } sysDefines.add("_WINDOWS"); sysDefines.add("HOTSPOT_BUILD_USER="+System.getProperty("user.name")); sysDefines.add("HOTSPOT_BUILD_TARGET=\\\""+get("Build")+"\\\""); sysDefines.add("_JNI_IMPLEMENTATION_"); - sysDefines.add("HOTSPOT_LIB_ARCH=\\\"i386\\\""); sysDefines.addAll(defines); diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/MakeDeps.java --- a/src/share/tools/MakeDeps/MakeDeps.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/MakeDeps.java Wed May 12 15:01:05 2010 +0200 @@ -1,3 +1,6 @@ +import java.util.Map; +import java.util.Map.Entry; + /* * Copyright 1999-2001 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/Util.java --- a/src/share/tools/MakeDeps/Util.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/Util.java Wed May 12 15:01:05 2010 +0200 @@ -23,6 +23,7 @@ */ import java.util.*; +import java.util.Map.Entry; import java.io.File; public class Util { @@ -84,5 +85,25 @@ } static String sep = File.separator; - static String os = "Win32"; //System.getProperty("os.name"); + + private static String _os; + + static String os() { + if( _os==null) { + + for(Map.Entry entry: System.getenv().entrySet()) + if("PLATFORM_ARCH_MODEL".equals(entry.getKey().toUpperCase())) { + String archModel = entry.getValue(); + if("x86_32".equals(archModel)) + _os = "Win32"; + else if("x86_64".equals(archModel)) + _os = "x64"; + else + throw new RuntimeException("Unsupported PLATFORM_ARCH_MODEL " + archModel); + return _os; + } + throw new RuntimeException("PLATFORM_ARCH_MODEL not specified"); + } + return _os; + } } diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/WinGammaPlatformVC6.java --- a/src/share/tools/MakeDeps/WinGammaPlatformVC6.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/WinGammaPlatformVC6.java Wed May 12 15:01:05 2010 +0200 @@ -286,6 +286,6 @@ } String makeCfgName(String flavourBuild) { - return "vm - "+ Util.os + " " + flavourBuild; + return "vm - "+ "Win32" + " " + flavourBuild; } } diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/WinGammaPlatformVC7.java --- a/src/share/tools/MakeDeps/WinGammaPlatformVC7.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/WinGammaPlatformVC7.java Wed May 12 15:01:05 2010 +0200 @@ -51,7 +51,7 @@ ); startTag("Platforms", null); - tag("Platform", new String[] {"Name", Util.os}); + tag("Platform", new String[] {"Name", Util.os()}); endTag("Platforms"); startTag("Configurations", null); @@ -469,7 +469,7 @@ "PreprocessorDefinitions", "NDEBUG", "MkTypLibCompatible", "TRUE", "SuppressStartupBanner", "TRUE", - "TargetEnvironment", "1", + "TargetEnvironment", Util.os().equals("Win32") ? "1" : "3", "TypeLibraryName", cfg.get("OutputDir") + Util.sep + "vm.tlb", "HeaderFileName", "" } @@ -611,7 +611,7 @@ addAttr(rv, "BaseAddress", "0x8000000"); addAttr(rv, "ImportLibrary", outDir+Util.sep+"jvm.lib"); // Set /MACHINE option. 1 is machineX86 - addAttr(rv, "TargetMachine", "1"); + addAttr(rv, "TargetMachine", Util.os().equals("Win32") ? "1" : "17"); return rv; } @@ -689,6 +689,6 @@ } String makeCfgName(String flavourBuild) { - return flavourBuild + "|" + Util.os; + return flavourBuild + "|" + Util.os(); } } diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/tools/MakeDeps/WinGammaPlatformVC8.java --- a/src/share/tools/MakeDeps/WinGammaPlatformVC8.java Tue May 11 19:24:14 2010 +0200 +++ b/src/share/tools/MakeDeps/WinGammaPlatformVC8.java Wed May 12 15:01:05 2010 +0200 @@ -41,6 +41,8 @@ addAttr(rv, "UsePrecompiledHeader", "2"); // Set /EHsc- option. 0 is cppExceptionHandlingNo addAttr(rv, "ExceptionHandling", "0"); + // Parallel compilation + addAttr(rv, "AdditionalOptions", "/MP"); return rv; } diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/vm/c1/c1_LIRGenerator.cpp --- a/src/share/vm/c1/c1_LIRGenerator.cpp Tue May 11 19:24:14 2010 +0200 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Wed May 12 15:01:05 2010 +0200 @@ -2427,7 +2427,7 @@ // Load CallSite object from constant pool cache. __ oop2reg(cpcache->constant_encoding(), tmp); - __ load(new LIR_Address(tmp, call_site_offset, T_OBJECT), tmp); + __ load(new LIR_Address(tmp, (int)call_site_offset, T_OBJECT), tmp); // Load target MethodHandle from CallSite object. __ load(new LIR_Address(tmp, java_dyn_CallSite::target_offset_in_bytes(), T_OBJECT), receiver); diff -r 09e7826ecf01 -r 0ba67bb5392c src/share/vm/gc_implementation/g1/heapRegion.cpp --- a/src/share/vm/gc_implementation/g1/heapRegion.cpp Tue May 11 19:24:14 2010 +0200 +++ b/src/share/vm/gc_implementation/g1/heapRegion.cpp Wed May 12 15:01:05 2010 +0200 @@ -290,7 +290,7 @@ // 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 // <= 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. if (region_size < MIN_REGION_SIZE) {