Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
73c8a52a
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,发现更多精彩内容 >>
提交
73c8a52a
编写于
12月 17, 2015
作者:
G
gthornbr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8046611: Build errors with gcc on sparc/fastdebug
Reviewed-by: dcubed, mikael
上级
4bec43ff
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
2 addition
and
97 deletion
+2
-97
src/cpu/sparc/vm/frame_sparc.cpp
src/cpu/sparc/vm/frame_sparc.cpp
+1
-27
src/share/vm/runtime/safepoint.cpp
src/share/vm/runtime/safepoint.cpp
+1
-70
未找到文件。
src/cpu/sparc/vm/frame_sparc.cpp
浏览文件 @
73c8a52a
/*
/*
* Copyright (c) 1997, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
5
, 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
...
@@ -447,32 +447,6 @@ void frame::set_interpreter_frame_sender_sp(intptr_t* sender_sp) {
...
@@ -447,32 +447,6 @@ void frame::set_interpreter_frame_sender_sp(intptr_t* sender_sp) {
}
}
#endif // CC_INTERP
#endif // CC_INTERP
#ifdef ASSERT
// Debugging aid
static
frame
nth_sender
(
int
n
)
{
frame
f
=
JavaThread
::
current
()
->
last_frame
();
for
(
int
i
=
0
;
i
<
n
;
++
i
)
f
=
f
.
sender
((
RegisterMap
*
)
NULL
);
printf
(
"first frame %d
\n
"
,
f
.
is_first_frame
()
?
1
:
0
);
printf
(
"interpreted frame %d
\n
"
,
f
.
is_interpreted_frame
()
?
1
:
0
);
printf
(
"java frame %d
\n
"
,
f
.
is_java_frame
()
?
1
:
0
);
printf
(
"entry frame %d
\n
"
,
f
.
is_entry_frame
()
?
1
:
0
);
printf
(
"native frame %d
\n
"
,
f
.
is_native_frame
()
?
1
:
0
);
if
(
f
.
is_compiled_frame
())
{
if
(
f
.
is_deoptimized_frame
())
printf
(
"deoptimized frame 1
\n
"
);
else
printf
(
"compiled frame 1
\n
"
);
}
return
f
;
}
#endif
frame
frame
::
sender_for_entry_frame
(
RegisterMap
*
map
)
const
{
frame
frame
::
sender_for_entry_frame
(
RegisterMap
*
map
)
const
{
assert
(
map
!=
NULL
,
"map must be set"
);
assert
(
map
!=
NULL
,
"map must be set"
);
// Java frame called from C; skip all C frames and return top C
// Java frame called from C; skip all C frames and return top C
...
...
src/share/vm/runtime/safepoint.cpp
浏览文件 @
73c8a52a
/*
/*
* Copyright (c) 1997, 201
4
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
5
, 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
...
@@ -739,80 +739,12 @@ void SafepointSynchronize::block(JavaThread *thread) {
...
@@ -739,80 +739,12 @@ void SafepointSynchronize::block(JavaThread *thread) {
// ------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------------
// Exception handlers
// Exception handlers
#ifndef PRODUCT
#ifdef SPARC
#ifdef _LP64
#define PTR_PAD ""
#else
#define PTR_PAD " "
#endif
static
void
print_ptrs
(
intptr_t
oldptr
,
intptr_t
newptr
,
bool
wasoop
)
{
bool
is_oop
=
newptr
?
(
cast_to_oop
(
newptr
))
->
is_oop
()
:
false
;
tty
->
print_cr
(
PTR_FORMAT
PTR_PAD
" %s %c "
PTR_FORMAT
PTR_PAD
" %s %s"
,
oldptr
,
wasoop
?
"oop"
:
" "
,
oldptr
==
newptr
?
' '
:
'!'
,
newptr
,
is_oop
?
"oop"
:
" "
,
(
wasoop
&&
!
is_oop
)
?
"STALE"
:
((
wasoop
==
false
&&
is_oop
==
false
&&
oldptr
!=
newptr
)
?
"STOMP"
:
" "
));
}
static
void
print_longs
(
jlong
oldptr
,
jlong
newptr
,
bool
wasoop
)
{
bool
is_oop
=
newptr
?
(
cast_to_oop
(
newptr
))
->
is_oop
()
:
false
;
tty
->
print_cr
(
PTR64_FORMAT
" %s %c "
PTR64_FORMAT
" %s %s"
,
oldptr
,
wasoop
?
"oop"
:
" "
,
oldptr
==
newptr
?
' '
:
'!'
,
newptr
,
is_oop
?
"oop"
:
" "
,
(
wasoop
&&
!
is_oop
)
?
"STALE"
:
((
wasoop
==
false
&&
is_oop
==
false
&&
oldptr
!=
newptr
)
?
"STOMP"
:
" "
));
}
static
void
print_me
(
intptr_t
*
new_sp
,
intptr_t
*
old_sp
,
bool
*
was_oops
)
{
#ifdef _LP64
tty
->
print_cr
(
"--------+------address-----+------before-----------+-------after----------+"
);
const
int
incr
=
1
;
// Increment to skip a long, in units of intptr_t
#else
tty
->
print_cr
(
"--------+--address-+------before-----------+-------after----------+"
);
const
int
incr
=
2
;
// Increment to skip a long, in units of intptr_t
#endif
tty
->
print_cr
(
"---SP---|"
);
for
(
int
i
=
0
;
i
<
16
;
i
++
)
{
tty
->
print
(
"blob %c%d |"
PTR_FORMAT
" "
,
"LO"
[
i
>>
3
],
i
&
7
,
new_sp
);
print_ptrs
(
*
old_sp
++
,
*
new_sp
++
,
*
was_oops
++
);
}
tty
->
print_cr
(
"--------|"
);
for
(
int
i1
=
0
;
i1
<
frame
::
memory_parameter_word_sp_offset
-
16
;
i1
++
)
{
tty
->
print
(
"argv pad|"
PTR_FORMAT
" "
,
new_sp
);
print_ptrs
(
*
old_sp
++
,
*
new_sp
++
,
*
was_oops
++
);
}
tty
->
print
(
" pad|"
PTR_FORMAT
" "
,
new_sp
);
print_ptrs
(
*
old_sp
++
,
*
new_sp
++
,
*
was_oops
++
);
tty
->
print_cr
(
"--------|"
);
tty
->
print
(
" G1 |"
PTR_FORMAT
" "
,
new_sp
);
print_longs
(
*
(
jlong
*
)
old_sp
,
*
(
jlong
*
)
new_sp
,
was_oops
[
incr
-
1
]);
old_sp
+=
incr
;
new_sp
+=
incr
;
was_oops
+=
incr
;
tty
->
print
(
" G3 |"
PTR_FORMAT
" "
,
new_sp
);
print_longs
(
*
(
jlong
*
)
old_sp
,
*
(
jlong
*
)
new_sp
,
was_oops
[
incr
-
1
]);
old_sp
+=
incr
;
new_sp
+=
incr
;
was_oops
+=
incr
;
tty
->
print
(
" G4 |"
PTR_FORMAT
" "
,
new_sp
);
print_longs
(
*
(
jlong
*
)
old_sp
,
*
(
jlong
*
)
new_sp
,
was_oops
[
incr
-
1
]);
old_sp
+=
incr
;
new_sp
+=
incr
;
was_oops
+=
incr
;
tty
->
print
(
" G5 |"
PTR_FORMAT
" "
,
new_sp
);
print_longs
(
*
(
jlong
*
)
old_sp
,
*
(
jlong
*
)
new_sp
,
was_oops
[
incr
-
1
]);
old_sp
+=
incr
;
new_sp
+=
incr
;
was_oops
+=
incr
;
tty
->
print_cr
(
" FSR |"
PTR_FORMAT
" "
PTR64_FORMAT
" "
PTR64_FORMAT
,
new_sp
,
*
(
jlong
*
)
old_sp
,
*
(
jlong
*
)
new_sp
);
old_sp
+=
incr
;
new_sp
+=
incr
;
was_oops
+=
incr
;
// Skip the floats
tty
->
print_cr
(
"--Float-|"
PTR_FORMAT
,
new_sp
);
tty
->
print_cr
(
"---FP---|"
);
old_sp
+=
incr
*
32
;
new_sp
+=
incr
*
32
;
was_oops
+=
incr
*
32
;
for
(
int
i2
=
0
;
i2
<
16
;
i2
++
)
{
tty
->
print
(
"call %c%d |"
PTR_FORMAT
" "
,
"LI"
[
i2
>>
3
],
i2
&
7
,
new_sp
);
print_ptrs
(
*
old_sp
++
,
*
new_sp
++
,
*
was_oops
++
);
}
tty
->
cr
();
}
#endif // SPARC
#endif // PRODUCT
void
SafepointSynchronize
::
handle_polling_page_exception
(
JavaThread
*
thread
)
{
void
SafepointSynchronize
::
handle_polling_page_exception
(
JavaThread
*
thread
)
{
assert
(
thread
->
is_Java_thread
(),
"polling reference encountered by VM thread"
);
assert
(
thread
->
is_Java_thread
(),
"polling reference encountered by VM thread"
);
assert
(
thread
->
thread_state
()
==
_thread_in_Java
,
"should come from Java code"
);
assert
(
thread
->
thread_state
()
==
_thread_in_Java
,
"should come from Java code"
);
assert
(
SafepointSynchronize
::
is_synchronizing
(),
"polling encountered outside safepoint synchronization"
);
assert
(
SafepointSynchronize
::
is_synchronizing
(),
"polling encountered outside safepoint synchronization"
);
// Uncomment this to get some serious before/after printing of the
// Sparc safepoint-blob frame structure.
/*
intptr_t* sp = thread->last_Java_sp();
intptr_t stack_copy[150];
for( int i=0; i<150; i++ ) stack_copy[i] = sp[i];
bool was_oops[150];
for( int i=0; i<150; i++ )
was_oops[i] = stack_copy[i] ? ((oop)stack_copy[i])->is_oop() : false;
*/
if
(
ShowSafepointMsgs
)
{
if
(
ShowSafepointMsgs
)
{
tty
->
print
(
"handle_polling_page_exception: "
);
tty
->
print
(
"handle_polling_page_exception: "
);
}
}
...
@@ -824,7 +756,6 @@ void SafepointSynchronize::handle_polling_page_exception(JavaThread *thread) {
...
@@ -824,7 +756,6 @@ void SafepointSynchronize::handle_polling_page_exception(JavaThread *thread) {
ThreadSafepointState
*
state
=
thread
->
safepoint_state
();
ThreadSafepointState
*
state
=
thread
->
safepoint_state
();
state
->
handle_polling_page_exception
();
state
->
handle_polling_page_exception
();
// print_me(sp,stack_copy,was_oops);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录