Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
f9b0cad8
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看板
提交
f9b0cad8
编写于
8月 19, 2011
作者:
J
jcoomes
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
39a9a904
3572d69a
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
3262 addition
and
1376 deletion
+3262
-1376
THIRD_PARTY_README
THIRD_PARTY_README
+3119
-1350
agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java
.../share/classes/sun/jvm/hotspot/runtime/ServiceThread.java
+1
-1
make/linux/README
make/linux/README
+1
-1
make/windows/projectfiles/kernel/Makefile
make/windows/projectfiles/kernel/Makefile
+1
-1
src/cpu/x86/vm/vm_version_x86.cpp
src/cpu/x86/vm/vm_version_x86.cpp
+1
-1
src/cpu/x86/vm/vm_version_x86.hpp
src/cpu/x86/vm/vm_version_x86.hpp
+1
-1
src/os/solaris/vm/os_solaris.cpp
src/os/solaris/vm/os_solaris.cpp
+18
-11
src/os_cpu/solaris_sparc/vm/solaris_sparc.s
src/os_cpu/solaris_sparc/vm/solaris_sparc.s
+1
-1
src/share/tools/hsdis/README
src/share/tools/hsdis/README
+1
-1
src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp
src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp
+1
-1
src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
...hare/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
+1
-1
src/share/vm/oops/generateOopMap.cpp
src/share/vm/oops/generateOopMap.cpp
+15
-4
src/share/vm/runtime/os.cpp
src/share/vm/runtime/os.cpp
+11
-0
src/share/vm/runtime/os.hpp
src/share/vm/runtime/os.hpp
+3
-1
src/share/vm/utilities/yieldingWorkgroup.cpp
src/share/vm/utilities/yieldingWorkgroup.cpp
+1
-1
test/runtime/7020373/Test7020373.sh
test/runtime/7020373/Test7020373.sh
+86
-0
未找到文件。
THIRD_PARTY_README
浏览文件 @
f9b0cad8
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java
浏览文件 @
f9b0cad8
/*
/*
* Copyright (c) 2003, 2011 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2011
,
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
...
...
make/linux/README
浏览文件 @
f9b0cad8
Copyright (c) 2007 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2007
,
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
...
...
make/windows/projectfiles/kernel/Makefile
浏览文件 @
f9b0cad8
#
#
# Copyright (c) 2007, 2010 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2007, 2010
,
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
...
...
src/cpu/x86/vm/vm_version_x86.cpp
浏览文件 @
f9b0cad8
/*
/*
* Copyright (c) 1997, 2011, Oracle and/or its affiliates.
All Rights R
eserved.
* Copyright (c) 1997, 2011, Oracle and/or its affiliates.
All rights r
eserved.
* 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
...
...
src/cpu/x86/vm/vm_version_x86.hpp
浏览文件 @
f9b0cad8
/*
/*
* Copyright (c) 1997, 2010, Oracle and/or its affiliates.
All Rights R
eserved.
* Copyright (c) 1997, 2010, Oracle and/or its affiliates.
All rights r
eserved.
* 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
...
...
src/os/solaris/vm/os_solaris.cpp
浏览文件 @
f9b0cad8
...
@@ -3252,7 +3252,6 @@ bool os::unguard_memory(char* addr, size_t bytes) {
...
@@ -3252,7 +3252,6 @@ bool os::unguard_memory(char* addr, size_t bytes) {
// supported Solaris versions, this combination
// supported Solaris versions, this combination
// is equivalent to +UseISM -UseMPSS.
// is equivalent to +UseISM -UseMPSS.
typedef
int
(
*
getpagesizes_func_type
)
(
size_t
[],
int
);
static
size_t
_large_page_size
=
0
;
static
size_t
_large_page_size
=
0
;
bool
os
::
Solaris
::
ism_sanity_check
(
bool
warn
,
size_t
*
page_size
)
{
bool
os
::
Solaris
::
ism_sanity_check
(
bool
warn
,
size_t
*
page_size
)
{
...
@@ -3284,23 +3283,29 @@ static void insertion_sort_descending(size_t* array, int len) {
...
@@ -3284,23 +3283,29 @@ static void insertion_sort_descending(size_t* array, int len) {
}
}
bool
os
::
Solaris
::
mpss_sanity_check
(
bool
warn
,
size_t
*
page_size
)
{
bool
os
::
Solaris
::
mpss_sanity_check
(
bool
warn
,
size_t
*
page_size
)
{
getpagesizes_func_type
getpagesizes_func
=
CAST_TO_FN_PTR
(
getpagesizes_func_type
,
dlsym
(
RTLD_DEFAULT
,
"getpagesizes"
));
if
(
getpagesizes_func
==
NULL
)
{
if
(
warn
)
{
warning
(
"MPSS is not supported by the operating system."
);
}
return
false
;
}
const
unsigned
int
usable_count
=
VM_Version
::
page_size_count
();
const
unsigned
int
usable_count
=
VM_Version
::
page_size_count
();
if
(
usable_count
==
1
)
{
if
(
usable_count
==
1
)
{
return
false
;
return
false
;
}
}
// Find the right getpagesizes interface. When solaris 11 is the minimum
// build platform, getpagesizes() (without the '2') can be called directly.
typedef
int
(
*
gps_t
)(
size_t
[],
int
);
gps_t
gps_func
=
CAST_TO_FN_PTR
(
gps_t
,
dlsym
(
RTLD_DEFAULT
,
"getpagesizes2"
));
if
(
gps_func
==
NULL
)
{
gps_func
=
CAST_TO_FN_PTR
(
gps_t
,
dlsym
(
RTLD_DEFAULT
,
"getpagesizes"
));
if
(
gps_func
==
NULL
)
{
if
(
warn
)
{
warning
(
"MPSS is not supported by the operating system."
);
}
return
false
;
}
}
// Fill the array of page sizes.
// Fill the array of page sizes.
int
n
=
getpagesizes_func
(
_page_sizes
,
page_sizes_max
);
int
n
=
(
*
gps_func
)
(
_page_sizes
,
page_sizes_max
);
assert
(
n
>
0
,
"Solaris bug?"
);
assert
(
n
>
0
,
"Solaris bug?"
);
if
(
n
==
page_sizes_max
)
{
if
(
n
==
page_sizes_max
)
{
// Add a sentinel value (necessary only if the array was completely filled
// Add a sentinel value (necessary only if the array was completely filled
// since it is static (zeroed at initialization)).
// since it is static (zeroed at initialization)).
...
@@ -3308,6 +3313,7 @@ bool os::Solaris::mpss_sanity_check(bool warn, size_t * page_size) {
...
@@ -3308,6 +3313,7 @@ bool os::Solaris::mpss_sanity_check(bool warn, size_t * page_size) {
DEBUG_ONLY
(
warning
(
"increase the size of the os::_page_sizes array."
);)
DEBUG_ONLY
(
warning
(
"increase the size of the os::_page_sizes array."
);)
}
}
assert
(
_page_sizes
[
n
]
==
0
,
"missing sentinel"
);
assert
(
_page_sizes
[
n
]
==
0
,
"missing sentinel"
);
trace_page_sizes
(
"available page sizes"
,
_page_sizes
,
n
);
if
(
n
==
1
)
return
false
;
// Only one page size available.
if
(
n
==
1
)
return
false
;
// Only one page size available.
...
@@ -3337,6 +3343,7 @@ bool os::Solaris::mpss_sanity_check(bool warn, size_t * page_size) {
...
@@ -3337,6 +3343,7 @@ bool os::Solaris::mpss_sanity_check(bool warn, size_t * page_size) {
}
}
*
page_size
=
_page_sizes
[
0
];
*
page_size
=
_page_sizes
[
0
];
trace_page_sizes
(
"usable page sizes"
,
_page_sizes
,
end
+
1
);
return
true
;
return
true
;
}
}
...
...
src/os_cpu/solaris_sparc/vm/solaris_sparc.s
浏览文件 @
f9b0cad8
!!
!!
!!
Copyright
(
c
)
2005
,
2008
Oracle
and
/
or
its
affiliates
.
All
rights
reserved
.
!!
Copyright
(
c
)
2005
,
2008
,
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
...
...
src/share/tools/hsdis/README
浏览文件 @
f9b0cad8
Copyright (c) 2008 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2008
,
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
...
...
src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp
浏览文件 @
f9b0cad8
/*
/*
*
c
opyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
*
C
opyright (c) 2011, 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
...
...
src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
浏览文件 @
f9b0cad8
/*
/*
* Copyright (c) 2007, 2011 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2011
,
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
...
...
src/share/vm/oops/generateOopMap.cpp
浏览文件 @
f9b0cad8
...
@@ -963,10 +963,21 @@ void GenerateOopMap::init_basic_blocks() {
...
@@ -963,10 +963,21 @@ void GenerateOopMap::init_basic_blocks() {
// initialize the CellTypeState-related information.
// initialize the CellTypeState-related information.
init_state
();
init_state
();
// We allocate space for all state-vectors for all basicblocks in one huge chuck.
// We allocate space for all state-vectors for all basicblocks in one huge
// Then in the next part of the code, we set a pointer in each _basic_block that
// chunk. Then in the next part of the code, we set a pointer in each
// points to each piece.
// _basic_block that points to each piece.
CellTypeState
*
basicBlockState
=
NEW_RESOURCE_ARRAY
(
CellTypeState
,
bbNo
*
_state_len
);
// The product of bbNo and _state_len can get large if there are lots of
// basic blocks and stack/locals/monitors. Need to check to make sure
// we don't overflow the capacity of a pointer.
if
((
unsigned
)
bbNo
>
UINTPTR_MAX
/
sizeof
(
CellTypeState
)
/
_state_len
)
{
report_error
(
"The amount of memory required to analyze this method "
"exceeds addressable range"
);
return
;
}
CellTypeState
*
basicBlockState
=
NEW_RESOURCE_ARRAY
(
CellTypeState
,
bbNo
*
_state_len
);
memset
(
basicBlockState
,
0
,
bbNo
*
_state_len
*
sizeof
(
CellTypeState
));
memset
(
basicBlockState
,
0
,
bbNo
*
_state_len
*
sizeof
(
CellTypeState
));
// Make a pass over the basicblocks and assign their state vectors.
// Make a pass over the basicblocks and assign their state vectors.
...
...
src/share/vm/runtime/os.cpp
浏览文件 @
f9b0cad8
...
@@ -1232,6 +1232,17 @@ size_t os::page_size_for_region(size_t region_min_size, size_t region_max_size,
...
@@ -1232,6 +1232,17 @@ size_t os::page_size_for_region(size_t region_min_size, size_t region_max_size,
}
}
#ifndef PRODUCT
#ifndef PRODUCT
void
os
::
trace_page_sizes
(
const
char
*
str
,
const
size_t
*
page_sizes
,
int
count
)
{
if
(
TracePageSizes
)
{
tty
->
print
(
"%s: "
,
str
);
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
tty
->
print
(
" "
SIZE_FORMAT
,
page_sizes
[
i
]);
}
tty
->
cr
();
}
}
void
os
::
trace_page_sizes
(
const
char
*
str
,
const
size_t
region_min_size
,
void
os
::
trace_page_sizes
(
const
char
*
str
,
const
size_t
region_min_size
,
const
size_t
region_max_size
,
const
size_t
page_size
,
const
size_t
region_max_size
,
const
size_t
page_size
,
const
char
*
base
,
const
size_t
size
)
const
char
*
base
,
const
size_t
size
)
...
...
src/share/vm/runtime/os.hpp
浏览文件 @
f9b0cad8
...
@@ -208,11 +208,13 @@ class os: AllStatic {
...
@@ -208,11 +208,13 @@ class os: AllStatic {
size_t
region_max_size
,
size_t
region_max_size
,
uint
min_pages
);
uint
min_pages
);
// Method for tracing page sizes returned by the above method; enabled by
// Method
s
for tracing page sizes returned by the above method; enabled by
// TracePageSizes. The region_{min,max}_size parameters should be the values
// TracePageSizes. The region_{min,max}_size parameters should be the values
// passed to page_size_for_region() and page_size should be the result of that
// passed to page_size_for_region() and page_size should be the result of that
// call. The (optional) base and size parameters should come from the
// call. The (optional) base and size parameters should come from the
// ReservedSpace base() and size() methods.
// ReservedSpace base() and size() methods.
static
void
trace_page_sizes
(
const
char
*
str
,
const
size_t
*
page_sizes
,
int
count
)
PRODUCT_RETURN
;
static
void
trace_page_sizes
(
const
char
*
str
,
const
size_t
region_min_size
,
static
void
trace_page_sizes
(
const
char
*
str
,
const
size_t
region_min_size
,
const
size_t
region_max_size
,
const
size_t
region_max_size
,
const
size_t
page_size
,
const
size_t
page_size
,
...
...
src/share/vm/utilities/yieldingWorkgroup.cpp
浏览文件 @
f9b0cad8
/*
/*
* Copyright (c) 2005, 2010 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2010
,
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
...
...
test/runtime/7020373/Test7020373.sh
0 → 100644
浏览文件 @
f9b0cad8
#!/bin/sh
##
## @test
## @bug 7020373 7055247
## @key cte_test
## @summary JSR rewriting can overflow memory address size variables
## @ignore Ignore it until 7053586 fixed
## @run shell Test7020373.sh
##
if
[
"
${
TESTSRC
}
"
=
""
]
then
TESTSRC
=
.
fi
if
[
"
${
TESTJAVA
}
"
=
""
]
then
PARENT
=
`
dirname
\`
which java
\`
`
TESTJAVA
=
`
dirname
${
PARENT
}
`
echo
"TESTJAVA not set, selecting "
${
TESTJAVA
}
echo
"If this is incorrect, try setting the variable manually."
fi
if
[
"
${
TESTCLASSES
}
"
=
""
]
then
echo
"TESTCLASSES not set. Test cannot execute. Failed."
exit
1
fi
BIT_FLAG
=
""
# set platform-dependent variables
OS
=
`
uname
-s
`
case
"
$OS
"
in
SunOS
|
Linux
)
NULL
=
/dev/null
PS
=
":"
FS
=
"/"
## for solaris, linux it's HOME
FILE_LOCATION
=
$HOME
if
[
-f
${
FILE_LOCATION
}${
FS
}
JDK64BIT
-a
${
OS
}
=
"SunOS"
]
then
BIT_FLAG
=
`
cat
${
FILE_LOCATION
}${
FS
}
JDK64BIT |
grep
-v
'^#'
`
fi
;;
Windows_
*
)
NULL
=
NUL
PS
=
";"
FS
=
"
\\
"
;;
*
)
echo
"Unrecognized system!"
exit
1
;
;;
esac
JEMMYPATH
=
${
CPAPPEND
}
CLASSPATH
=
.
${
PS
}${
TESTCLASSES
}${
PS
}${
JEMMYPATH
}
;
export
CLASSPATH
THIS_DIR
=
`
pwd
`
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
${
BIT_FLAG
}
-version
${
TESTJAVA
}${
FS
}
bin
${
FS
}
jar xvf
${
TESTSRC
}${
FS
}
testcase.jar
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
${
BIT_FLAG
}
OOMCrashClass4000_1
>
test.out 2>&1
cat
test.out
egrep
"SIGSEGV|An unexpected error has been detected"
test.out
if
[
$?
=
0
]
then
echo
"Test Failed"
exit
1
else
grep
"java.lang.LinkageError"
test.out
if
[
$?
=
0
]
then
echo
"Test Passed"
exit
0
else
echo
"Test Failed"
exit
1
fi
fi
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录