Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
74a092db
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看板
提交
74a092db
编写于
7月 11, 2008
作者:
J
jcoomes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6724367: par compact could clear less young gen summary data
Reviewed-by: jmasa, apetrusenko
上级
3be8d039
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
8 addition
and
6 deletion
+8
-6
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
.../gc_implementation/parallelScavenge/psParallelCompact.cpp
+8
-6
未找到文件。
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
浏览文件 @
74a092db
...
...
@@ -1639,7 +1639,7 @@ void PSParallelCompact::summary_phase(ParCompactionManager* cm,
const
size_t
live
=
pointer_delta
(
_space_info
[
id
].
new_top
(),
space
->
bottom
());
const
size_t
available
=
pointer_delta
(
target_space_end
,
*
new_top_addr
);
if
(
live
<=
available
)
{
if
(
live
>
0
&&
live
<=
available
)
{
// All the live data will fit.
if
(
TraceParallelOldGCSummaryPhase
)
{
tty
->
print_cr
(
"summarizing %d into old_space @ "
PTR_FORMAT
,
...
...
@@ -1649,16 +1649,18 @@ void PSParallelCompact::summary_phase(ParCompactionManager* cm,
space
->
bottom
(),
space
->
top
(),
new_top_addr
);
// Reset the new_top value for the space.
_space_info
[
id
].
set_new_top
(
space
->
bottom
());
// Clear the source_chunk field for each chunk in the space.
HeapWord
*
const
new_top
=
_space_info
[
id
].
new_top
();
HeapWord
*
const
clear_end
=
_summary_data
.
chunk_align_up
(
new_top
);
ChunkData
*
beg_chunk
=
_summary_data
.
addr_to_chunk_ptr
(
space
->
bottom
());
ChunkData
*
end_chunk
=
_summary_data
.
addr_to_chunk_ptr
(
space
->
top
()
-
1
);
while
(
beg_chunk
<
=
end_chunk
)
{
ChunkData
*
end_chunk
=
_summary_data
.
addr_to_chunk_ptr
(
clear_end
);
while
(
beg_chunk
<
end_chunk
)
{
beg_chunk
->
set_source_chunk
(
0
);
++
beg_chunk
;
}
// Reset the new_top value for the space.
_space_info
[
id
].
set_new_top
(
space
->
bottom
());
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录