Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
726ca1ac
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
726ca1ac
编写于
6月 23, 2015
作者:
C
coffeys
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
ba756e8d
5211451d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
93 addition
and
45 deletion
+93
-45
make/lib/CoreLibraries.gmk
make/lib/CoreLibraries.gmk
+1
-1
src/windows/native/java/lang/java_props_md.c
src/windows/native/java/lang/java_props_md.c
+88
-37
src/windows/resource/java.manifest
src/windows/resource/java.manifest
+2
-0
test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java
.../java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java
+2
-7
未找到文件。
make/lib/CoreLibraries.gmk
浏览文件 @
726ca1ac
...
...
@@ -207,7 +207,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA, \
LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \
jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
advapi32.lib, \
advapi32.lib
version.lib
, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=java.dll" \
...
...
src/windows/native/java/lang/java_props_md.c
浏览文件 @
726ca1ac
...
...
@@ -348,8 +348,8 @@ java_props_t *
GetJavaProperties
(
JNIEnv
*
env
)
{
static
java_props_t
sprops
=
{
0
};
OSVERSIONINFOEX
ver
;
int
majorVersion
;
int
minorVersion
;
if
(
sprops
.
line_separator
)
{
return
&
sprops
;
...
...
@@ -380,21 +380,67 @@ GetJavaProperties(JNIEnv* env)
/* OS properties */
{
char
buf
[
100
];
SYSTEM_INFO
si
;
PGNSI
pGNSI
;
ver
.
dwOSVersionInfoSize
=
sizeof
(
ver
);
GetVersionEx
((
OSVERSIONINFO
*
)
&
ver
);
ZeroMemory
(
&
si
,
sizeof
(
SYSTEM_INFO
));
// Call GetNativeSystemInfo if supported or GetSystemInfo otherwise.
pGNSI
=
(
PGNSI
)
GetProcAddress
(
GetModuleHandle
(
TEXT
(
"kernel32.dll"
)),
"GetNativeSystemInfo"
);
if
(
NULL
!=
pGNSI
)
pGNSI
(
&
si
);
else
GetSystemInfo
(
&
si
);
boolean
is_workstation
;
boolean
is_64bit
;
DWORD
platformId
;
{
OSVERSIONINFOEX
ver
;
ver
.
dwOSVersionInfoSize
=
sizeof
(
ver
);
GetVersionEx
((
OSVERSIONINFO
*
)
&
ver
);
majorVersion
=
ver
.
dwMajorVersion
;
minorVersion
=
ver
.
dwMinorVersion
;
is_workstation
=
(
ver
.
wProductType
==
VER_NT_WORKSTATION
);
platformId
=
ver
.
dwPlatformId
;
sprops
.
patch_level
=
_strdup
(
ver
.
szCSDVersion
);
}
{
SYSTEM_INFO
si
;
ZeroMemory
(
&
si
,
sizeof
(
SYSTEM_INFO
));
GetNativeSystemInfo
(
&
si
);
is_64bit
=
(
si
.
wProcessorArchitecture
==
PROCESSOR_ARCHITECTURE_AMD64
);
}
do
{
// Read the major and minor version number from kernel32.dll
VS_FIXEDFILEINFO
*
file_info
;
WCHAR
kernel32_path
[
MAX_PATH
];
DWORD
version_size
;
LPTSTR
version_info
;
UINT
len
,
ret
;
// Get the full path to \Windows\System32\kernel32.dll and use that for
// determining what version of Windows we're running on.
len
=
MAX_PATH
-
(
UINT
)
strlen
(
"
\\
kernel32.dll"
)
-
1
;
ret
=
GetSystemDirectoryW
(
kernel32_path
,
len
);
if
(
ret
==
0
||
ret
>
len
)
{
break
;
}
wcsncat
(
kernel32_path
,
L"
\\
kernel32.dll"
,
MAX_PATH
-
ret
);
version_size
=
GetFileVersionInfoSizeW
(
kernel32_path
,
NULL
);
if
(
version_size
==
0
)
{
break
;
}
version_info
=
(
LPTSTR
)
malloc
(
version_size
);
if
(
version_info
==
NULL
)
{
break
;
}
if
(
!
GetFileVersionInfoW
(
kernel32_path
,
0
,
version_size
,
version_info
))
{
free
(
version_info
);
break
;
}
if
(
!
VerQueryValueW
(
version_info
,
L"
\\
"
,
(
LPVOID
*
)
&
file_info
,
&
len
))
{
free
(
version_info
);
break
;
}
majorVersion
=
HIWORD
(
file_info
->
dwProductVersionMS
);
minorVersion
=
LOWORD
(
file_info
->
dwProductVersionMS
);
free
(
version_info
);
}
while
(
0
);
/*
* From msdn page on OSVERSIONINFOEX, current as of this
...
...
@@ -420,17 +466,15 @@ GetJavaProperties(JNIEnv* env)
* Windows Server 2008 R2 6 1 (!VER_NT_WORKSTATION)
* Windows 8 6 2 (VER_NT_WORKSTATION)
* Windows Server 2012 6 2 (!VER_NT_WORKSTATION)
* Windows 10 10 0 (VER_NT_WORKSTATION)
*
* This mapping will presumably be augmented as new Windows
* versions are released.
*/
switch
(
ver
.
dwPlatformId
)
{
case
VER_PLATFORM_WIN32s
:
sprops
.
os_name
=
"Windows 3.1"
;
break
;
switch
(
platformId
)
{
case
VER_PLATFORM_WIN32_WINDOWS
:
if
(
ver
.
dwM
ajorVersion
==
4
)
{
switch
(
ver
.
dwM
inorVersion
)
{
if
(
m
ajorVersion
==
4
)
{
switch
(
m
inorVersion
)
{
case
0
:
sprops
.
os_name
=
"Windows 95"
;
break
;
case
10
:
sprops
.
os_name
=
"Windows 98"
;
break
;
case
90
:
sprops
.
os_name
=
"Windows Me"
;
break
;
...
...
@@ -441,10 +485,10 @@ GetJavaProperties(JNIEnv* env)
}
break
;
case
VER_PLATFORM_WIN32_NT
:
if
(
ver
.
dwM
ajorVersion
<=
4
)
{
if
(
m
ajorVersion
<=
4
)
{
sprops
.
os_name
=
"Windows NT"
;
}
else
if
(
ver
.
dwM
ajorVersion
==
5
)
{
switch
(
ver
.
dwM
inorVersion
)
{
}
else
if
(
m
ajorVersion
==
5
)
{
switch
(
m
inorVersion
)
{
case
0
:
sprops
.
os_name
=
"Windows 2000"
;
break
;
case
1
:
sprops
.
os_name
=
"Windows XP"
;
break
;
case
2
:
...
...
@@ -459,8 +503,7 @@ GetJavaProperties(JNIEnv* env)
* If it is, the operating system is Windows XP 64 bit;
* otherwise, it is Windows Server 2003."
*/
if
(
ver
.
wProductType
==
VER_NT_WORKSTATION
&&
si
.
wProcessorArchitecture
==
PROCESSOR_ARCHITECTURE_AMD64
)
{
if
(
is_workstation
&&
is_64bit
)
{
sprops
.
os_name
=
"Windows XP"
;
/* 64 bit */
}
else
{
sprops
.
os_name
=
"Windows 2003"
;
...
...
@@ -468,12 +511,12 @@ GetJavaProperties(JNIEnv* env)
break
;
default:
sprops
.
os_name
=
"Windows NT (unknown)"
;
break
;
}
}
else
if
(
ver
.
dwM
ajorVersion
==
6
)
{
}
else
if
(
m
ajorVersion
==
6
)
{
/*
* See table in MSDN OSVERSIONINFOEX documentation.
*/
if
(
ver
.
wProductType
==
VER_NT_WORKSTATION
)
{
switch
(
ver
.
dwM
inorVersion
)
{
if
(
is_workstation
)
{
switch
(
m
inorVersion
)
{
case
0
:
sprops
.
os_name
=
"Windows Vista"
;
break
;
case
1
:
sprops
.
os_name
=
"Windows 7"
;
break
;
case
2
:
sprops
.
os_name
=
"Windows 8"
;
break
;
...
...
@@ -481,7 +524,7 @@ GetJavaProperties(JNIEnv* env)
default:
sprops
.
os_name
=
"Windows NT (unknown)"
;
}
}
else
{
switch
(
ver
.
dwM
inorVersion
)
{
switch
(
m
inorVersion
)
{
case
0
:
sprops
.
os_name
=
"Windows Server 2008"
;
break
;
case
1
:
sprops
.
os_name
=
"Windows Server 2008 R2"
;
break
;
case
2
:
sprops
.
os_name
=
"Windows Server 2012"
;
break
;
...
...
@@ -489,6 +532,17 @@ GetJavaProperties(JNIEnv* env)
default:
sprops
.
os_name
=
"Windows NT (unknown)"
;
}
}
}
else
if
(
majorVersion
==
10
)
{
if
(
is_workstation
)
{
switch
(
minorVersion
)
{
case
0
:
sprops
.
os_name
=
"Windows 10"
;
break
;
default:
sprops
.
os_name
=
"Windows NT (unknown)"
;
}
}
else
{
switch
(
minorVersion
)
{
default:
sprops
.
os_name
=
"Windows NT (unknown)"
;
}
}
}
else
{
sprops
.
os_name
=
"Windows NT (unknown)"
;
}
...
...
@@ -497,7 +551,7 @@ GetJavaProperties(JNIEnv* env)
sprops
.
os_name
=
"Windows (unknown)"
;
break
;
}
sprintf
(
buf
,
"%d.%d"
,
ver
.
dwMajorVersion
,
ver
.
dwM
inorVersion
);
sprintf
(
buf
,
"%d.%d"
,
majorVersion
,
m
inorVersion
);
sprops
.
os_version
=
_strdup
(
buf
);
#if _M_IA64
sprops
.
os_arch
=
"ia64"
;
...
...
@@ -508,9 +562,6 @@ GetJavaProperties(JNIEnv* env)
#else
sprops
.
os_arch
=
"unknown"
;
#endif
sprops
.
patch_level
=
_strdup
(
ver
.
szCSDVersion
);
sprops
.
desktop
=
"windows"
;
}
...
...
@@ -621,7 +672,7 @@ GetJavaProperties(JNIEnv* env)
&
display_encoding
);
sprops
.
sun_jnu_encoding
=
getEncodingInternal
(
systemDefaultLCID
);
if
(
LANGIDFROMLCID
(
userDefaultLCID
)
==
0x0c04
&&
ver
.
dwM
ajorVersion
==
6
)
{
if
(
LANGIDFROMLCID
(
userDefaultLCID
)
==
0x0c04
&&
m
ajorVersion
==
6
)
{
// MS claims "Vista has built-in support for HKSCS-2004.
// All of the HKSCS-2004 characters have Unicode 4.1.
// PUA code point assignments". But what it really means
...
...
src/windows/resource/java.manifest
浏览文件 @
726ca1ac
...
...
@@ -52,6 +52,8 @@
<supportedOS
Id=
"{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"
/>
<!-- Windows 8.1 -->
<supportedOS
Id=
"{1f676c76-80e1-4239-95bb-83d0f6d0da78}"
/>
<!-- Windows 10 -->
<supportedOS
Id=
"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"
/>
</application>
</compatibility>
...
...
test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java
浏览文件 @
726ca1ac
...
...
@@ -79,23 +79,18 @@ public final class LFMultiThreadCachingTest extends LFCachingTestCase {
CountDownLatch
end
=
new
CountDownLatch
(
CORES
);
final
Map
<
Thread
,
Throwable
>
threadUncaughtExceptions
=
Collections
.
synchronizedMap
(
new
HashMap
<
Thread
,
Throwable
>(
CORES
));
Thread
.
UncaughtExceptionHandler
exHandler
=
(
t
,
e
)
->
{
threadUncaughtExceptions
.
put
(
t
,
e
);
};
for
(
int
i
=
0
;
i
<
CORES
;
++
i
)
{
TestMethods
.
Kind
kind
=
KINDS
[
i
%
KINDS
.
length
];
Thread
t
=
new
Thread
(()
->
{
try
{
begin
.
await
();
adapters
.
add
(
getTestMethod
().
getTestCaseMH
(
data
,
kind
));
}
catch
(
InterruptedException
|
BrokenBarrierException
|
IllegalAccessException
|
NoSuchMethodException
ex
)
{
throw
new
Error
(
"Unexpected exception"
,
ex
);
}
catch
(
Throwable
ex
)
{
threadUncaughtExceptions
.
put
(
Thread
.
currentThread
(),
ex
);
}
finally
{
end
.
countDown
();
}
});
t
.
setUncaughtExceptionHandler
(
exHandler
);
t
.
start
();
}
try
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录