Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
a2fd3d1c
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看板
提交
a2fd3d1c
编写于
4月 19, 2010
作者:
K
kevinw
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
6f6d15c2
7ac4dd71
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
4 deletion
+18
-4
src/share/vm/gc_implementation/shared/vmGCOperations.cpp
src/share/vm/gc_implementation/shared/vmGCOperations.cpp
+18
-4
未找到文件。
src/share/vm/gc_implementation/shared/vmGCOperations.cpp
浏览文件 @
a2fd3d1c
...
@@ -115,11 +115,25 @@ bool VM_GC_HeapInspection::skip_operation() const {
...
@@ -115,11 +115,25 @@ bool VM_GC_HeapInspection::skip_operation() const {
void
VM_GC_HeapInspection
::
doit
()
{
void
VM_GC_HeapInspection
::
doit
()
{
HandleMark
hm
;
HandleMark
hm
;
CollectedHeap
*
ch
=
Universe
::
heap
();
CollectedHeap
*
ch
=
Universe
::
heap
();
ch
->
ensure_parsability
(
false
);
// must happen, even if collection does
// not happen (e.g. due to GC_locker)
if
(
_full_gc
)
{
if
(
_full_gc
)
{
ch
->
collect_as_vm_thread
(
GCCause
::
_heap_inspection
);
// The collection attempt below would be skipped anyway if
}
else
{
// the gc locker is held. The following dump may then be a tad
// make the heap parsable (no need to retire TLABs)
// misleading to someone expecting only live objects to show
ch
->
ensure_parsability
(
false
);
// up in the dump (see CR 6944195). Just issue a suitable warning
// in that case and do not attempt to do a collection.
// The latter is a subtle point, because even a failed attempt
// to GC will, in fact, induce one in the future, which we
// probably want to avoid in this case because the GC that we may
// be about to attempt holds value for us only
// if it happens now and not if it happens in the eventual
// future.
if
(
GC_locker
::
is_active
())
{
warning
(
"GC locker is held; pre-dump GC was skipped"
);
}
else
{
ch
->
collect_as_vm_thread
(
GCCause
::
_heap_inspection
);
}
}
}
HeapInspection
::
heap_inspection
(
_out
,
_need_prologue
/* need_prologue */
);
HeapInspection
::
heap_inspection
(
_out
,
_need_prologue
/* need_prologue */
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录