Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
a2d4214c
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看板
提交
a2d4214c
编写于
5月 14, 2014
作者:
P
pliden
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8040804: G1: Concurrent mark stuck in loop calling os::elapsedVTime()
Reviewed-by: brutisso, tschatzl
上级
da32f40e
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
7 addition
and
3 deletion
+7
-3
src/share/vm/gc_implementation/g1/concurrentMark.cpp
src/share/vm/gc_implementation/g1/concurrentMark.cpp
+1
-1
src/share/vm/gc_implementation/g1/concurrentMark.hpp
src/share/vm/gc_implementation/g1/concurrentMark.hpp
+6
-2
未找到文件。
src/share/vm/gc_implementation/g1/concurrentMark.cpp
浏览文件 @
a2d4214c
...
...
@@ -819,7 +819,7 @@ void ConcurrentMark::set_concurrency_and_phase(uint active_tasks, bool concurren
// false before we start remark. At this point we should also be
// in a STW phase.
assert
(
!
concurrent_marking_in_progress
(),
"invariant"
);
assert
(
_finger
==
_heap_end
,
assert
(
out_of_regions
()
,
err_msg
(
"only way to get here: _finger: "
PTR_FORMAT
", _heap_end: "
PTR_FORMAT
,
p2i
(
_finger
),
p2i
(
_heap_end
)));
update_g1_committed
(
true
);
...
...
src/share/vm/gc_implementation/g1/concurrentMark.hpp
浏览文件 @
a2d4214c
...
...
@@ -542,8 +542,12 @@ protected:
// frequently.
HeapRegion
*
claim_region
(
uint
worker_id
);
// It determines whether we've run out of regions to scan.
bool
out_of_regions
()
{
return
_finger
==
_heap_end
;
}
// It determines whether we've run out of regions to scan. Note that
// the finger can point past the heap end in case the heap was expanded
// to satisfy an allocation without doing a GC. This is fine, because all
// objects in those regions will be considered live anyway because of
// SATB guarantees (i.e. their TAMS will be equal to bottom).
bool
out_of_regions
()
{
return
_finger
>=
_heap_end
;
}
// Returns the task with the given id
CMTask
*
task
(
int
id
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录