Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
b490f5fe
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看板
提交
b490f5fe
编写于
2月 27, 2014
作者:
S
stefank
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8035746: Add missing Klass::oop_is_instanceClassLoader() function
Reviewed-by: mgerdin, coleenp
上级
9fb9e887
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
35 addition
and
12 deletion
+35
-12
src/share/vm/oops/klass.cpp
src/share/vm/oops/klass.cpp
+18
-0
src/share/vm/oops/klass.hpp
src/share/vm/oops/klass.hpp
+1
-0
src/share/vm/oops/oop.hpp
src/share/vm/oops/oop.hpp
+7
-6
src/share/vm/oops/oop.inline.hpp
src/share/vm/oops/oop.inline.hpp
+7
-6
src/share/vm/prims/jni.cpp
src/share/vm/prims/jni.cpp
+2
-0
未找到文件。
src/share/vm/oops/klass.cpp
浏览文件 @
b490f5fe
...
...
@@ -699,3 +699,21 @@ bool Klass::verify_itable_index(int i) {
}
#endif
/////////////// Unit tests ///////////////
#ifndef PRODUCT
class
TestKlass
{
public:
static
void
test_oop_is_instanceClassLoader
()
{
assert
(
SystemDictionary
::
ClassLoader_klass
()
->
oop_is_instanceClassLoader
(),
"assert"
);
assert
(
!
SystemDictionary
::
String_klass
()
->
oop_is_instanceClassLoader
(),
"assert"
);
}
};
void
TestKlass_test
()
{
TestKlass
::
test_oop_is_instanceClassLoader
();
}
#endif
src/share/vm/oops/klass.hpp
浏览文件 @
b490f5fe
...
...
@@ -499,6 +499,7 @@ class Klass : public Metadata {
virtual
bool
oop_is_objArray_slow
()
const
{
return
false
;
}
virtual
bool
oop_is_typeArray_slow
()
const
{
return
false
;
}
public:
virtual
bool
oop_is_instanceClassLoader
()
const
{
return
false
;
}
virtual
bool
oop_is_instanceMirror
()
const
{
return
false
;
}
virtual
bool
oop_is_instanceRef
()
const
{
return
false
;
}
...
...
src/share/vm/oops/oop.hpp
浏览文件 @
b490f5fe
...
...
@@ -109,12 +109,13 @@ class oopDesc {
int
size_given_klass
(
Klass
*
klass
);
// type test operations (inlined in oop.inline.h)
bool
is_instance
()
const
;
bool
is_instanceMirror
()
const
;
bool
is_instanceRef
()
const
;
bool
is_array
()
const
;
bool
is_objArray
()
const
;
bool
is_typeArray
()
const
;
bool
is_instance
()
const
;
bool
is_instanceMirror
()
const
;
bool
is_instanceClassLoader
()
const
;
bool
is_instanceRef
()
const
;
bool
is_array
()
const
;
bool
is_objArray
()
const
;
bool
is_typeArray
()
const
;
private:
// field addresses in oop
...
...
src/share/vm/oops/oop.inline.hpp
浏览文件 @
b490f5fe
...
...
@@ -148,12 +148,13 @@ inline void oopDesc::init_mark() { set_mark(markOopDesc::proto
inline
bool
oopDesc
::
is_a
(
Klass
*
k
)
const
{
return
klass
()
->
is_subtype_of
(
k
);
}
inline
bool
oopDesc
::
is_instance
()
const
{
return
klass
()
->
oop_is_instance
();
}
inline
bool
oopDesc
::
is_instanceMirror
()
const
{
return
klass
()
->
oop_is_instanceMirror
();
}
inline
bool
oopDesc
::
is_instanceRef
()
const
{
return
klass
()
->
oop_is_instanceRef
();
}
inline
bool
oopDesc
::
is_array
()
const
{
return
klass
()
->
oop_is_array
();
}
inline
bool
oopDesc
::
is_objArray
()
const
{
return
klass
()
->
oop_is_objArray
();
}
inline
bool
oopDesc
::
is_typeArray
()
const
{
return
klass
()
->
oop_is_typeArray
();
}
inline
bool
oopDesc
::
is_instance
()
const
{
return
klass
()
->
oop_is_instance
();
}
inline
bool
oopDesc
::
is_instanceClassLoader
()
const
{
return
klass
()
->
oop_is_instanceClassLoader
();
}
inline
bool
oopDesc
::
is_instanceMirror
()
const
{
return
klass
()
->
oop_is_instanceMirror
();
}
inline
bool
oopDesc
::
is_instanceRef
()
const
{
return
klass
()
->
oop_is_instanceRef
();
}
inline
bool
oopDesc
::
is_array
()
const
{
return
klass
()
->
oop_is_array
();
}
inline
bool
oopDesc
::
is_objArray
()
const
{
return
klass
()
->
oop_is_objArray
();
}
inline
bool
oopDesc
::
is_typeArray
()
const
{
return
klass
()
->
oop_is_typeArray
();
}
inline
void
*
oopDesc
::
field_base
(
int
offset
)
const
{
return
(
void
*
)
&
((
char
*
)
this
)[
offset
];
}
...
...
src/share/vm/prims/jni.cpp
浏览文件 @
b490f5fe
...
...
@@ -5082,6 +5082,7 @@ void TestMetaspaceAux_test();
void
TestMetachunk_test
();
void
TestVirtualSpaceNode_test
();
void
TestNewSize_test
();
void
TestKlass_test
();
#if INCLUDE_ALL_GCS
void
TestOldFreeSpaceCalculation_test
();
void
TestG1BiasedArray_test
();
...
...
@@ -5106,6 +5107,7 @@ void execute_internal_vm_tests() {
run_unit_test
(
AltHashing
::
test_alt_hash
());
run_unit_test
(
test_loggc_filename
());
run_unit_test
(
TestNewSize_test
());
run_unit_test
(
TestKlass_test
());
#if INCLUDE_VM_STRUCTS
run_unit_test
(
VMStructs
::
test
());
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录