Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
a70cdea7
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看板
提交
a70cdea7
编写于
6月 24, 2010
作者:
J
jcoomes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6888573: class data sharing does not always disable large pages
Reviewed-by: phh
上级
0d8013e5
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
18 addition
and
10 deletion
+18
-10
src/share/vm/memory/genCollectedHeap.cpp
src/share/vm/memory/genCollectedHeap.cpp
+7
-2
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+11
-8
未找到文件。
src/share/vm/memory/genCollectedHeap.cpp
浏览文件 @
a70cdea7
...
...
@@ -179,9 +179,14 @@ char* GenCollectedHeap::allocate(size_t alignment,
}
n_covered_regions
+=
_gen_specs
[
i
]
->
n_covered_regions
();
}
assert
(
total_reserved
%
pageSize
==
0
,
"Gen size"
);
assert
(
total_reserved
%
pageSize
==
0
,
err_msg
(
"Gen size; total_reserved="
SIZE_FORMAT
", pageSize="
SIZE_FORMAT
,
total_reserved
,
pageSize
));
total_reserved
+=
perm_gen_spec
->
max_size
();
assert
(
total_reserved
%
pageSize
==
0
,
"Perm Gen size"
);
assert
(
total_reserved
%
pageSize
==
0
,
err_msg
(
"Perm size; total_reserved="
SIZE_FORMAT
", pageSize="
SIZE_FORMAT
", perm gen max="
SIZE_FORMAT
,
total_reserved
,
pageSize
,
perm_gen_spec
->
max_size
()));
if
(
total_reserved
<
perm_gen_spec
->
max_size
())
{
vm_exit_during_initialization
(
overflow_msg
);
...
...
src/share/vm/runtime/arguments.cpp
浏览文件 @
a70cdea7
...
...
@@ -1697,20 +1697,21 @@ bool Arguments::check_vm_args_consistency() {
status
=
status
&&
verify_percentage
(
GCHeapFreeLimit
,
"GCHeapFreeLimit"
);
// Check user specified sharing option conflict with Parallel GC
bool
cannot_share
=
((
UseConcMarkSweepGC
||
CMSIncrementalMode
)
||
UseG1GC
||
UseParNewGC
||
UseParallelGC
||
UseParallelOldGC
||
SOLARIS_ONLY
(
UseISM
)
NOT_SOLARIS
(
UseLargePages
));
// Check whether user-specified sharing option conflicts with GC or page size.
// Both sharing and large pages are enabled by default on some platforms;
// large pages override sharing only if explicitly set on the command line.
const
bool
cannot_share
=
UseConcMarkSweepGC
||
CMSIncrementalMode
||
UseG1GC
||
UseParNewGC
||
UseParallelGC
||
UseParallelOldGC
||
UseLargePages
&&
FLAG_IS_CMDLINE
(
UseLargePages
);
if
(
cannot_share
)
{
// Either force sharing on by forcing the other options off, or
// force sharing off.
if
(
DumpSharedSpaces
||
ForceSharedSpaces
)
{
jio_fprintf
(
defaultStream
::
error_stream
(),
"
Reverting to Serial GC
because of %s
\n
"
,
ForceSharedSpaces
?
"
-Xshare:on"
:
"-Xshare:dump"
);
"
Using Serial GC and default page size
because of %s
\n
"
,
ForceSharedSpaces
?
"-Xshare:on"
:
"-Xshare:dump"
);
force_serial_gc
();
FLAG_SET_DEFAULT
(
SOLARIS_ONLY
(
UseISM
)
NOT_SOLARIS
(
UseLargePages
)
,
false
);
FLAG_SET_DEFAULT
(
UseLargePages
,
false
);
}
else
{
if
(
UseSharedSpaces
&&
Verbose
)
{
jio_fprintf
(
defaultStream
::
error_stream
(),
...
...
@@ -1719,6 +1720,8 @@ bool Arguments::check_vm_args_consistency() {
}
no_shared_spaces
();
}
}
else
if
(
UseLargePages
&&
(
UseSharedSpaces
||
DumpSharedSpaces
))
{
FLAG_SET_DEFAULT
(
UseLargePages
,
false
);
}
status
=
status
&&
check_gc_consistency
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录