Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
b60e593a
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看板
提交
b60e593a
编写于
10月 15, 2012
作者:
C
coleenp
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
c4d1fb31
09fd6aae
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
88 addition
and
31 deletion
+88
-31
src/share/vm/classfile/classFileParser.cpp
src/share/vm/classfile/classFileParser.cpp
+1
-1
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+1
-2
src/share/vm/memory/universe.cpp
src/share/vm/memory/universe.cpp
+0
-4
src/share/vm/oops/klass.cpp
src/share/vm/oops/klass.cpp
+3
-4
src/share/vm/runtime/globals.hpp
src/share/vm/runtime/globals.hpp
+0
-4
src/share/vm/runtime/handles.cpp
src/share/vm/runtime/handles.cpp
+1
-1
src/share/vm/runtime/handles.hpp
src/share/vm/runtime/handles.hpp
+4
-4
test/runtime/6929067/Test6929067.sh
test/runtime/6929067/Test6929067.sh
+78
-11
未找到文件。
src/share/vm/classfile/classFileParser.cpp
浏览文件 @
b60e593a
...
...
@@ -67,7 +67,7 @@
#define JAVA_CLASSFILE_MAGIC 0xCAFEBABE
#define JAVA_MIN_SUPPORTED_VERSION 45
#define JAVA_MAX_SUPPORTED_VERSION 5
1
#define JAVA_MAX_SUPPORTED_VERSION 5
2
#define JAVA_MAX_SUPPORTED_MINOR_VERSION 0
// Used for two backward compatibility reasons:
...
...
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
b60e593a
...
...
@@ -413,8 +413,7 @@ char* java_lang_String::as_utf8_string(oop java_string, int start, int len) {
}
bool
java_lang_String
::
equals
(
oop
java_string
,
jchar
*
chars
,
int
len
)
{
assert
(
SharedSkipVerify
||
java_string
->
klass
()
==
SystemDictionary
::
String_klass
(),
assert
(
java_string
->
klass
()
==
SystemDictionary
::
String_klass
(),
"must be java_string"
);
typeArrayOop
value
=
java_lang_String
::
value
(
java_string
);
int
offset
=
java_lang_String
::
offset
(
java_string
);
...
...
src/share/vm/memory/universe.cpp
浏览文件 @
b60e593a
...
...
@@ -1268,10 +1268,6 @@ void Universe::print_heap_after_gc(outputStream* st, bool ignore_extended) {
}
void
Universe
::
verify
(
bool
silent
,
VerifyOption
option
)
{
if
(
SharedSkipVerify
)
{
return
;
}
// The use of _verify_in_progress is a temporary work around for
// 6320749. Don't bother with a creating a class to set and clear
// it since it is only used in this method and the control flow is
...
...
src/share/vm/oops/klass.cpp
浏览文件 @
b60e593a
...
...
@@ -356,12 +356,11 @@ void Klass::set_next_sibling(Klass* s) {
}
void
Klass
::
append_to_sibling_list
()
{
debug_only
(
if
(
!
SharedSkipVerify
)
verify
();)
debug_only
(
verify
();)
// add ourselves to superklass' subklass list
InstanceKlass
*
super
=
superklass
();
if
(
super
==
NULL
)
return
;
// special case: class Object
assert
(
SharedSkipVerify
||
(
!
super
->
is_interface
()
// interfaces cannot be supers
assert
((
!
super
->
is_interface
()
// interfaces cannot be supers
&&
(
super
->
superklass
()
==
NULL
||
!
is_interface
())),
"an interface can only be a subklass of Object"
);
Klass
*
prev_first_subklass
=
super
->
subklass_oop
();
...
...
@@ -371,7 +370,7 @@ void Klass::append_to_sibling_list() {
}
// make ourselves the superklass' first subklass
super
->
set_subklass
(
this
);
debug_only
(
if
(
!
SharedSkipVerify
)
verify
();)
debug_only
(
verify
();)
}
void
Klass
::
remove_from_sibling_list
()
{
...
...
src/share/vm/runtime/globals.hpp
浏览文件 @
b60e593a
...
...
@@ -3539,10 +3539,6 @@ class CommandLineFlags {
product(uintx, SharedDummyBlockSize, 0, \
"Size of dummy block used to shift heap addresses (in bytes)") \
\
diagnostic(bool, SharedSkipVerify, false, \
"Skip assert() and verify() which page-in unwanted shared " \
"objects. ") \
\
diagnostic(bool, EnableInvokeDynamic, true, \
"support JSR 292 (method handles, invokedynamic, " \
"anonymous classes") \
...
...
src/share/vm/runtime/handles.cpp
浏览文件 @
b60e593a
...
...
@@ -48,7 +48,7 @@
oop
*
HandleArea
::
allocate_handle
(
oop
obj
)
{
assert
(
_handle_mark_nesting
>
1
,
"memory leak: allocating handle outside HandleMark"
);
assert
(
_no_handle_mark_nesting
==
0
,
"allocating handle inside NoHandleMark"
);
assert
(
SharedSkipVerify
||
obj
->
is_oop
(),
"sanity check"
);
assert
(
obj
->
is_oop
(),
"sanity check"
);
return
real_allocate_handle
(
obj
);
}
...
...
src/share/vm/runtime/handles.hpp
浏览文件 @
b60e593a
...
...
@@ -110,11 +110,11 @@ class Handle VALUE_OBJ_CLASS_SPEC {
/* Constructors */
\
type##Handle () : Handle() {} \
type##Handle (type##Oop obj) : Handle((oop)obj) { \
assert(
SharedSkipVerify || is_null() || ((oop)obj)->is_a(),
\
assert(
is_null() || ((oop)obj)->is_a(),
\
"illegal type"); \
} \
type##Handle (Thread* thread, type##Oop obj) : Handle(thread, (oop)obj) { \
assert(
SharedSkipVerify || is_null() || ((oop)obj)->is_a(), "illegal type");
\
assert(
is_null() || ((oop)obj)->is_a(), "illegal type");
\
} \
\
/* Operators for ease of use */
\
...
...
@@ -201,11 +201,11 @@ class instanceKlassHandle : public KlassHandle {
/* Constructors */
instanceKlassHandle
()
:
KlassHandle
()
{}
instanceKlassHandle
(
const
Klass
*
k
)
:
KlassHandle
(
k
)
{
assert
(
SharedSkipVerify
||
k
==
NULL
||
k
->
oop_is_instance
(),
assert
(
k
==
NULL
||
k
->
oop_is_instance
(),
"illegal type"
);
}
instanceKlassHandle
(
Thread
*
thread
,
const
Klass
*
k
)
:
KlassHandle
(
thread
,
k
)
{
assert
(
SharedSkipVerify
||
k
==
NULL
||
k
->
oop_is_instance
(),
assert
(
k
==
NULL
||
k
->
oop_is_instance
(),
"illegal type"
);
}
/* Access to klass part */
...
...
test/runtime/6929067/Test6929067.sh
浏览文件 @
b60e593a
...
...
@@ -4,6 +4,7 @@
## @test Test6929067.sh
## @bug 6929067
## @summary Stack guard pages should be removed when thread is detached
## @compile T.java
## @run shell Test6929067.sh
##
...
...
@@ -33,31 +34,97 @@ case "$OS" in
;;
esac
# Choose arch: i386 or amd64 (test is Linux-specific)
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
${
TESTVMOPTS
}
-Xinternalversion
>
vm_version.out 2>&1
# Bitness:
# Cannot simply look at TESTVMOPTS as -d64 is not
# passed if there is only a 64-bit JVM available.
${
TESTJAVA
}
/bin/java
${
TESTVMOPTS
}
-version
2>1 |
grep
"64-Bit"
>
/dev/null
grep
"64-Bit"
vm_version.out
>
${
NULL
}
if
[
"
$?
"
=
"0"
]
then
ARCH
=
amd64
COMP_FLAG
=
"-m64"
else
COMP_FLAG
=
"-m32"
fi
# Architecture:
# Translate uname output to JVM directory name, but permit testing
# 32-bit x86 on an x64 platform.
ARCH
=
`
uname
-m
`
case
"
$ARCH
"
in
x86_64
)
if
[
"
$COMP_FLAG
"
=
"-m32"
]
;
then
ARCH
=
i386
else
ARCH
=
amd64
fi
;;
ppc64
)
if
[
"
$COMP_FLAG
"
=
"-m32"
]
;
then
ARCH
=
ppc
else
ARCH
=
ppc64
fi
;;
sparc64
)
if
[
"
$COMP_FLAG
"
=
"-m32"
]
;
then
ARCH
=
sparc
else
ARCH
=
sparc64
fi
;;
arm
*
)
# 32-bit ARM machine: compiler may not recognise -m32
COMP_FLAG
=
""
ARCH
=
arm
;;
aarch64
)
# 64-bit arm machine, could be testing 32 or 64-bit:
if
[
"
$COMP_FLAG
"
=
"-m32"
]
;
then
ARCH
=
arm
else
ARCH
=
aarch64
fi
;;
i586
)
ARCH
=
i386
;;
i686
)
ARCH
=
i386
;;
# Assuming other ARCH values need no translation
esac
# VM type: need to know server or client
VMTYPE
=
client
grep
Server vm_version.out
>
${
NULL
}
if
[
"
$?
"
=
"0"
]
then
VMTYPE
=
server
fi
LD_LIBRARY_PATH
=
.:
${
TESTJAVA
}
/jre/lib/
${
ARCH
}
/client:/usr/openwin/lib:/usr/dt/lib:/usr/lib:
$LD_LIBRARY_PATH
export
LD_LIBRARY_PATH
THIS_DIR
=
`
pwd
`
LD_LIBRARY_PATH
=
.:
${
TESTJAVA
}
/jre/lib/
${
ARCH
}
/
${
VMTYPE
}
:/usr/lib:
$LD_LIBRARY_PATH
export
LD_LIBRARY_PATH
cp
${
TESTSRC
}${
FS
}
invoke.c
${
THIS_DIR
}
cp
${
TESTSRC
}${
FS
}
T.java
${
THIS_DIR
}
cp
${
TESTSRC
}${
FS
}
invoke.c
.
# Copy the result of our @compile action:
cp
${
TESTCLASSES
}${
FS
}
T.class
.
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
${
TESTVMOPTS
}
-fullversion
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac T.java
echo
"Architecture:
${
ARCH
}
"
echo
"Compilation flag:
${
COMP_FLAG
}
"
echo
"VM type:
${
VMTYPE
}
"
gcc
-DLINUX
${
COMP_FLAG
}
-o
invoke
\
-I
${
TESTJAVA
}
/include
-I
${
TESTJAVA
}
/include/linux
\
-L
${
TESTJAVA
}
/jre/lib/
${
ARCH
}
/
${
VMTYPE
}
\
-ljvm
-lpthread
invoke.c
gcc
-o
invoke
-I
${
TESTJAVA
}
/include
-I
${
TESTJAVA
}
/include/linux invoke.c
${
TESTJAVA
}
/jre/lib/
${
ARCH
}
/client/libjvm.so
./invoke
exit
$?
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录