Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
876798b4
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看板
提交
876798b4
编写于
6月 13, 2011
作者:
B
brutisso
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6918185: Remove unused code for lost card-marking optimization in BacktraceBuilder
Summary: Removed dead code Reviewed-by: ysr, coleenp, dholmes
上级
a4a62971
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
28 deletion
+1
-28
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+1
-28
未找到文件。
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
876798b4
...
@@ -1258,7 +1258,6 @@ class BacktraceBuilder: public StackObj {
...
@@ -1258,7 +1258,6 @@ class BacktraceBuilder: public StackObj {
objArrayOop
_methods
;
objArrayOop
_methods
;
typeArrayOop
_bcis
;
typeArrayOop
_bcis
;
int
_index
;
int
_index
;
bool
_dirty
;
No_Safepoint_Verifier
_nsv
;
No_Safepoint_Verifier
_nsv
;
public:
public:
...
@@ -1272,37 +1271,13 @@ class BacktraceBuilder: public StackObj {
...
@@ -1272,37 +1271,13 @@ class BacktraceBuilder: public StackObj {
};
};
// constructor for new backtrace
// constructor for new backtrace
BacktraceBuilder
(
TRAPS
)
:
_methods
(
NULL
),
_bcis
(
NULL
),
_head
(
NULL
)
,
_dirty
(
false
)
{
BacktraceBuilder
(
TRAPS
)
:
_methods
(
NULL
),
_bcis
(
NULL
),
_head
(
NULL
)
{
expand
(
CHECK
);
expand
(
CHECK
);
_backtrace
=
_head
;
_backtrace
=
_head
;
_index
=
0
;
_index
=
0
;
}
}
void
flush
()
{
// The following appears to have been an optimization to save from
// doing a barrier for each individual store into the _methods array,
// but rather to do it for the entire array after the series of writes.
// That optimization seems to have been lost when compressed oops was
// implemented. However, the extra card-marks below was left in place,
// but is now redundant because the individual stores into the
// _methods array already execute the barrier code. CR 6918185 has
// been filed so the original code may be restored by deferring the
// barriers until after the entire sequence of stores, thus re-enabling
// the intent of the original optimization. In the meantime the redundant
// card mark below is now disabled.
if
(
_dirty
&&
_methods
!=
NULL
)
{
#if 0
BarrierSet* bs = Universe::heap()->barrier_set();
assert(bs->has_write_ref_array_opt(), "Barrier set must have ref array opt");
bs->write_ref_array((HeapWord*)_methods->base(), _methods->length());
#endif
_dirty
=
false
;
}
}
void
expand
(
TRAPS
)
{
void
expand
(
TRAPS
)
{
flush
();
objArrayHandle
old_head
(
THREAD
,
_head
);
objArrayHandle
old_head
(
THREAD
,
_head
);
Pause_No_Safepoint_Verifier
pnsv
(
&
_nsv
);
Pause_No_Safepoint_Verifier
pnsv
(
&
_nsv
);
...
@@ -1328,7 +1303,6 @@ class BacktraceBuilder: public StackObj {
...
@@ -1328,7 +1303,6 @@ class BacktraceBuilder: public StackObj {
}
}
oop
backtrace
()
{
oop
backtrace
()
{
flush
();
return
_backtrace
();
return
_backtrace
();
}
}
...
@@ -1342,7 +1316,6 @@ class BacktraceBuilder: public StackObj {
...
@@ -1342,7 +1316,6 @@ class BacktraceBuilder: public StackObj {
_methods
->
obj_at_put
(
_index
,
method
);
_methods
->
obj_at_put
(
_index
,
method
);
_bcis
->
ushort_at_put
(
_index
,
bci
);
_bcis
->
ushort_at_put
(
_index
,
bci
);
_index
++
;
_index
++
;
_dirty
=
true
;
}
}
methodOop
current_method
()
{
methodOop
current_method
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录