Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
da2f5384
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看板
提交
da2f5384
编写于
9月 05, 2014
作者:
J
jcoomes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8057623: add an extension class for argument handling
Reviewed-by: brutisso, mgerdin, tschatzl
上级
2acef63c
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
41 addition
and
12 deletion
+41
-12
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+6
-7
src/share/vm/runtime/arguments.hpp
src/share/vm/runtime/arguments.hpp
+7
-2
src/share/vm/runtime/arguments_ext.hpp
src/share/vm/runtime/arguments_ext.hpp
+28
-3
未找到文件。
src/share/vm/runtime/arguments.cpp
浏览文件 @
da2f5384
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#include "oops/oop.inline.hpp"
#include "oops/oop.inline.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiExport.hpp"
#include "runtime/arguments.hpp"
#include "runtime/arguments.hpp"
#include "runtime/arguments_ext.hpp"
#include "runtime/globals_extension.hpp"
#include "runtime/globals_extension.hpp"
#include "runtime/java.hpp"
#include "runtime/java.hpp"
#include "services/management.hpp"
#include "services/management.hpp"
...
@@ -1544,7 +1545,7 @@ void Arguments::select_gc_ergonomically() {
...
@@ -1544,7 +1545,7 @@ void Arguments::select_gc_ergonomically() {
void
Arguments
::
select_gc
()
{
void
Arguments
::
select_gc
()
{
if
(
!
gc_selected
())
{
if
(
!
gc_selected
())
{
select_gc_ergonomically
();
ArgumentsExt
::
select_gc_ergonomically
();
}
}
}
}
...
@@ -2033,7 +2034,7 @@ bool Arguments::verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_hea
...
@@ -2033,7 +2034,7 @@ bool Arguments::verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_hea
}
}
// Check consistency of GC selection
// Check consistency of GC selection
bool
Arguments
::
check_gc_consistency
()
{
bool
Arguments
::
check_gc_consistency
_user
()
{
check_gclog_consistency
();
check_gclog_consistency
();
bool
status
=
true
;
bool
status
=
true
;
// Ensure that the user has not selected conflicting sets
// Ensure that the user has not selected conflicting sets
...
@@ -2199,7 +2200,7 @@ bool Arguments::check_vm_args_consistency() {
...
@@ -2199,7 +2200,7 @@ bool Arguments::check_vm_args_consistency() {
FLAG_SET_DEFAULT
(
UseGCOverheadLimit
,
false
);
FLAG_SET_DEFAULT
(
UseGCOverheadLimit
,
false
);
}
}
status
=
status
&&
check_gc_consistency
();
status
=
status
&&
ArgumentsExt
::
check_gc_consistency_user
();
status
=
status
&&
check_stack_pages
();
status
=
status
&&
check_stack_pages
();
if
(
CMSIncrementalMode
)
{
if
(
CMSIncrementalMode
)
{
...
@@ -2447,8 +2448,6 @@ bool Arguments::check_vm_args_consistency() {
...
@@ -2447,8 +2448,6 @@ bool Arguments::check_vm_args_consistency() {
warning
(
"The VM option CICompilerCountPerCPU overrides CICompilerCount."
);
warning
(
"The VM option CICompilerCountPerCPU overrides CICompilerCount."
);
}
}
status
&=
check_vm_args_consistency_ext
();
return
status
;
return
status
;
}
}
...
@@ -3419,7 +3418,7 @@ jint Arguments::finalize_vm_init_args(SysClassPath* scp_p, bool scp_assembly_req
...
@@ -3419,7 +3418,7 @@ jint Arguments::finalize_vm_init_args(SysClassPath* scp_p, bool scp_assembly_req
}
}
}
}
if
(
!
check_vm_args_consistency
())
{
if
(
!
ArgumentsExt
::
check_vm_args_consistency
())
{
return
JNI_ERR
;
return
JNI_ERR
;
}
}
...
@@ -3793,7 +3792,7 @@ jint Arguments::apply_ergo() {
...
@@ -3793,7 +3792,7 @@ jint Arguments::apply_ergo() {
set_shared_spaces_flags
();
set_shared_spaces_flags
();
// Check the GC selections again.
// Check the GC selections again.
if
(
!
check_gc_consistency
())
{
if
(
!
ArgumentsExt
::
check_gc_consistency_ergo
())
{
return
JNI_EINVAL
;
return
JNI_EINVAL
;
}
}
...
...
src/share/vm/runtime/arguments.hpp
浏览文件 @
da2f5384
...
@@ -465,12 +465,12 @@ class Arguments : AllStatic {
...
@@ -465,12 +465,12 @@ class Arguments : AllStatic {
static
bool
verify_MaxHeapFreeRatio
(
FormatBuffer
<
80
>&
err_msg
,
uintx
max_heap_free_ratio
);
static
bool
verify_MaxHeapFreeRatio
(
FormatBuffer
<
80
>&
err_msg
,
uintx
max_heap_free_ratio
);
// Check for consistency in the selection of the garbage collector.
// Check for consistency in the selection of the garbage collector.
static
bool
check_gc_consistency
();
static
bool
check_gc_consistency_user
();
// Check user-selected gc
static
inline
bool
check_gc_consistency_ergo
();
// Check ergonomic-selected gc
static
void
check_deprecated_gcs
();
static
void
check_deprecated_gcs
();
static
void
check_deprecated_gc_flags
();
static
void
check_deprecated_gc_flags
();
// Check consistecy or otherwise of VM argument settings
// Check consistecy or otherwise of VM argument settings
static
bool
check_vm_args_consistency
();
static
bool
check_vm_args_consistency
();
static
bool
check_vm_args_consistency_ext
();
// Check stack pages settings
// Check stack pages settings
static
bool
check_stack_pages
();
static
bool
check_stack_pages
();
// Used by os_solaris
// Used by os_solaris
...
@@ -611,4 +611,9 @@ bool Arguments::gc_selected() {
...
@@ -611,4 +611,9 @@ bool Arguments::gc_selected() {
return
UseConcMarkSweepGC
||
UseG1GC
||
UseParallelGC
||
UseParallelOldGC
||
return
UseConcMarkSweepGC
||
UseG1GC
||
UseParallelGC
||
UseParallelOldGC
||
UseParNewGC
||
UseSerialGC
;
UseParNewGC
||
UseSerialGC
;
}
}
bool
Arguments
::
check_gc_consistency_ergo
()
{
return
check_gc_consistency_user
();
}
#endif // SHARE_VM_RUNTIME_ARGUMENTS_HPP
#endif // SHARE_VM_RUNTIME_ARGUMENTS_HPP
src/share/vm/runtime/arguments_ext.
c
pp
→
src/share/vm/runtime/arguments_ext.
h
pp
浏览文件 @
da2f5384
...
@@ -22,9 +22,34 @@
...
@@ -22,9 +22,34 @@
*
*
*/
*/
#include "precompiled.hpp"
#ifndef SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP
#define SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP
#include "memory/allocation.hpp"
#include "runtime/arguments.hpp"
#include "runtime/arguments.hpp"
bool
Arguments
::
check_vm_args_consistency_ext
()
{
class
ArgumentsExt
:
AllStatic
{
return
true
;
public:
static
inline
void
select_gc_ergonomically
();
static
inline
bool
check_gc_consistency_user
();
static
inline
bool
check_gc_consistency_ergo
();
static
inline
bool
check_vm_args_consistency
();
};
void
ArgumentsExt
::
select_gc_ergonomically
()
{
Arguments
::
select_gc_ergonomically
();
}
}
bool
ArgumentsExt
::
check_gc_consistency_user
()
{
return
Arguments
::
check_gc_consistency_user
();
}
bool
ArgumentsExt
::
check_gc_consistency_ergo
()
{
return
Arguments
::
check_gc_consistency_ergo
();
}
bool
ArgumentsExt
::
check_vm_args_consistency
()
{
return
Arguments
::
check_vm_args_consistency
();
}
#endif // SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录