Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
856a2b91
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
856a2b91
编写于
3月 11, 2014
作者:
T
twisti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8037043: put Method flag bits in predictable positions
Reviewed-by: kvn, coleenp
上级
3247f053
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
51 addition
and
16 deletion
+51
-16
hotspot/src/share/vm/oops/method.hpp
hotspot/src/share/vm/oops/method.hpp
+45
-16
hotspot/src/share/vm/runtime/vmStructs.cpp
hotspot/src/share/vm/runtime/vmStructs.cpp
+6
-0
未找到文件。
hotspot/src/share/vm/oops/method.hpp
浏览文件 @
856a2b91
...
@@ -108,12 +108,16 @@ class Method : public Metadata {
...
@@ -108,12 +108,16 @@ class Method : public Metadata {
#endif
#endif
u2
_method_size
;
// size of this object
u2
_method_size
;
// size of this object
u1
_intrinsic_id
;
// vmSymbols::intrinsic_id (0 == _none)
u1
_intrinsic_id
;
// vmSymbols::intrinsic_id (0 == _none)
u1
_jfr_towrite
:
1
,
// Flags
_caller_sensitive
:
1
,
// Flags
_force_inline
:
1
,
enum
Flags
{
_hidden
:
1
,
_jfr_towrite
=
1
<<
0
,
_dont_inline
:
1
,
_caller_sensitive
=
1
<<
1
,
:
3
;
_force_inline
=
1
<<
2
,
_dont_inline
=
1
<<
3
,
_hidden
=
1
<<
4
};
u1
_flags
;
#ifndef PRODUCT
#ifndef PRODUCT
int
_compiled_invocation_count
;
// Number of nmethod invocations so far (for perf. debugging)
int
_compiled_invocation_count
;
// Number of nmethod invocations so far (for perf. debugging)
...
@@ -759,16 +763,41 @@ class Method : public Metadata {
...
@@ -759,16 +763,41 @@ class Method : public Metadata {
void
init_intrinsic_id
();
// updates from _none if a match
void
init_intrinsic_id
();
// updates from _none if a match
static
vmSymbols
::
SID
klass_id_for_intrinsics
(
Klass
*
holder
);
static
vmSymbols
::
SID
klass_id_for_intrinsics
(
Klass
*
holder
);
bool
jfr_towrite
()
{
return
_jfr_towrite
;
}
bool
jfr_towrite
()
{
void
set_jfr_towrite
(
bool
x
)
{
_jfr_towrite
=
x
;
}
return
(
_flags
&
_jfr_towrite
)
!=
0
;
bool
caller_sensitive
()
{
return
_caller_sensitive
;
}
}
void
set_caller_sensitive
(
bool
x
)
{
_caller_sensitive
=
x
;
}
void
set_jfr_towrite
(
bool
x
)
{
bool
force_inline
()
{
return
_force_inline
;
}
_flags
=
x
?
(
_flags
|
_jfr_towrite
)
:
(
_flags
&
~
_jfr_towrite
);
void
set_force_inline
(
bool
x
)
{
_force_inline
=
x
;
}
}
bool
dont_inline
()
{
return
_dont_inline
;
}
void
set_dont_inline
(
bool
x
)
{
_dont_inline
=
x
;
}
bool
caller_sensitive
()
{
bool
is_hidden
()
{
return
_hidden
;
}
return
(
_flags
&
_caller_sensitive
)
!=
0
;
void
set_hidden
(
bool
x
)
{
_hidden
=
x
;
}
}
void
set_caller_sensitive
(
bool
x
)
{
_flags
=
x
?
(
_flags
|
_caller_sensitive
)
:
(
_flags
&
~
_caller_sensitive
);
}
bool
force_inline
()
{
return
(
_flags
&
_force_inline
)
!=
0
;
}
void
set_force_inline
(
bool
x
)
{
_flags
=
x
?
(
_flags
|
_force_inline
)
:
(
_flags
&
~
_force_inline
);
}
bool
dont_inline
()
{
return
(
_flags
&
_dont_inline
)
!=
0
;
}
void
set_dont_inline
(
bool
x
)
{
_flags
=
x
?
(
_flags
|
_dont_inline
)
:
(
_flags
&
~
_dont_inline
);
}
bool
is_hidden
()
{
return
(
_flags
&
_hidden
)
!=
0
;
}
void
set_hidden
(
bool
x
)
{
_flags
=
x
?
(
_flags
|
_hidden
)
:
(
_flags
&
~
_hidden
);
}
ConstMethod
::
MethodType
method_type
()
const
{
ConstMethod
::
MethodType
method_type
()
const
{
return
_constMethod
->
method_type
();
return
_constMethod
->
method_type
();
}
}
...
...
hotspot/src/share/vm/runtime/vmStructs.cpp
浏览文件 @
856a2b91
...
@@ -2336,6 +2336,12 @@ typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
...
@@ -2336,6 +2336,12 @@ typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
/* ConstMethod anon-enum */
\
/* ConstMethod anon-enum */
\
/********************************/
\
/********************************/
\
\
\
declare_constant(Method::_jfr_towrite) \
declare_constant(Method::_caller_sensitive) \
declare_constant(Method::_force_inline) \
declare_constant(Method::_dont_inline) \
declare_constant(Method::_hidden) \
\
declare_constant(ConstMethod::_has_linenumber_table) \
declare_constant(ConstMethod::_has_linenumber_table) \
declare_constant(ConstMethod::_has_checked_exceptions) \
declare_constant(ConstMethod::_has_checked_exceptions) \
declare_constant(ConstMethod::_has_localvariable_table) \
declare_constant(ConstMethod::_has_localvariable_table) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录