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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
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.
*
* 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.
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.
#
# 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.
*
* 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.
*
* 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) {
// supported Solaris versions, this combination
// is equivalent to +UseISM -UseMPSS.
typedef
int
(
*
getpagesizes_func_type
)
(
size_t
[],
int
);
static
size_t
_large_page_size
=
0
;
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) {
}
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
)
{
const
unsigned
int
usable_count
=
VM_Version
::
page_size_count
();
if
(
usable_count
==
1
)
{
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
;
}
const
unsigned
int
usable_count
=
VM_Version
::
page_size_count
();
if
(
usable_count
==
1
)
{
return
false
;
}
// 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?"
);
if
(
n
==
page_sizes_max
)
{
// Add a sentinel value (necessary only if the array was completely filled
// since it is static (zeroed at initialization)).
...
...
@@ -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."
);)
}
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.
...
...
@@ -3337,6 +3343,7 @@ bool os::Solaris::mpss_sanity_check(bool warn, size_t * page_size) {
}
*
page_size
=
_page_sizes
[
0
];
trace_page_sizes
(
"usable page sizes"
,
_page_sizes
,
end
+
1
);
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
.
!!
!!
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.
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.
*
* 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.
*
* 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() {
// initialize the CellTypeState-related information.
init_state
();
// We allocate space for all state-vectors for all basicblocks in one huge chuck.
// Then in the next part of the code, we set a pointer in each _basic_block that
// points to each piece.
CellTypeState
*
basicBlockState
=
NEW_RESOURCE_ARRAY
(
CellTypeState
,
bbNo
*
_state_len
);
// We allocate space for all state-vectors for all basicblocks in one huge
// chunk. Then in the next part of the code, we set a pointer in each
// _basic_block that points to each piece.
// 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
));
// 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,
}
#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
,
const
size_t
region_max_size
,
const
size_t
page_size
,
const
char
*
base
,
const
size_t
size
)
...
...
src/share/vm/runtime/os.hpp
浏览文件 @
f9b0cad8
...
...
@@ -208,11 +208,13 @@ class os: AllStatic {
size_t
region_max_size
,
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
// 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
// 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
,
const
size_t
region_max_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.
*
* 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录