Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
f9197154
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看板
You need to sign in or sign up before continuing.
提交
f9197154
编写于
7月 10, 2014
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
dbdf331a
5fb9ad19
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
17 addition
and
2 deletion
+17
-2
.hgtags
.hgtags
+2
-0
src/share/vm/classfile/classFileParser.cpp
src/share/vm/classfile/classFileParser.cpp
+5
-0
src/share/vm/classfile/classLoaderData.cpp
src/share/vm/classfile/classLoaderData.cpp
+9
-1
src/share/vm/classfile/classLoaderData.hpp
src/share/vm/classfile/classLoaderData.hpp
+1
-0
src/share/vm/classfile/systemDictionary.cpp
src/share/vm/classfile/systemDictionary.cpp
+0
-1
未找到文件。
.hgtags
浏览文件 @
f9197154
...
...
@@ -493,6 +493,8 @@ b15553cde967dfd7781a4a5c669e4cb7db734317 jdk8u20-b19
4f18dea0312d601d0515976bc0c643ea7acc829d hs25.20-b20
9e4d27da4ac04c6e19291087f7c68a5c5803c7ca jdk8u20-b20
4828415ebbf11e205dcc08e97ad5ae7dd03522f9 jdk8u20-b21
e4a6e7f1b90b85270aee1c54edaca3ef737082f1 hs25.20-b21
f7429096a202cab5c36a0f20dea33c554026010f jdk8u20-b22
a4d44dfb7d30eea54bc172e4429a655454ae0bbf jdk8u25-b00
9a2152fbd929b0d8b2f5c326a5526214ae71731a jdk8u25-b01
d3d5604ea0dea3812e87ba76ac199d0a8be6f49f jdk8u25-b02
...
...
src/share/vm/classfile/classFileParser.cpp
浏览文件 @
f9197154
...
...
@@ -4037,6 +4037,11 @@ instanceKlassHandle ClassFileParser::parseClassFile(Symbol* name,
this_klass
->
set_major_version
(
major_version
);
this_klass
->
set_has_default_methods
(
has_default_methods
);
if
(
!
host_klass
.
is_null
())
{
assert
(
this_klass
->
is_anonymous
(),
"should be the same"
);
this_klass
->
set_host_klass
(
host_klass
());
}
// Set up Method*::intrinsic_id as soon as we know the names of methods.
// (We used to do this lazily, but now we query it in Rewriter,
// which is eagerly done for every method, so we might as well do it now,
...
...
src/share/vm/classfile/classLoaderData.cpp
浏览文件 @
f9197154
...
...
@@ -531,6 +531,7 @@ bool ClassLoaderData::contains_klass(Klass* klass) {
// GC root of class loader data created.
ClassLoaderData
*
ClassLoaderDataGraph
::
_head
=
NULL
;
ClassLoaderData
*
ClassLoaderDataGraph
::
_unloading
=
NULL
;
ClassLoaderData
*
ClassLoaderDataGraph
::
_saved_unloading
=
NULL
;
ClassLoaderData
*
ClassLoaderDataGraph
::
_saved_head
=
NULL
;
bool
ClassLoaderDataGraph
::
_should_purge
=
false
;
...
...
@@ -628,7 +629,9 @@ void ClassLoaderDataGraph::loaded_classes_do(KlassClosure* klass_closure) {
void
ClassLoaderDataGraph
::
classes_unloading_do
(
void
f
(
Klass
*
const
))
{
assert
(
SafepointSynchronize
::
is_at_safepoint
(),
"must be at safepoint!"
);
for
(
ClassLoaderData
*
cld
=
_unloading
;
cld
!=
NULL
;
cld
=
cld
->
next
())
{
// Only walk the head until any clds not purged from prior unloading
// (CMS doesn't purge right away).
for
(
ClassLoaderData
*
cld
=
_unloading
;
cld
!=
_saved_unloading
;
cld
=
cld
->
next
())
{
cld
->
classes_do
(
f
);
}
}
...
...
@@ -676,6 +679,11 @@ bool ClassLoaderDataGraph::do_unloading(BoolObjectClosure* is_alive_closure) {
ClassLoaderData
*
data
=
_head
;
ClassLoaderData
*
prev
=
NULL
;
bool
seen_dead_loader
=
false
;
// Save previous _unloading pointer for CMS which may add to unloading list before
// purging and we don't want to rewalk the previously unloaded class loader data.
_saved_unloading
=
_unloading
;
// mark metadata seen on the stack and code cache so we can delete
// unneeded entries.
bool
has_redefined_a_class
=
JvmtiExport
::
has_redefined_a_class
();
...
...
src/share/vm/classfile/classLoaderData.hpp
浏览文件 @
f9197154
...
...
@@ -66,6 +66,7 @@ class ClassLoaderDataGraph : public AllStatic {
static
ClassLoaderData
*
_unloading
;
// CMS support.
static
ClassLoaderData
*
_saved_head
;
static
ClassLoaderData
*
_saved_unloading
;
static
bool
_should_purge
;
static
ClassLoaderData
*
add
(
Handle
class_loader
,
bool
anonymous
,
TRAPS
);
...
...
src/share/vm/classfile/systemDictionary.cpp
浏览文件 @
f9197154
...
...
@@ -997,7 +997,6 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name,
if
(
host_klass
.
not_null
()
&&
k
.
not_null
())
{
assert
(
EnableInvokeDynamic
,
""
);
k
->
set_host_klass
(
host_klass
());
// If it's anonymous, initialize it now, since nobody else will.
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录