Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
7c417053
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7c417053
编写于
2月 21, 2011
作者:
R
rottenha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
4cbfb99f
10fc22ff
变更
28
隐藏空白更改
内联
并排
Showing
28 changed file
with
325 addition
and
410 deletion
+325
-410
make/Makefile
make/Makefile
+2
-1
make/defs.make
make/defs.make
+8
-1
make/windows/create.bat
make/windows/create.bat
+8
-15
make/windows/makefiles/compile.make
make/windows/makefiles/compile.make
+1
-4
make/windows/makefiles/projectcreator.make
make/windows/makefiles/projectcreator.make
+14
-5
make/windows/makefiles/rules.make
make/windows/makefiles/rules.make
+2
-2
make/windows/platform_amd64
make/windows/platform_amd64
+0
-15
make/windows/platform_i486
make/windows/platform_i486
+0
-15
make/windows/platform_ia64
make/windows/platform_ia64
+0
-12
make/windows/projectfiles/common/Makefile
make/windows/projectfiles/common/Makefile
+3
-6
src/os/windows/vm/perfMemory_windows.cpp
src/os/windows/vm/perfMemory_windows.cpp
+59
-16
src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp
src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp
+2
-2
src/share/tools/ProjectCreator/BuildConfig.java
src/share/tools/ProjectCreator/BuildConfig.java
+24
-33
src/share/tools/ProjectCreator/DirectoryTree.java
src/share/tools/ProjectCreator/DirectoryTree.java
+5
-5
src/share/tools/ProjectCreator/FileFormatException.java
src/share/tools/ProjectCreator/FileFormatException.java
+3
-1
src/share/tools/ProjectCreator/Macro.java
src/share/tools/ProjectCreator/Macro.java
+0
-28
src/share/tools/ProjectCreator/MacroDefinitions.java
src/share/tools/ProjectCreator/MacroDefinitions.java
+0
-154
src/share/tools/ProjectCreator/Util.java
src/share/tools/ProjectCreator/Util.java
+11
-4
src/share/tools/ProjectCreator/WinGammaPlatform.java
src/share/tools/ProjectCreator/WinGammaPlatform.java
+22
-30
src/share/tools/ProjectCreator/WinGammaPlatformVC6.java
src/share/tools/ProjectCreator/WinGammaPlatformVC6.java
+9
-5
src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
+132
-45
src/share/vm/adlc/adlc.hpp
src/share/vm/adlc/adlc.hpp
+1
-6
src/share/vm/oops/methodOop.cpp
src/share/vm/oops/methodOop.cpp
+1
-1
src/share/vm/oops/methodOop.hpp
src/share/vm/oops/methodOop.hpp
+2
-2
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+13
-0
src/share/vm/runtime/globals.hpp
src/share/vm/runtime/globals.hpp
+1
-1
src/share/vm/utilities/errorReporter.hpp
src/share/vm/utilities/errorReporter.hpp
+1
-0
src/share/vm/utilities/hashtable.hpp
src/share/vm/utilities/hashtable.hpp
+1
-1
未找到文件。
make/Makefile
浏览文件 @
7c417053
#
#
# Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -43,6 +43,7 @@
...
@@ -43,6 +43,7 @@
# ALT_OUTPUTDIR Output directory to use for hotspot build
# ALT_OUTPUTDIR Output directory to use for hotspot build
# ALT_EXPORT_PATH Directory to export hotspot build to
# ALT_EXPORT_PATH Directory to export hotspot build to
# ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules)
# ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules)
# ALT_JDK_TARGET_IMPORT_PATH Current JDK build when cross-compiling
# ALT_BUILD_WIN_SA Building SA on Windows is disabled by default.
# ALT_BUILD_WIN_SA Building SA on Windows is disabled by default.
# Set ALT_BUILD_WIN_SA=1 to enable building SA on
# Set ALT_BUILD_WIN_SA=1 to enable building SA on
# Windows.
# Windows.
...
...
make/defs.make
浏览文件 @
7c417053
#
#
# Copyright (c) 2006, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -162,6 +162,13 @@ ifneq ($(ALT_JDK_IMPORT_PATH),)
...
@@ -162,6 +162,13 @@ ifneq ($(ALT_JDK_IMPORT_PATH),)
JDK_IMPORT_PATH
=
$(ALT_JDK_IMPORT_PATH)
JDK_IMPORT_PATH
=
$(ALT_JDK_IMPORT_PATH)
endif
endif
# Other parts of JDK build may require an import JDK that can be executed
# on the build host. For cross-compile builds we also need an import JDK
# that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH
ifneq
($(ALT_JDK_TARGET_IMPORT_PATH),)
JDK_IMPORT_PATH
=
$(ALT_JDK_TARGET_IMPORT_PATH)
endif
# Find JDK used for javac compiles
# Find JDK used for javac compiles
BOOTDIR
=
$(SLASH_JAVA)
/re/j2se/
$(PREVIOUS_JDK_VERSION)
/latest/binaries/
$(PLATFORM)
BOOTDIR
=
$(SLASH_JAVA)
/re/j2se/
$(PREVIOUS_JDK_VERSION)
/latest/binaries/
$(PLATFORM)
ifneq
($(ALT_BOOTDIR),)
ifneq
($(ALT_BOOTDIR),)
...
...
make/windows/create.bat
浏览文件 @
7c417053
@echo
off
@echo
off
REM
REM
REM Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
REM Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
REM
REM
REM This code is free software; you can redistribute it and/or modify it
REM This code is free software; you can redistribute it and/or modify it
...
@@ -50,9 +50,7 @@ goto end
...
@@ -50,9 +50,7 @@ goto end
:testit
:testit
cl
2
>&
1
|
grep
"IA-64"
>
NUL
cl
2
>&
1
|
grep
"x64"
>
NUL
if
%errorlevel%
==
0
goto
isia64
cl
2
>&
1
|
grep
"AMD64"
>
NUL
if
%errorlevel%
==
0
goto
amd64
if
%errorlevel%
==
0
goto
amd64
set
ARCH
=
x86
set
ARCH
=
x86
set
BUILDARCH
=
i486
set
BUILDARCH
=
i486
...
@@ -64,12 +62,6 @@ set ARCH=x86
...
@@ -64,12 +62,6 @@ set ARCH=x86
set
BUILDARCH
=
amd64
set
BUILDARCH
=
amd64
set
Platform_arch
=
x86
set
Platform_arch
=
x86
set
Platform_arch_model
=
x86_64
set
Platform_arch_model
=
x86_64
goto
done
:isia
64
set
ARCH
=
ia64
set
BUILDARCH
=
ia64
set
Platform_arch
=
ia64
set
Platform_arch_model
=
ia64
:done
:done
setlocal
setlocal
...
@@ -81,7 +73,7 @@ if not "%2" == "" goto usage
...
@@ -81,7 +73,7 @@ if not "%2" == "" goto usage
REM Set HotSpotWorkSpace to the directy two steps above this script
REM Set HotSpotWorkSpace to the directy two steps above this script
for
%%i
in
(
"
%~dp0
.."
)
do
(
set
HotSpotWorkSpace
=
%%~dpi
)
for
%%i
in
(
"
%~dp0
.."
)
do
(
set
HotSpotWorkSpace
=
%%~dpi
)
set
HotSpotBuildRoot
=
%HotSpotWorkSpace%
build
set
HotSpotBuildRoot
=
%HotSpotWorkSpace%
build
set
HotSpotBuildSpace
=
%HotSpotBuildRoot%
\vs
set
HotSpotBuildSpace
=
%HotSpotBuildRoot%
\vs
-
%BUILDARCH%
set
HotSpotJDKDist
=
%
1
set
HotSpotJDKDist
=
%
1
...
@@ -89,9 +81,9 @@ REM figure out MSC version
...
@@ -89,9 +81,9 @@ REM figure out MSC version
for
/F
%%i
in
(
'sh
%HotSpotWorkSpace%
/make/windows/get_msc_ver.sh'
)
do
set
%%i
for
/F
%%i
in
(
'sh
%HotSpotWorkSpace%
/make/windows/get_msc_ver.sh'
)
do
set
%%i
echo
**************************************************************
echo
**************************************************************
set
ProjectFile
=
jvm
.vcproj
set
ProjectFile
=
%HotSpotBuildSpace%
\
jvm.vcproj
if
"
%MSC_VER%
"
==
"1200"
(
if
"
%MSC_VER%
"
==
"1200"
(
set
ProjectFile
=
jvm
.dsp
set
ProjectFile
=
%HotSpotBuildSpace%
\
jvm.dsp
echo
Will
generate
VC6
project
{
unsupported
}
echo
Will
generate
VC6
project
{
unsupported
}
)
else
(
)
else
(
if
"
%MSC_VER%
"
==
"1400"
(
if
"
%MSC_VER%
"
==
"1400"
(
...
@@ -163,7 +155,7 @@ copy %HotSpotWorkSpace%\make\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\
...
@@ -163,7 +155,7 @@ copy %HotSpotWorkSpace%\make\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\
)
)
REM force regneration of ProjectFile
REM force regneration of ProjectFile
if
exist
%
HotSpotBuildSpace%
\
%ProjectFile%
del
%HotSpotBuildSpace%
\
%ProjectFile%
if
exist
%
ProjectFile%
del
%ProjectFile%
for
/D
%%i
in
(
compiler1
,
compiler2
,
tiered
,
core
,
kernel
)
do
(
for
/D
%%i
in
(
compiler1
,
compiler2
,
tiered
,
core
,
kernel
)
do
(
echo
--
%%i
--
echo
--
%%i
--
...
@@ -182,6 +174,7 @@ echo ARCH=%ARCH% >> %HotSpotBuildSpace%\%%i\local.m
...
@@ -182,6 +174,7 @@ echo ARCH=%ARCH% >> %HotSpotBuildSpace%\%%i\local.m
echo
BUILDARCH
=
%BUILDARCH%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
BUILDARCH
=
%BUILDARCH%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
Platform_arch
=
%Platform_arch%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
Platform_arch
=
%Platform_arch%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
Platform_arch_model
=
%Platform_arch_model%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
Platform_arch_model
=
%Platform_arch_model%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
echo
MSC_VER
=
%MSC_VER%
>>
%HotSpotBuildSpace%
\
%%i
\local.make
for
/D
%%j
in
(
debug
,
fastdebug
,
product
)
do
(
for
/D
%%j
in
(
debug
,
fastdebug
,
product
)
do
(
if
NOT
EXIST
%HotSpotBuildSpace%
\
%%i
\
%%j
mkdir
%HotSpotBuildSpace%
\
%%i
\
%%j
if
NOT
EXIST
%HotSpotBuildSpace%
\
%%i
\
%%j
mkdir
%HotSpotBuildSpace%
\
%%i
\
%%j
...
@@ -196,7 +189,7 @@ popd
...
@@ -196,7 +189,7 @@ popd
pushd
%HotSpotBuildRoot%
pushd
%HotSpotBuildRoot%
REM It doesn't matter which variant we use here, "compiler1" is as good as any of the others - we need the common variables
REM It doesn't matter which variant we use here, "compiler1" is as good as any of the others - we need the common variables
nmake
/nologo /F
%HotSpotWorkSpace%
/make/windows/projectfiles/common/Makefile
LOCAL_MAKE
=
%HotSpotBuildSpace%
\compiler1\local.make
%
HotSpotBuildRoot%
/
%
ProjectFile%
nmake
/nologo /F
%HotSpotWorkSpace%
/make/windows/projectfiles/common/Makefile
LOCAL_MAKE
=
%HotSpotBuildSpace%
\compiler1\local.make
%ProjectFile%
popd
popd
...
...
make/windows/makefiles/compile.make
浏览文件 @
7c417053
#
#
# Copyright (c) 1997, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -141,9 +141,6 @@ COMPILER_NAME=VS2010
...
@@ -141,9 +141,6 @@ COMPILER_NAME=VS2010
!
endif
!
endif
!
endif
!
endif
# Add what version of the compiler we think this is to the compile line
CPP_FLAGS
=
$(CPP_FLAGS)
/D
"MSC_VER=
$(MSC_VER)
"
# By default, we do not want to use the debug version of the msvcrt.dll file
# By default, we do not want to use the debug version of the msvcrt.dll file
# but if MFC_DEBUG is defined in the environment it will be used.
# but if MFC_DEBUG is defined in the environment it will be used.
MS_RUNTIME_OPTION
=
/MD
MS_RUNTIME_OPTION
=
/MD
...
...
make/windows/makefiles/projectcreator.make
浏览文件 @
7c417053
#
#
# Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -36,8 +36,6 @@ ProjectCreatorSources=\
...
@@ -36,8 +36,6 @@ ProjectCreatorSources=\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\D
irectoryTree.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\D
irectoryTree.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\D
irectoryTreeNode.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\D
irectoryTreeNode.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\F
ileFormatException.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\F
ileFormatException.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\M
acro.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\M
acroDefinitions.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\P
rojectCreator.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\P
rojectCreator.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\W
inGammaPlatform.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\W
inGammaPlatform.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\W
inGammaPlatformVC6.java
\
$(WorkSpace)
\s
rc
\s
hare
\t
ools
\P
rojectCreator
\W
inGammaPlatformVC6.java
\
...
@@ -50,6 +48,10 @@ ProjectCreatorSources=\
...
@@ -50,6 +48,10 @@ ProjectCreatorSources=\
# This is only used internally
# This is only used internally
ProjectCreatorIncludesPRIVATE
=
\
ProjectCreatorIncludesPRIVATE
=
\
-relativeInclude
src
\c
losed
\s
hare
\v
m
\
-relativeInclude
src
\c
losed
\o
s
\w
indows
\v
m
\
-relativeInclude
src
\c
losed
\o
s_cpu
\w
indows_
$(Platform_arch)
\v
m
\
-relativeInclude
src
\c
losed
\c
pu
\$
(
Platform_arch
)
\v
m
\
-relativeInclude
src
\s
hare
\v
m
\
-relativeInclude
src
\s
hare
\v
m
\
-relativeInclude
src
\s
hare
\v
m
\p
rims
\
-relativeInclude
src
\s
hare
\v
m
\p
rims
\
-relativeInclude
src
\o
s
\w
indows
\v
m
\
-relativeInclude
src
\o
s
\w
indows
\v
m
\
...
@@ -84,7 +86,7 @@ ProjectCreatorIDEOptions=\
...
@@ -84,7 +86,7 @@ ProjectCreatorIDEOptions=\
-buildBase
$(HOTSPOTBUILDSPACE)
\%
f
\%
b
\
-buildBase
$(HOTSPOTBUILDSPACE)
\%
f
\%
b
\
-startAt
src
\
-startAt
src
\
-compiler
$(VcVersion)
\
-compiler
$(VcVersion)
\
-projectFileName
$(HOTSPOTBUILD
ROOT
)
\$
(
ProjectFile
)
\
-projectFileName
$(HOTSPOTBUILD
SPACE
)
\$
(
ProjectFile
)
\
-jdkTargetRoot
$(HOTSPOTJDKDIST)
\
-jdkTargetRoot
$(HOTSPOTJDKDIST)
\
-define
ALIGN_STACK_FRAMES
\
-define
ALIGN_STACK_FRAMES
\
-define
VM_LITTLE_ENDIAN
\
-define
VM_LITTLE_ENDIAN
\
...
@@ -106,13 +108,20 @@ ProjectCreatorIDEOptions=\
...
@@ -106,13 +108,20 @@ ProjectCreatorIDEOptions=\
# Add in build-specific options
# Add in build-specific options
!if
"$(BUILDARCH)"
==
"i486"
!if
"$(BUILDARCH)"
==
"i486"
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
-platformName
Win32
\
-define
IA32
\
-define
IA32
\
-ignorePath
x86_64
\
-ignorePath
x86_64
\
-define
TARGET_ARCH_MODEL_x86_32
-define
TARGET_ARCH_MODEL_x86_32
!
else
!
else
!if
"$(BUILDARCH)"
==
"amd64"
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
-platformName
x64
\
-define
AMD64
\
-define
_LP64
\
-ignorePath
x86_32
\
-ignorePath
x86_32
\
-define
TARGET_ARCH_MODEL_x86_64
-define
TARGET_ARCH_MODEL_x86_64
\
-define
TARGET_OS_ARCH_MODEL_windows_x86_64
!
endif
!
endif
!
endif
ProjectCreatorIDEOptionsIgnoreCompiler1
=
\
ProjectCreatorIDEOptionsIgnoreCompiler1
=
\
...
...
make/windows/makefiles/rules.make
浏览文件 @
7c417053
#
#
# Copyright (c) 2003, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -53,7 +53,7 @@ ProjectFile=jvm.vcproj
...
@@ -53,7 +53,7 @@ ProjectFile=jvm.vcproj
!if
"$(MSC_VER)"
==
"1200"
!if
"$(MSC_VER)"
==
"1200"
VcVersion
=
VC6
VcVersion
=
VC6
ProjectFile
=
vm.dsp
ProjectFile
=
j
vm.dsp
!elseif
"$(MSC_VER)"
==
"1400"
!elseif
"$(MSC_VER)"
==
"1400"
...
...
make/windows/platform_amd64
已删除
100644 → 0
浏览文件 @
4cbfb99f
// Platform file for win32 NT platform
os_family = windows
arch = x86
arch_model = x86_64
os_arch = windows_x86
os_arch_model = windows_x86_64
lib_arch = amd64
compiler = visCPP
make/windows/platform_i486
已删除
100644 → 0
浏览文件 @
4cbfb99f
// Platform file for windows platform
os_family = windows
arch = x86
arch_model = x86_32
os_arch = windows_x86
os_arch_model = windows_x86_32
lib_arch = i386
compiler = visCPP
make/windows/platform_ia64
已删除
100644 → 0
浏览文件 @
4cbfb99f
// Platform file for Itanium Windows platform $Revision: 1.0 $
os_family = win32
arch = ia64
os_arch = win32_ia64
compiler = visCPP
gnu_dis_arch = ia64
make/windows/projectfiles/common/Makefile
浏览文件 @
7c417053
#
#
# Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -54,8 +54,6 @@ BootStrapDir=$(HOTSPOTJDKDIST)
...
@@ -54,8 +54,6 @@ BootStrapDir=$(HOTSPOTJDKDIST)
JvmtiOutDir
=
$(HOTSPOTBUILDSPACE)
\$
(
Variant
)
\g
enerated
\j
vmtifiles
JvmtiOutDir
=
$(HOTSPOTBUILDSPACE)
\$
(
Variant
)
\g
enerated
\j
vmtifiles
!
include
$(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make
!
include
$(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make
Platform
=
$(HOTSPOTWORKSPACE)
/make/windows/platform_
$(BUILDARCH)
!if
"$(Variant)"
==
"compiler2"
!if
"$(Variant)"
==
"compiler2"
# Pick up rules for building adlc
# Pick up rules for building adlc
!
include
$(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
!
include
$(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
...
@@ -105,17 +103,16 @@ HOTSPOT_VM_DISTRO="OpenJDK"
...
@@ -105,17 +103,16 @@ HOTSPOT_VM_DISTRO="OpenJDK"
!
endif
!
endif
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
ProjectCreatorIDEOptions
=
$(ProjectCreatorIDEOptions)
\
-platform
$(Platform)
\
-define
HOTSPOT_RELEASE_VERSION
=
\\\"
$(HOTSPOT_RELEASE_VERSION)
\\\"
\
-define
HOTSPOT_RELEASE_VERSION
=
\\\"
$(HOTSPOT_RELEASE_VERSION)
\\\"
\
-define
JRE_RELEASE_VERSION
=
\\\"
$(JRE_RELEASE_VERSION)
\\\"
\
-define
JRE_RELEASE_VERSION
=
\\\"
$(JRE_RELEASE_VERSION)
\\\"
\
-define
HOTSPOT_VM_DISTRO
=
\\\"
$(HOTSPOT_VM_DISTRO)
\\\"
-define
HOTSPOT_VM_DISTRO
=
\\\"
$(HOTSPOT_VM_DISTRO)
\\\"
$(HOTSPOTBUILD
ROOT
)/$(ProjectFile)
:
$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
$(HOTSPOTBUILD
SPACE
)/$(ProjectFile)
:
$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
@
$(RUN_JAVA)
-Djava
.class.path
=
$(HOTSPOTBUILDSPACE)
/classes ProjectCreator WinGammaPlatform
$(VcVersion)
$(ProjectCreatorIDEOptions)
@
$(RUN_JAVA)
-Djava
.class.path
=
$(HOTSPOTBUILDSPACE)
/classes ProjectCreator WinGammaPlatform
$(VcVersion)
$(ProjectCreatorIDEOptions)
clean
:
clean
:
@
rm
-rf
$(HOTSPOTBUILDSPACE)
/classes
@
rm
-rf
$(HOTSPOTBUILDSPACE)
/classes
@
rm
-r
..
/
$(ProjectFile)
@
rm
-r
$(HOTSPOTBUILDSPACE)
/
$(ProjectFile)
$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
:
$(ProjectCreatorSources)
$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
:
$(ProjectCreatorSources)
@
if
exist
$(HOTSPOTBUILDSPACE)
\c
lasses
rmdir
/s /q
$(HOTSPOTBUILDSPACE)
\c
lasses
@
if
exist
$(HOTSPOTBUILDSPACE)
\c
lasses
rmdir
/s /q
$(HOTSPOTBUILDSPACE)
\c
lasses
...
...
src/os/windows/vm/perfMemory_windows.cpp
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2001, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -298,8 +298,8 @@ static char* get_user_name() {
...
@@ -298,8 +298,8 @@ static char* get_user_name() {
static
char
*
get_user_name_slow
(
int
vmid
)
{
static
char
*
get_user_name_slow
(
int
vmid
)
{
// directory search
// directory search
char
*
old
est_user
=
NULL
;
char
*
lat
est_user
=
NULL
;
time_t
old
est_ctime
=
0
;
time_t
lat
est_ctime
=
0
;
const
char
*
tmpdirname
=
os
::
get_temp_directory
();
const
char
*
tmpdirname
=
os
::
get_temp_directory
();
...
@@ -375,18 +375,29 @@ static char* get_user_name_slow(int vmid) {
...
@@ -375,18 +375,29 @@ static char* get_user_name_slow(int vmid) {
continue
;
continue
;
}
}
// compare and save filename with latest creation time
// If we found a matching file with a newer creation time, then
if
(
statbuf
.
st_size
>
0
&&
statbuf
.
st_ctime
>
oldest_ctime
)
{
// save the user name. The newer creation time indicates that
// we found a newer incarnation of the process associated with
if
(
statbuf
.
st_ctime
>
oldest_ctime
)
{
// vmid. Due to the way that Windows recycles pids and the fact
char
*
user
=
strchr
(
dentry
->
d_name
,
'_'
)
+
1
;
// that we can't delete the file from the file system namespace
// until last close, it is possible for there to be more than
if
(
oldest_user
!=
NULL
)
FREE_C_HEAP_ARRAY
(
char
,
oldest_user
);
// one hsperfdata file with a name matching vmid (diff users).
oldest_user
=
NEW_C_HEAP_ARRAY
(
char
,
strlen
(
user
)
+
1
);
//
// We no longer ignore hsperfdata files where (st_size == 0).
strcpy
(
oldest_user
,
user
);
// In this function, all we're trying to do is determine the
oldest_ctime
=
statbuf
.
st_ctime
;
// name of the user that owns the process associated with vmid
}
// so the size doesn't matter. Very rarely, we have observed
// hsperfdata files where (st_size == 0) and the st_size field
// later becomes the expected value.
//
if
(
statbuf
.
st_ctime
>
latest_ctime
)
{
char
*
user
=
strchr
(
dentry
->
d_name
,
'_'
)
+
1
;
if
(
latest_user
!=
NULL
)
FREE_C_HEAP_ARRAY
(
char
,
latest_user
);
latest_user
=
NEW_C_HEAP_ARRAY
(
char
,
strlen
(
user
)
+
1
);
strcpy
(
latest_user
,
user
);
latest_ctime
=
statbuf
.
st_ctime
;
}
}
FREE_C_HEAP_ARRAY
(
char
,
filename
);
FREE_C_HEAP_ARRAY
(
char
,
filename
);
...
@@ -399,7 +410,7 @@ static char* get_user_name_slow(int vmid) {
...
@@ -399,7 +410,7 @@ static char* get_user_name_slow(int vmid) {
os
::
closedir
(
tmpdirp
);
os
::
closedir
(
tmpdirp
);
FREE_C_HEAP_ARRAY
(
char
,
tdbuf
);
FREE_C_HEAP_ARRAY
(
char
,
tdbuf
);
return
(
old
est_user
);
return
(
lat
est_user
);
}
}
// return the name of the user that owns the process identified by vmid.
// return the name of the user that owns the process identified by vmid.
...
@@ -1339,6 +1350,38 @@ static HANDLE create_sharedmem_resources(const char* dirname, const char* filena
...
@@ -1339,6 +1350,38 @@ static HANDLE create_sharedmem_resources(const char* dirname, const char* filena
CloseHandle
(
fh
);
CloseHandle
(
fh
);
fh
=
NULL
;
fh
=
NULL
;
return
NULL
;
return
NULL
;
}
else
{
// We created the file mapping, but rarely the size of the
// backing store file is reported as zero (0) which can cause
// failures when trying to use the hsperfdata file.
struct
stat
statbuf
;
int
ret_code
=
::
stat
(
filename
,
&
statbuf
);
if
(
ret_code
==
OS_ERR
)
{
if
(
PrintMiscellaneous
&&
Verbose
)
{
warning
(
"Could not get status information from file %s: %s
\n
"
,
filename
,
strerror
(
errno
));
}
CloseHandle
(
fmh
);
CloseHandle
(
fh
);
fh
=
NULL
;
fmh
=
NULL
;
return
NULL
;
}
// We could always call FlushFileBuffers() but the Microsoft
// docs indicate that it is considered expensive so we only
// call it when we observe the size as zero (0).
if
(
statbuf
.
st_size
==
0
&&
FlushFileBuffers
(
fh
)
!=
TRUE
)
{
DWORD
lasterror
=
GetLastError
();
if
(
PrintMiscellaneous
&&
Verbose
)
{
warning
(
"could not flush file %s: %d
\n
"
,
filename
,
lasterror
);
}
CloseHandle
(
fmh
);
CloseHandle
(
fh
);
fh
=
NULL
;
fmh
=
NULL
;
return
NULL
;
}
}
}
// the file has been successfully created and the file mapping
// the file has been successfully created and the file mapping
...
...
src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2004, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -71,7 +71,7 @@ typedef struct _DISPATCHER_CONTEXT {
...
@@ -71,7 +71,7 @@ typedef struct _DISPATCHER_CONTEXT {
PVOID
HandlerData
;
PVOID
HandlerData
;
}
DISPATCHER_CONTEXT
,
*
PDISPATCHER_CONTEXT
;
}
DISPATCHER_CONTEXT
,
*
PDISPATCHER_CONTEXT
;
#if MSC_VER < 1500
#if
_
MSC_VER < 1500
/* Not needed for VS2008 compiler, comes from winnt.h. */
/* Not needed for VS2008 compiler, comes from winnt.h. */
typedef
EXCEPTION_DISPOSITION
(
*
PEXCEPTION_ROUTINE
)
(
typedef
EXCEPTION_DISPOSITION
(
*
PEXCEPTION_ROUTINE
)
(
...
...
src/share/tools/ProjectCreator/BuildConfig.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -51,12 +51,14 @@ class BuildConfig {
...
@@ -51,12 +51,14 @@ class BuildConfig {
if
(
vars
==
null
)
vars
=
new
Hashtable
();
if
(
vars
==
null
)
vars
=
new
Hashtable
();
String
flavourBuild
=
flavour
+
"_"
+
build
;
String
flavourBuild
=
flavour
+
"_"
+
build
;
String
platformName
=
getFieldString
(
null
,
"PlatformName"
);
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
(
flavourBuild
);
System
.
out
.
println
(
flavourBuild
);
put
(
"Name"
,
getCI
().
makeCfgName
(
flavourBuild
));
put
(
"Name"
,
getCI
().
makeCfgName
(
flavourBuild
,
platformName
));
put
(
"Flavour"
,
flavour
);
put
(
"Flavour"
,
flavour
);
put
(
"Build"
,
build
);
put
(
"Build"
,
build
);
put
(
"PlatformName"
,
platformName
);
// ones mentioned above were needed to expand format
// ones mentioned above were needed to expand format
String
buildBase
=
expandFormat
(
getFieldString
(
null
,
"BuildBase"
));
String
buildBase
=
expandFormat
(
getFieldString
(
null
,
"BuildBase"
));
...
@@ -93,7 +95,7 @@ class BuildConfig {
...
@@ -93,7 +95,7 @@ class BuildConfig {
protected
void
initDefaultLinkerFlags
()
{
protected
void
initDefaultLinkerFlags
()
{
Vector
linkerFlags
=
new
Vector
();
Vector
linkerFlags
=
new
Vector
();
linkerFlags
.
addAll
(
getCI
().
getBaseLinkerFlags
(
get
(
"OutputDir"
),
get
(
"OutputDll"
)));
linkerFlags
.
addAll
(
getCI
().
getBaseLinkerFlags
(
get
(
"OutputDir"
),
get
(
"OutputDll"
)
,
get
(
"PlatformName"
)
));
put
(
"LinkerFlags"
,
linkerFlags
);
put
(
"LinkerFlags"
,
linkerFlags
);
}
}
...
@@ -115,18 +117,15 @@ class BuildConfig {
...
@@ -115,18 +117,15 @@ class BuildConfig {
}
}
Vector
getPreferredPaths
(
MacroDefinitions
macros
)
{
Vector
getPreferredPaths
()
{
Vector
preferredPaths
=
new
Vector
();
Vector
preferredPaths
=
new
Vector
();
// In the case of multiple files with the same name in
// In the case of multiple files with the same name in
// different subdirectories, prefer the versions specified in
// different subdirectories, prefer these versions
// the platform file as the "os_family" and "arch" macros.
preferredPaths
.
add
(
"windows"
);
for
(
Iterator
iter
=
macros
.
getMacros
();
iter
.
hasNext
();
)
{
preferredPaths
.
add
(
"x86"
);
Macro
macro
=
(
Macro
)
iter
.
next
();
preferredPaths
.
add
(
"closed"
);
if
(
macro
.
name
.
equals
(
"os_family"
)
||
macro
.
name
.
equals
(
"arch"
))
{
preferredPaths
.
add
(
macro
.
contents
);
}
}
// Also prefer "opto" over "adlc" for adlcVMDeps.hpp
// Also prefer "opto" over "adlc" for adlcVMDeps.hpp
preferredPaths
.
add
(
"opto"
);
preferredPaths
.
add
(
"opto"
);
...
@@ -137,18 +136,7 @@ class BuildConfig {
...
@@ -137,18 +136,7 @@ class BuildConfig {
void
handleDB
()
{
void
handleDB
()
{
WinGammaPlatform
platform
=
(
WinGammaPlatform
)
getField
(
null
,
"PlatformObject"
);
WinGammaPlatform
platform
=
(
WinGammaPlatform
)
getField
(
null
,
"PlatformObject"
);
File
incls
=
new
File
(
get
(
"OutputDir"
)+
Util
.
sep
+
"incls"
);
putSpecificField
(
"AllFilesHash"
,
computeAllFiles
(
platform
));
incls
.
mkdirs
();
MacroDefinitions
macros
=
new
MacroDefinitions
();
try
{
macros
.
readFrom
(
getFieldString
(
null
,
"Platform"
),
false
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
putSpecificField
(
"AllFilesHash"
,
computeAllFiles
(
platform
,
macros
));
}
}
...
@@ -190,10 +178,10 @@ class BuildConfig {
...
@@ -190,10 +178,10 @@ class BuildConfig {
ht
.
put
(
expandFormat
(
key
),
expandFormat
(
value
));
ht
.
put
(
expandFormat
(
key
),
expandFormat
(
value
));
}
}
Hashtable
computeAllFiles
(
WinGammaPlatform
platform
,
MacroDefinitions
macros
)
{
Hashtable
computeAllFiles
(
WinGammaPlatform
platform
)
{
Hashtable
rv
=
new
Hashtable
();
Hashtable
rv
=
new
Hashtable
();
DirectoryTree
tree
=
getSourceTree
(
get
(
"SourceBase"
),
getFieldString
(
null
,
"StartAt"
));
DirectoryTree
tree
=
getSourceTree
(
get
(
"SourceBase"
),
getFieldString
(
null
,
"StartAt"
));
Vector
preferredPaths
=
getPreferredPaths
(
macros
);
Vector
preferredPaths
=
getPreferredPaths
();
// Hold errors until end
// Hold errors until end
Vector
filesNotFound
=
new
Vector
();
Vector
filesNotFound
=
new
Vector
();
...
@@ -228,8 +216,7 @@ class BuildConfig {
...
@@ -228,8 +216,7 @@ class BuildConfig {
System
.
err
.
println
(
"Error: some files were not found or "
+
System
.
err
.
println
(
"Error: some files were not found or "
+
"appeared in multiple subdirectories of "
+
"appeared in multiple subdirectories of "
+
"directory "
+
get
(
"SourceBase"
)
+
" and could not "
+
"directory "
+
get
(
"SourceBase"
)
+
" and could not "
+
"be resolved with the os_family and arch "
+
"be resolved with os_family and arch."
);
"macros in the platform file."
);
if
(
filesNotFound
.
size
()
!=
0
)
{
if
(
filesNotFound
.
size
()
!=
0
)
{
System
.
err
.
println
(
"Files not found:"
);
System
.
err
.
println
(
"Files not found:"
);
for
(
Iterator
iter
=
filesNotFound
.
iterator
();
for
(
Iterator
iter
=
filesNotFound
.
iterator
();
...
@@ -254,10 +241,14 @@ class BuildConfig {
...
@@ -254,10 +241,14 @@ class BuildConfig {
Vector
sysDefines
=
new
Vector
();
Vector
sysDefines
=
new
Vector
();
sysDefines
.
add
(
"WIN32"
);
sysDefines
.
add
(
"WIN32"
);
sysDefines
.
add
(
"_WINDOWS"
);
sysDefines
.
add
(
"_WINDOWS"
);
sysDefines
.
add
(
"HOTSPOT_BUILD_USER=
"
+
System
.
getProperty
(
"user.name"
)
);
sysDefines
.
add
(
"HOTSPOT_BUILD_USER=
\\\""
+
System
.
getProperty
(
"user.name"
)+
"\\\""
);
sysDefines
.
add
(
"HOTSPOT_BUILD_TARGET=\\\""
+
get
(
"Build"
)+
"\\\""
);
sysDefines
.
add
(
"HOTSPOT_BUILD_TARGET=\\\""
+
get
(
"Build"
)+
"\\\""
);
sysDefines
.
add
(
"_JNI_IMPLEMENTATION_"
);
sysDefines
.
add
(
"_JNI_IMPLEMENTATION_"
);
sysDefines
.
add
(
"HOTSPOT_LIB_ARCH=\\\"i386\\\""
);
if
(
vars
.
get
(
"PlatformName"
).
equals
(
"Win32"
))
{
sysDefines
.
add
(
"HOTSPOT_LIB_ARCH=\\\"i386\\\""
);
}
else
{
sysDefines
.
add
(
"HOTSPOT_LIB_ARCH=\\\"amd64\\\""
);
}
sysDefines
.
addAll
(
defines
);
sysDefines
.
addAll
(
defines
);
...
@@ -710,7 +701,7 @@ class KernelProductConfig extends ProductConfig {
...
@@ -710,7 +701,7 @@ class KernelProductConfig extends ProductConfig {
}
}
abstract
class
CompilerInterface
{
abstract
class
CompilerInterface
{
abstract
Vector
getBaseCompilerFlags
(
Vector
defines
,
Vector
includes
,
String
outDir
);
abstract
Vector
getBaseCompilerFlags
(
Vector
defines
,
Vector
includes
,
String
outDir
);
abstract
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
);
abstract
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
,
String
platformName
);
abstract
Vector
getDebugCompilerFlags
(
String
opt
);
abstract
Vector
getDebugCompilerFlags
(
String
opt
);
abstract
Vector
getDebugLinkerFlags
();
abstract
Vector
getDebugLinkerFlags
();
abstract
void
getAdditionalNonKernelLinkerFlags
(
Vector
rv
);
abstract
void
getAdditionalNonKernelLinkerFlags
(
Vector
rv
);
...
@@ -718,7 +709,7 @@ abstract class CompilerInterface {
...
@@ -718,7 +709,7 @@ abstract class CompilerInterface {
abstract
Vector
getProductLinkerFlags
();
abstract
Vector
getProductLinkerFlags
();
abstract
String
getOptFlag
();
abstract
String
getOptFlag
();
abstract
String
getNoOptFlag
();
abstract
String
getNoOptFlag
();
abstract
String
makeCfgName
(
String
flavourBuild
);
abstract
String
makeCfgName
(
String
flavourBuild
,
String
platformName
);
void
addAttr
(
Vector
receiver
,
String
attr
,
String
value
)
{
void
addAttr
(
Vector
receiver
,
String
attr
,
String
value
)
{
receiver
.
add
(
attr
);
receiver
.
add
(
value
);
receiver
.
add
(
attr
);
receiver
.
add
(
value
);
...
...
src/share/tools/ProjectCreator/DirectoryTree.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -55,6 +55,9 @@ public class DirectoryTree {
...
@@ -55,6 +55,9 @@ public class DirectoryTree {
private
Vector
nodes
=
new
Vector
();
private
Vector
nodes
=
new
Vector
();
public
FileIterator
(
Node
rootNode
)
{
public
FileIterator
(
Node
rootNode
)
{
if
(
rootNode
==
null
)
{
return
;
}
nodes
.
add
(
rootNode
);
nodes
.
add
(
rootNode
);
prune
();
prune
();
}
}
...
@@ -112,10 +115,7 @@ public class DirectoryTree {
...
@@ -112,10 +115,7 @@ public class DirectoryTree {
throws
IllegalArgumentException
{
throws
IllegalArgumentException
{
File
root
=
new
File
(
Util
.
normalize
(
baseDirectory
));
File
root
=
new
File
(
Util
.
normalize
(
baseDirectory
));
if
(!
root
.
isDirectory
())
{
if
(!
root
.
isDirectory
())
{
throw
new
IllegalArgumentException
(
"baseDirectory \""
+
return
;
baseDirectory
+
"\" does not exist or "
+
"is not a directory"
);
}
}
try
{
try
{
root
=
root
.
getCanonicalFile
();
root
=
root
.
getCanonicalFile
();
...
...
src/share/tools/ProjectCreator/FileFormatException.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -22,7 +22,9 @@
...
@@ -22,7 +22,9 @@
*
*
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
FileFormatException
extends
Exception
{
public
class
FileFormatException
extends
Exception
{
public
FileFormatException
()
{
public
FileFormatException
()
{
super
();
super
();
}
}
...
...
src/share/tools/ProjectCreator/Macro.java
已删除
100644 → 0
浏览文件 @
4cbfb99f
/*
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
public
class
Macro
{
public
String
name
;
public
String
contents
;
}
src/share/tools/ProjectCreator/MacroDefinitions.java
已删除
100644 → 0
浏览文件 @
4cbfb99f
/*
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
import
java.io.*
;
import
java.util.*
;
public
class
MacroDefinitions
{
private
Vector
macros
;
public
MacroDefinitions
()
{
macros
=
new
Vector
();
}
public
void
addMacro
(
String
name
,
String
contents
)
{
Macro
macro
=
new
Macro
();
macro
.
name
=
name
;
macro
.
contents
=
contents
;
macros
.
add
(
macro
);
}
private
boolean
lineIsEmpty
(
String
s
)
{
for
(
int
i
=
0
;
i
<
s
.
length
();
i
++)
{
if
(!
Character
.
isWhitespace
(
s
.
charAt
(
i
)))
{
return
false
;
}
}
return
true
;
}
public
void
readFrom
(
String
fileName
,
boolean
missingOk
)
throws
FileNotFoundException
,
FileFormatException
,
IOException
{
BufferedReader
reader
=
null
;
try
{
reader
=
new
BufferedReader
(
new
FileReader
(
fileName
));
}
catch
(
FileNotFoundException
e
)
{
if
(
missingOk
)
{
return
;
}
else
{
throw
(
e
);
}
}
String
line
;
do
{
line
=
reader
.
readLine
();
if
(
line
!=
null
)
{
// This had to be rewritten (compare to Database.java)
// because the Solaris platform file has been
// repurposed and now contains "macros" with spaces in
// them.
if
((!
line
.
startsWith
(
"//"
))
&&
(!
lineIsEmpty
(
line
)))
{
int
nameBegin
=
-
1
;
int
nameEnd
=
-
1
;
boolean
gotEquals
=
false
;
int
contentsBegin
=
-
1
;
int
contentsEnd
=
-
1
;
int
i
=
0
;
// Scan forward for beginning of name
while
(
i
<
line
.
length
())
{
if
(!
Character
.
isWhitespace
(
line
.
charAt
(
i
)))
{
break
;
}
i
++;
}
nameBegin
=
i
;
// Scan forward for end of name
while
(
i
<
line
.
length
())
{
if
(
Character
.
isWhitespace
(
line
.
charAt
(
i
)))
{
break
;
}
i
++;
}
nameEnd
=
i
;
// Scan forward for equals sign
while
(
i
<
line
.
length
())
{
if
(
line
.
charAt
(
i
)
==
'='
)
{
gotEquals
=
true
;
break
;
}
i
++;
}
// Scan forward for start of contents
i
++;
while
(
i
<
line
.
length
())
{
if
(!
Character
.
isWhitespace
(
line
.
charAt
(
i
)))
{
break
;
}
i
++;
}
contentsBegin
=
i
;
// Scan *backward* for end of contents
i
=
line
.
length
()
-
1
;
while
(
i
>=
0
)
{
if
(!
Character
.
isWhitespace
(
line
.
charAt
(
i
)))
{
break
;
}
}
contentsEnd
=
i
+
1
;
// Now do consistency check
if
(!((
nameBegin
<
nameEnd
)
&&
(
nameEnd
<
contentsBegin
)
&&
(
contentsBegin
<
contentsEnd
)
&&
(
gotEquals
==
true
)))
{
throw
new
FileFormatException
(
"Expected \"macroname = value\", "
+
"but found: "
+
line
);
}
String
name
=
line
.
substring
(
nameBegin
,
nameEnd
);
String
contents
=
line
.
substring
(
contentsBegin
,
contentsEnd
);
addMacro
(
name
,
contents
);
}
}
}
while
(
line
!=
null
);
reader
.
close
();
}
/** This returns an Iterator of Macros. You should not mutate the
returned Macro objects or use the Iterator to remove
macros. */
public
Iterator
getMacros
()
{
return
macros
.
iterator
();
}
}
src/share/tools/ProjectCreator/Util.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -47,7 +47,7 @@ public class Util {
...
@@ -47,7 +47,7 @@ public class Util {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
static
String
join
(
String
padder
,
String
v
[])
{
static
String
join
(
String
padder
,
String
v
[])
{
StringBuffer
sb
=
new
StringBuffer
();
StringBuffer
sb
=
new
StringBuffer
();
for
(
int
i
=
0
;
i
<
v
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
v
.
length
;
i
++)
{
...
@@ -80,9 +80,16 @@ public class Util {
...
@@ -80,9 +80,16 @@ public class Util {
static
String
normalize
(
String
file
)
{
static
String
normalize
(
String
file
)
{
return
file
.
replace
(
'\\'
,
'/'
);
file
=
file
.
replace
(
'\\'
,
'/'
);
if
(
file
.
length
()
>
2
)
{
if
(
file
.
charAt
(
1
)
==
':'
&&
file
.
charAt
(
2
)
==
'/'
)
{
// convert drive letter to uppercase
String
drive
=
file
.
substring
(
0
,
1
).
toUpperCase
();
return
drive
+
file
.
substring
(
1
);
}
}
return
file
;
}
}
static
String
sep
=
File
.
separator
;
static
String
sep
=
File
.
separator
;
static
String
os
=
"Win32"
;
//System.getProperty("os.name");
}
}
src/share/tools/ProjectCreator/WinGammaPlatform.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -235,13 +235,6 @@ public abstract class WinGammaPlatform {
...
@@ -235,13 +235,6 @@ public abstract class WinGammaPlatform {
(
locationsInTree
.
size
()
==
0
))
{
(
locationsInTree
.
size
()
==
0
))
{
filesNotFound
.
add
(
fileName
);
filesNotFound
.
add
(
fileName
);
}
else
if
(
locationsInTree
.
size
()
>
1
)
{
}
else
if
(
locationsInTree
.
size
()
>
1
)
{
// We shouldn't have duplicate file names in our workspace.
System
.
err
.
println
();
System
.
err
.
println
(
"There are multiple files named as: "
+
fileName
);
System
.
exit
(-
1
);
// The following code could be safely removed if we don't need duplicate
// file names.
// Iterate through them, trying to find one with a
// Iterate through them, trying to find one with a
// preferred path
// preferred path
search:
search:
...
@@ -336,7 +329,7 @@ public abstract class WinGammaPlatform {
...
@@ -336,7 +329,7 @@ public abstract class WinGammaPlatform {
String
projectName
=
getProjectName
(
projectFileName
,
ext
);
String
projectName
=
getProjectName
(
projectFileName
,
ext
);
writeProjectFile
(
projectFileName
,
projectName
,
createAllConfigs
());
writeProjectFile
(
projectFileName
,
projectName
,
createAllConfigs
(
BuildConfig
.
getFieldString
(
null
,
"PlatformName"
)
));
}
}
protected
void
writePrologue
(
String
[]
args
)
{
protected
void
writePrologue
(
String
[]
args
)
{
...
@@ -376,7 +369,13 @@ public abstract class WinGammaPlatform {
...
@@ -376,7 +369,13 @@ public abstract class WinGammaPlatform {
HsArgHandler
.
STRING
HsArgHandler
.
STRING
),
),
new
HsArgRule
(
"-projectFileName"
,
new
HsArgRule
(
"-platformName"
,
"PlatformName"
,
null
,
HsArgHandler
.
STRING
),
new
HsArgRule
(
"-projectFileName"
,
"ProjectFileName"
,
"ProjectFileName"
,
null
,
null
,
HsArgHandler
.
STRING
HsArgHandler
.
STRING
...
@@ -394,12 +393,6 @@ public abstract class WinGammaPlatform {
...
@@ -394,12 +393,6 @@ public abstract class WinGammaPlatform {
HsArgHandler
.
STRING
HsArgHandler
.
STRING
),
),
new
HsArgRule
(
"-platform"
,
"Platform"
,
null
,
HsArgHandler
.
STRING
),
new
HsArgRule
(
"-absoluteInclude"
,
new
HsArgRule
(
"-absoluteInclude"
,
"AbsoluteInclude"
,
"AbsoluteInclude"
,
null
,
null
,
...
@@ -590,28 +583,27 @@ public abstract class WinGammaPlatform {
...
@@ -590,28 +583,27 @@ public abstract class WinGammaPlatform {
BuildConfig
.
putField
(
null
,
"PlatformObject"
,
this
);
BuildConfig
.
putField
(
null
,
"PlatformObject"
,
this
);
}
}
Vector
createAllConfigs
()
{
Vector
createAllConfigs
(
String
platform
)
{
Vector
allConfigs
=
new
Vector
();
Vector
allConfigs
=
new
Vector
();
allConfigs
.
add
(
new
C1DebugConfig
());
allConfigs
.
add
(
new
C1DebugConfig
());
boolean
b
=
true
;
allConfigs
.
add
(
new
C1FastDebugConfig
());
if
(
b
)
{
allConfigs
.
add
(
new
C1ProductConfig
());
allConfigs
.
add
(
new
C1FastDebugConfig
());
allConfigs
.
add
(
new
C1ProductConfig
());
allConfigs
.
add
(
new
C2DebugConfig
());
allConfigs
.
add
(
new
C2DebugConfig
());
allConfigs
.
add
(
new
C2FastDebugConfig
());
allConfigs
.
add
(
new
C2FastDebugConfig
());
allConfigs
.
add
(
new
C2ProductConfig
());
allConfigs
.
add
(
new
C2ProductConfig
());
allConfigs
.
add
(
new
TieredDebugConfig
());
allConfigs
.
add
(
new
TieredDebugConfig
());
allConfigs
.
add
(
new
TieredFastDebugConfig
());
allConfigs
.
add
(
new
TieredFastDebugConfig
());
allConfigs
.
add
(
new
TieredProductConfig
());
allConfigs
.
add
(
new
TieredProductConfig
());
allConfigs
.
add
(
new
CoreDebugConfig
());
allConfigs
.
add
(
new
CoreDebugConfig
());
allConfigs
.
add
(
new
CoreFastDebugConfig
());
allConfigs
.
add
(
new
CoreFastDebugConfig
());
allConfigs
.
add
(
new
CoreProductConfig
());
allConfigs
.
add
(
new
CoreProductConfig
());
if
(
platform
.
equals
(
"Win32"
))
{
allConfigs
.
add
(
new
KernelDebugConfig
());
allConfigs
.
add
(
new
KernelDebugConfig
());
allConfigs
.
add
(
new
KernelFastDebugConfig
());
allConfigs
.
add
(
new
KernelFastDebugConfig
());
allConfigs
.
add
(
new
KernelProductConfig
());
allConfigs
.
add
(
new
KernelProductConfig
());
...
...
src/share/tools/ProjectCreator/WinGammaPlatformVC6.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -223,7 +223,7 @@ class CompilerInterfaceVC6 extends CompilerInterface {
...
@@ -223,7 +223,7 @@ class CompilerInterfaceVC6 extends CompilerInterface {
return
rv
;
return
rv
;
}
}
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
)
{
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
,
String
platformName
)
{
Vector
rv
=
new
Vector
();
Vector
rv
=
new
Vector
();
rv
.
add
(
"PROP Ignore_Export_Lib 0"
);
rv
.
add
(
"PROP Ignore_Export_Lib 0"
);
...
@@ -231,8 +231,12 @@ class CompilerInterfaceVC6 extends CompilerInterface {
...
@@ -231,8 +231,12 @@ class CompilerInterfaceVC6 extends CompilerInterface {
rv
.
add
(
"ADD CPP /MD"
);
rv
.
add
(
"ADD CPP /MD"
);
rv
.
add
(
"ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib "
+
rv
.
add
(
"ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib "
+
" advapi32.lib shell32.lib ole32.lib oleaut32.lib winmm.lib"
);
" advapi32.lib shell32.lib ole32.lib oleaut32.lib winmm.lib"
);
String
machine
=
"/machine:I386"
;
if
(
platformName
.
equals
(
"x64"
))
{
machine
=
"/machine:X64"
;
}
rv
.
add
(
"ADD LINK32 /out:\""
+
outDll
+
"\" "
+
rv
.
add
(
"ADD LINK32 /out:\""
+
outDll
+
"\" "
+
" /nologo /subsystem:windows /machine:
I386"
+
" /nologo /subsystem:windows /machine:
"
+
machine
+
" /nologo /base:\"0x8000000\" /subsystem:windows /dll"
+
" /nologo /base:\"0x8000000\" /subsystem:windows /dll"
+
" /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM /export:JNI_GetCreatedJavaVMs "
+
" /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM /export:JNI_GetCreatedJavaVMs "
+
" /export:jio_snprintf /export:jio_printf /export:jio_fprintf /export:jio_vfprintf "
+
" /export:jio_snprintf /export:jio_printf /export:jio_fprintf /export:jio_vfprintf "
+
...
@@ -287,7 +291,7 @@ class CompilerInterfaceVC6 extends CompilerInterface {
...
@@ -287,7 +291,7 @@ class CompilerInterfaceVC6 extends CompilerInterface {
return
"d"
;
return
"d"
;
}
}
String
makeCfgName
(
String
flavourBuild
)
{
String
makeCfgName
(
String
flavourBuild
,
String
platform
)
{
return
"vm - "
+
Util
.
os
+
" "
+
flavourBuild
;
return
"vm - "
+
platform
+
" "
+
flavourBuild
;
}
}
}
}
src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
浏览文件 @
7c417053
/*
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -37,7 +37,7 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
...
@@ -37,7 +37,7 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
public
void
writeProjectFile
(
String
projectFileName
,
String
projectName
,
public
void
writeProjectFile
(
String
projectFileName
,
String
projectName
,
Vector
allConfigs
)
throws
IOException
{
Vector
allConfigs
)
throws
IOException
{
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
(
" Writing .vcproj file
..."
);
System
.
out
.
println
(
" Writing .vcproj file
: "
+
projectFileName
);
// If we got this far without an error, we're safe to actually
// If we got this far without an error, we're safe to actually
// write the .vcproj file
// write the .vcproj file
printWriter
=
new
PrintWriter
(
new
FileWriter
(
projectFileName
));
printWriter
=
new
PrintWriter
(
new
FileWriter
(
projectFileName
));
...
@@ -54,9 +54,8 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
...
@@ -54,9 +54,8 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
"SccLocalPath"
,
""
"SccLocalPath"
,
""
}
}
);
);
startTag
(
"Platforms"
,
null
);
startTag
(
"Platforms"
,
null
);
tag
(
"Platform"
,
new
String
[]
{
"Name"
,
Util
.
os
});
tag
(
"Platform"
,
new
String
[]
{
"Name"
,
(
String
)
BuildConfig
.
getField
(
null
,
"PlatformName"
)
});
endTag
(
"Platforms"
);
endTag
(
"Platforms"
);
startTag
(
"Configurations"
,
null
);
startTag
(
"Configurations"
,
null
);
...
@@ -81,12 +80,47 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
...
@@ -81,12 +80,47 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
abstract
class
NameFilter
{
abstract
class
NameFilter
{
protected
String
fname
;
protected
String
fname
;
abstract
boolean
match
(
FileInfo
fi
);
abstract
boolean
match
(
FileInfo
fi
);
String
filterString
()
{
return
""
;
}
String
filterString
()
{
return
""
;
}
String
name
()
{
return
this
.
fname
;}
String
name
()
{
return
this
.
fname
;}
@Override
// eclipse auto-generated
public
int
hashCode
()
{
final
int
prime
=
31
;
int
result
=
1
;
result
=
prime
*
result
+
getOuterType
().
hashCode
();
result
=
prime
*
result
+
((
fname
==
null
)
?
0
:
fname
.
hashCode
());
return
result
;
}
@Override
// eclipse auto-generated
public
boolean
equals
(
Object
obj
)
{
if
(
this
==
obj
)
return
true
;
if
(
obj
==
null
)
return
false
;
if
(
getClass
()
!=
obj
.
getClass
())
return
false
;
NameFilter
other
=
(
NameFilter
)
obj
;
if
(!
getOuterType
().
equals
(
other
.
getOuterType
()))
return
false
;
if
(
fname
==
null
)
{
if
(
other
.
fname
!=
null
)
return
false
;
}
else
if
(!
fname
.
equals
(
other
.
fname
))
return
false
;
return
true
;
}
// eclipse auto-generated
private
WinGammaPlatformVC7
getOuterType
()
{
return
WinGammaPlatformVC7
.
this
;
}
}
}
class
DirectoryFilter
extends
NameFilter
{
class
DirectoryFilter
extends
NameFilter
{
...
@@ -109,9 +143,50 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
...
@@ -109,9 +143,50 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
boolean
match
(
FileInfo
fi
)
{
boolean
match
(
FileInfo
fi
)
{
int
lastSlashIndex
=
fi
.
full
.
lastIndexOf
(
'/'
);
int
lastSlashIndex
=
fi
.
full
.
lastIndexOf
(
'/'
);
String
fullDir
=
fi
.
full
.
substring
(
0
,
lastSlashIndex
);
String
fullDir
=
fi
.
full
.
substring
(
0
,
lastSlashIndex
);
return
fullDir
.
endsWith
(
dir
);
return
fullDir
.
endsWith
(
dir
);
}
@Override
// eclipse auto-generated
public
int
hashCode
()
{
final
int
prime
=
31
;
int
result
=
super
.
hashCode
();
result
=
prime
*
result
+
getOuterType
().
hashCode
();
result
=
prime
*
result
+
baseLen
;
result
=
prime
*
result
+
((
dir
==
null
)
?
0
:
dir
.
hashCode
());
result
=
prime
*
result
+
dirLen
;
return
result
;
}
@Override
// eclipse auto-generated
public
boolean
equals
(
Object
obj
)
{
if
(
this
==
obj
)
return
true
;
if
(!
super
.
equals
(
obj
))
return
false
;
if
(
getClass
()
!=
obj
.
getClass
())
return
false
;
DirectoryFilter
other
=
(
DirectoryFilter
)
obj
;
if
(!
getOuterType
().
equals
(
other
.
getOuterType
()))
return
false
;
if
(
baseLen
!=
other
.
baseLen
)
return
false
;
if
(
dir
==
null
)
{
if
(
other
.
dir
!=
null
)
return
false
;
}
else
if
(!
dir
.
equals
(
other
.
dir
))
return
false
;
if
(
dirLen
!=
other
.
dirLen
)
return
false
;
return
true
;
}
// eclipse auto-generated
private
WinGammaPlatformVC7
getOuterType
()
{
return
WinGammaPlatformVC7
.
this
;
}
}
}
}
...
@@ -232,32 +307,39 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
...
@@ -232,32 +307,39 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform {
DirectoryFilter
container
=
null
;
DirectoryFilter
container
=
null
;
for
(
FileInfo
fileInfo
:
files
)
{
for
(
FileInfo
fileInfo
:
files
)
{
if
(!
fileInfo
.
full
.
startsWith
(
sbase
))
{
if
(!
fileInfo
.
full
.
startsWith
(
sbase
))
{
continue
;
continue
;
}
}
int
lastSlash
=
fileInfo
.
full
.
lastIndexOf
(
'/'
);
int
lastSlash
=
fileInfo
.
full
.
lastIndexOf
(
'/'
);
String
dir
=
fileInfo
.
full
.
substring
(
sbase
.
length
(),
lastSlash
);
String
dir
=
fileInfo
.
full
.
substring
(
sbase
.
length
(),
lastSlash
);
if
(
dir
.
equals
(
"share/vm"
))
{
if
(
dir
.
equals
(
"share/vm"
))
{
// skip files directly in share/vm - should only be precompiled.hpp which is handled below
// skip files directly in share/vm - should only be precompiled.hpp which is handled below
continue
;
continue
;
}
}
if
(!
dir
.
equals
(
currentDir
))
{
if
(!
dir
.
equals
(
currentDir
))
{
currentDir
=
dir
;
currentDir
=
dir
;
if
(
container
!=
null
)
{
if
(
container
!=
null
&&
!
rv
.
contains
(
container
))
{
rv
.
add
(
container
);
rv
.
add
(
container
);
}
}
// remove "share/vm/" from names
// remove "share/vm/" from names
String
name
=
dir
;
String
name
=
dir
;
if
(
dir
.
startsWith
(
"share/vm/"
))
{
if
(
dir
.
startsWith
(
"share/vm/"
))
{
name
=
dir
.
substring
(
"share/vm/"
.
length
(),
dir
.
length
());
name
=
dir
.
substring
(
"share/vm/"
.
length
(),
dir
.
length
());
}
}
container
=
new
DirectoryFilter
(
name
,
dir
,
sbase
);
DirectoryFilter
newfilter
=
new
DirectoryFilter
(
name
,
dir
,
sbase
);
}
int
i
=
rv
.
indexOf
(
newfilter
);
}
if
(
i
==
-
1
)
{
if
(
container
!=
null
)
{
container
=
newfilter
;
rv
.
add
(
container
);
}
else
{
// if the filter already exists, reuse it
container
=
(
DirectoryFilter
)
rv
.
get
(
i
);
}
}
}
if
(
container
!=
null
&&
!
rv
.
contains
(
container
))
{
rv
.
add
(
container
);
}
}
ContainerFilter
generated
=
new
ContainerFilter
(
"Generated"
);
ContainerFilter
generated
=
new
ContainerFilter
(
"Generated"
);
...
@@ -583,7 +665,7 @@ class CompilerInterfaceVC7 extends CompilerInterface {
...
@@ -583,7 +665,7 @@ class CompilerInterfaceVC7 extends CompilerInterface {
return
rv
;
return
rv
;
}
}
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
)
{
Vector
getBaseLinkerFlags
(
String
outDir
,
String
outDll
,
String
platformName
)
{
Vector
rv
=
new
Vector
();
Vector
rv
=
new
Vector
();
addAttr
(
rv
,
"Name"
,
"VCLinkerTool"
);
addAttr
(
rv
,
"Name"
,
"VCLinkerTool"
);
...
@@ -610,8 +692,13 @@ class CompilerInterfaceVC7 extends CompilerInterface {
...
@@ -610,8 +692,13 @@ class CompilerInterfaceVC7 extends CompilerInterface {
addAttr
(
rv
,
"SubSystem"
,
"2"
);
addAttr
(
rv
,
"SubSystem"
,
"2"
);
addAttr
(
rv
,
"BaseAddress"
,
"0x8000000"
);
addAttr
(
rv
,
"BaseAddress"
,
"0x8000000"
);
addAttr
(
rv
,
"ImportLibrary"
,
outDir
+
Util
.
sep
+
"jvm.lib"
);
addAttr
(
rv
,
"ImportLibrary"
,
outDir
+
Util
.
sep
+
"jvm.lib"
);
// Set /MACHINE option. 1 is machineX86
if
(
platformName
.
equals
(
"Win32"
))
{
addAttr
(
rv
,
"TargetMachine"
,
"1"
);
// Set /MACHINE option. 1 is X86
addAttr
(
rv
,
"TargetMachine"
,
"1"
);
}
else
{
// Set /MACHINE option. 17 is X64
addAttr
(
rv
,
"TargetMachine"
,
"17"
);
}
return
rv
;
return
rv
;
}
}
...
@@ -656,12 +743,6 @@ class CompilerInterfaceVC7 extends CompilerInterface {
...
@@ -656,12 +743,6 @@ class CompilerInterfaceVC7 extends CompilerInterface {
addAttr
(
rv
,
"Optimization"
,
"2"
);
addAttr
(
rv
,
"Optimization"
,
"2"
);
// Set /Oy- option
// Set /Oy- option
addAttr
(
rv
,
"OmitFramePointers"
,
"FALSE"
);
addAttr
(
rv
,
"OmitFramePointers"
,
"FALSE"
);
}
Vector
getProductCompilerFlags
()
{
Vector
rv
=
new
Vector
();
getProductCompilerFlags_common
(
rv
);
// Set /Ob option. 1 is expandOnlyInline
// Set /Ob option. 1 is expandOnlyInline
addAttr
(
rv
,
"InlineFunctionExpansion"
,
"1"
);
addAttr
(
rv
,
"InlineFunctionExpansion"
,
"1"
);
// Set /GF option.
// Set /GF option.
...
@@ -670,6 +751,12 @@ class CompilerInterfaceVC7 extends CompilerInterface {
...
@@ -670,6 +751,12 @@ class CompilerInterfaceVC7 extends CompilerInterface {
addAttr
(
rv
,
"RuntimeLibrary"
,
"2"
);
addAttr
(
rv
,
"RuntimeLibrary"
,
"2"
);
// Set /Gy option
// Set /Gy option
addAttr
(
rv
,
"EnableFunctionLevelLinking"
,
"TRUE"
);
addAttr
(
rv
,
"EnableFunctionLevelLinking"
,
"TRUE"
);
}
Vector
getProductCompilerFlags
()
{
Vector
rv
=
new
Vector
();
getProductCompilerFlags_common
(
rv
);
return
rv
;
return
rv
;
}
}
...
@@ -693,7 +780,7 @@ class CompilerInterfaceVC7 extends CompilerInterface {
...
@@ -693,7 +780,7 @@ class CompilerInterfaceVC7 extends CompilerInterface {
return
"0"
;
return
"0"
;
}
}
String
makeCfgName
(
String
flavourBuild
)
{
String
makeCfgName
(
String
flavourBuild
,
String
platform
)
{
return
flavourBuild
+
"|"
+
Util
.
os
;
return
flavourBuild
+
"|"
+
platform
;
}
}
}
}
src/share/vm/adlc/adlc.hpp
浏览文件 @
7c417053
/*
/*
* Copyright (c) 1998, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -42,11 +42,6 @@
...
@@ -42,11 +42,6 @@
using
namespace
std
;
using
namespace
std
;
#endif
#endif
// make sure the MSC_VER and _MSC_VER settings make sense
#if _MSC_VER != MSC_VER && (_MSC_VER != 1400 || MSC_VER != 1399)
#error "Something is wrong with the detection of MSC_VER in the makefiles"
#endif
#if _MSC_VER >= 1400
#if _MSC_VER >= 1400
#define strdup _strdup
#define strdup _strdup
#endif
#endif
...
...
src/share/vm/oops/methodOop.cpp
浏览文件 @
7c417053
...
@@ -1386,7 +1386,7 @@ void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line
...
@@ -1386,7 +1386,7 @@ void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line
}
}
// See comment in methodOop.hpp which explains why this exists.
// See comment in methodOop.hpp which explains why this exists.
#if defined(_M_AMD64) && MSC_VER >= 1400
#if defined(_M_AMD64) &&
_
MSC_VER >= 1400
#pragma optimize("", off)
#pragma optimize("", off)
void
CompressedLineNumberWriteStream
::
write_pair
(
int
bci
,
int
line
)
{
void
CompressedLineNumberWriteStream
::
write_pair
(
int
bci
,
int
line
)
{
write_pair_inline
(
bci
,
line
);
write_pair_inline
(
bci
,
line
);
...
...
src/share/vm/oops/methodOop.hpp
浏览文件 @
7c417053
...
@@ -729,8 +729,8 @@ class CompressedLineNumberWriteStream: public CompressedWriteStream {
...
@@ -729,8 +729,8 @@ class CompressedLineNumberWriteStream: public CompressedWriteStream {
// Disabling optimization doesn't work for methods in header files
// Disabling optimization doesn't work for methods in header files
// so we force it to call through the non-optimized version in the .cpp.
// so we force it to call through the non-optimized version in the .cpp.
// It's gross, but it's the only way we can ensure that all callers are
// It's gross, but it's the only way we can ensure that all callers are
// fixed.
MSC_VER is defined in build/windows/makefiles/compile.make.
// fixed.
_MSC_VER is defined by the windows compiler
#if defined(_M_AMD64) && MSC_VER >= 1400
#if defined(_M_AMD64) &&
_
MSC_VER >= 1400
void
write_pair
(
int
bci
,
int
line
);
void
write_pair
(
int
bci
,
int
line
);
#else
#else
void
write_pair
(
int
bci
,
int
line
)
{
write_pair_inline
(
bci
,
line
);
}
void
write_pair
(
int
bci
,
int
line
)
{
write_pair_inline
(
bci
,
line
);
}
...
...
src/share/vm/runtime/arguments.cpp
浏览文件 @
7c417053
...
@@ -3103,6 +3103,19 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
...
@@ -3103,6 +3103,19 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
// Set flags if Aggressive optimization flags (-XX:+AggressiveOpts) enabled.
// Set flags if Aggressive optimization flags (-XX:+AggressiveOpts) enabled.
set_aggressive_opts_flags
();
set_aggressive_opts_flags
();
// Turn off biased locking for locking debug mode flags,
// which are subtlely different from each other but neither works with
// biased locking.
if
(
!
UseFastLocking
||
UseHeavyMonitors
)
{
if
(
!
FLAG_IS_DEFAULT
(
UseBiasedLocking
)
&&
UseBiasedLocking
)
{
// flag set to true on command line; warn the user that they
// can't enable biased locking here
warning
(
"Biased Locking is not supported with locking debug flags"
"; ignoring UseBiasedLocking flag."
);
}
UseBiasedLocking
=
false
;
}
#ifdef CC_INTERP
#ifdef CC_INTERP
// Clear flags not supported by the C++ interpreter
// Clear flags not supported by the C++ interpreter
FLAG_SET_DEFAULT
(
ProfileInterpreter
,
false
);
FLAG_SET_DEFAULT
(
ProfileInterpreter
,
false
);
...
...
src/share/vm/runtime/globals.hpp
浏览文件 @
7c417053
...
@@ -3692,7 +3692,7 @@ class CommandLineFlags {
...
@@ -3692,7 +3692,7 @@ class CommandLineFlags {
product(uintx, SharedReadOnlySize, 10*M, \
product(uintx, SharedReadOnlySize, 10*M, \
"Size of read-only space in permanent generation (in bytes)") \
"Size of read-only space in permanent generation (in bytes)") \
\
\
product(uintx, SharedMiscDataSize,
4*M,
\
product(uintx, SharedMiscDataSize,
NOT_LP64(4*M) LP64_ONLY(5*M),
\
"Size of the shared data area adjacent to the heap (in bytes)") \
"Size of the shared data area adjacent to the heap (in bytes)") \
\
\
product(uintx, SharedMiscCodeSize, 4*M, \
product(uintx, SharedMiscCodeSize, 4*M, \
...
...
src/share/vm/utilities/errorReporter.hpp
浏览文件 @
7c417053
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
#define SHARE_VM_UTILITIES_ERRORREPORTER_HPP
#define SHARE_VM_UTILITIES_ERRORREPORTER_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/globalDefinitions.hpp"
#include "memory/allocation.hpp"
class
ErrorReporter
:
public
StackObj
{
class
ErrorReporter
:
public
StackObj
{
...
...
src/share/vm/utilities/hashtable.hpp
浏览文件 @
7c417053
...
@@ -276,7 +276,7 @@ public:
...
@@ -276,7 +276,7 @@ public:
}
}
int
index_for
(
Symbol
*
name
,
Handle
loader
)
{
int
index_for
(
Symbol
*
name
,
Handle
loader
)
{
return
hash_to_index
(
compute_hash
(
name
,
loader
));
return
this
->
hash_to_index
(
compute_hash
(
name
,
loader
));
}
}
};
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录