Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
01b39769
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看板
提交
01b39769
编写于
10月 11, 2011
作者:
T
twisti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Reviewed-by: never, bdelsart
上级
fda714df
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
7 deletion
+11
-7
src/cpu/x86/vm/frame_x86.cpp
src/cpu/x86/vm/frame_x86.cpp
+5
-4
src/cpu/x86/vm/methodHandles_x86.cpp
src/cpu/x86/vm/methodHandles_x86.cpp
+2
-2
src/cpu/x86/vm/methodHandles_x86.hpp
src/cpu/x86/vm/methodHandles_x86.hpp
+4
-1
未找到文件。
src/cpu/x86/vm/frame_x86.cpp
浏览文件 @
01b39769
...
...
@@ -232,11 +232,13 @@ bool frame::safe_for_sender(JavaThread *thread) {
void
frame
::
patch_pc
(
Thread
*
thread
,
address
pc
)
{
address
*
pc_addr
=
&
(((
address
*
)
sp
())[
-
1
]);
if
(
TracePcPatching
)
{
tty
->
print_cr
(
"patch_pc at address"
INTPTR_FORMAT
" ["
INTPTR_FORMAT
" -> "
INTPTR_FORMAT
"] "
,
&
((
address
*
)
sp
())[
-
1
],
((
address
*
)
sp
())[
-
1
]
,
pc
);
tty
->
print_cr
(
"patch_pc at address
"
INTPTR_FORMAT
" ["
INTPTR_FORMAT
" -> "
INTPTR_FORMAT
"] "
,
pc_addr
,
*
pc_addr
,
pc
);
}
((
address
*
)
sp
())[
-
1
]
=
pc
;
assert
(
_pc
==
*
pc_addr
,
err_msg
(
"must be: "
INTPTR_FORMAT
" == "
INTPTR_FORMAT
,
_pc
,
*
pc_addr
));
*
pc_addr
=
pc
;
_cb
=
CodeCache
::
find_blob
(
pc
);
address
original_pc
=
nmethod
::
get_deopt_original_pc
(
this
);
if
(
original_pc
!=
NULL
)
{
...
...
@@ -671,4 +673,3 @@ intptr_t *frame::initial_deoptimization_info() {
// used to reset the saved FP
return
fp
();
}
src/cpu/x86/vm/methodHandles_x86.cpp
浏览文件 @
01b39769
...
...
@@ -410,8 +410,8 @@ void MethodHandles::RicochetFrame::verify_offsets() {
void
MethodHandles
::
RicochetFrame
::
verify
()
const
{
verify_offsets
();
assert
(
magic_number_1
()
==
MAGIC_NUMBER_1
,
""
);
assert
(
magic_number_2
()
==
MAGIC_NUMBER_2
,
""
);
assert
(
magic_number_1
()
==
MAGIC_NUMBER_1
,
err_msg
(
PTR_FORMAT
" == "
PTR_FORMAT
,
magic_number_1
(),
MAGIC_NUMBER_1
)
);
assert
(
magic_number_2
()
==
MAGIC_NUMBER_2
,
err_msg
(
PTR_FORMAT
" == "
PTR_FORMAT
,
magic_number_2
(),
MAGIC_NUMBER_2
)
);
if
(
!
Universe
::
heap
()
->
is_gc_active
())
{
if
(
saved_args_layout
()
!=
NULL
)
{
assert
(
saved_args_layout
()
->
is_method
(),
"must be valid oop"
);
...
...
src/cpu/x86/vm/methodHandles_x86.hpp
浏览文件 @
01b39769
...
...
@@ -132,7 +132,10 @@ class RicochetFrame {
intptr_t
*
sender_link
()
const
{
return
_sender_link
;
}
address
sender_pc
()
const
{
return
_sender_pc
;
}
intptr_t
*
extended_sender_sp
()
const
{
return
saved_args_base
();
}
intptr_t
*
extended_sender_sp
()
const
{
// The extended sender SP is above the current RicochetFrame.
return
(
intptr_t
*
)
(((
address
)
this
)
+
sizeof
(
RicochetFrame
));
}
intptr_t
return_value_slot_number
()
const
{
return
adapter_conversion_vminfo
(
conversion
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录