Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
db7de6cd
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看板
提交
db7de6cd
编写于
11月 22, 2011
作者:
J
jmasa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure
Summary: Remove obsolete code. Reviewed-by: brutisso, ysr, jcoomes
上级
61fbc13a
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
4 addition
and
117 deletion
+4
-117
src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
...c_implementation/parallelScavenge/psCompactionManager.cpp
+1
-11
src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
...c_implementation/parallelScavenge/psCompactionManager.hpp
+1
-5
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
.../gc_implementation/parallelScavenge/psParallelCompact.cpp
+0
-42
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
.../gc_implementation/parallelScavenge/psParallelCompact.hpp
+0
-43
src/share/vm/gc_implementation/shared/markSweep.hpp
src/share/vm/gc_implementation/shared/markSweep.hpp
+1
-3
src/share/vm/gc_implementation/shared/markSweep.inline.hpp
src/share/vm/gc_implementation/shared/markSweep.inline.hpp
+1
-13
未找到文件。
src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
浏览文件 @
db7de6cd
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -159,16 +159,6 @@ bool ParCompactionManager::should_copy() {
(
action
()
==
ParCompactionManager
::
UpdateAndCopy
);
}
bool
ParCompactionManager
::
should_verify_only
()
{
assert
(
action
()
!=
NotValid
,
"Action is not set"
);
return
action
()
==
ParCompactionManager
::
VerifyUpdate
;
}
bool
ParCompactionManager
::
should_reset_only
()
{
assert
(
action
()
!=
NotValid
,
"Action is not set"
);
return
action
()
==
ParCompactionManager
::
ResetObjects
;
}
void
ParCompactionManager
::
region_list_push
(
uint
list_index
,
size_t
region_index
)
{
region_list
(
list_index
)
->
push
(
region_index
);
...
...
src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
浏览文件 @
db7de6cd
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -59,8 +59,6 @@ class ParCompactionManager : public CHeapObj {
Copy
,
UpdateAndCopy
,
CopyAndUpdate
,
VerifyUpdate
,
ResetObjects
,
NotValid
};
// ------------------------ End don't putback if not needed
...
...
@@ -176,8 +174,6 @@ private:
bool
should_update
();
bool
should_copy
();
bool
should_verify_only
();
bool
should_reset_only
();
Stack
<
Klass
*>*
revisit_klass_stack
()
{
return
&
_revisit_klass_stack
;
}
Stack
<
DataLayout
*>*
revisit_mdo_stack
()
{
return
&
_revisit_mdo_stack
;
}
...
...
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
浏览文件 @
db7de6cd
...
...
@@ -3370,20 +3370,7 @@ PSParallelCompact::move_and_update(ParCompactionManager* cm, SpaceId space_id) {
HeapWord
*
beg_addr
=
sp
->
bottom
();
HeapWord
*
end_addr
=
sp
->
top
();
#ifdef ASSERT
assert
(
beg_addr
<=
dp_addr
&&
dp_addr
<=
end_addr
,
"bad dense prefix"
);
if
(
cm
->
should_verify_only
())
{
VerifyUpdateClosure
verify_update
(
cm
,
sp
);
bitmap
->
iterate
(
&
verify_update
,
beg_addr
,
end_addr
);
return
;
}
if
(
cm
->
should_reset_only
())
{
ResetObjectsClosure
reset_objects
(
cm
);
bitmap
->
iterate
(
&
reset_objects
,
beg_addr
,
end_addr
);
return
;
}
#endif
const
size_t
beg_region
=
sd
.
addr_to_region_idx
(
beg_addr
);
const
size_t
dp_region
=
sd
.
addr_to_region_idx
(
dp_addr
);
...
...
@@ -3502,35 +3489,6 @@ UpdateOnlyClosure::do_addr(HeapWord* addr, size_t words) {
return
ParMarkBitMap
::
incomplete
;
}
// Verify the new location using the forwarding pointer
// from MarkSweep::mark_sweep_phase2(). Set the mark_word
// to the initial value.
ParMarkBitMapClosure
::
IterationStatus
PSParallelCompact
::
VerifyUpdateClosure
::
do_addr
(
HeapWord
*
addr
,
size_t
words
)
{
// The second arg (words) is not used.
oop
obj
=
(
oop
)
addr
;
HeapWord
*
forwarding_ptr
=
(
HeapWord
*
)
obj
->
mark
()
->
decode_pointer
();
HeapWord
*
new_pointer
=
summary_data
().
calc_new_pointer
(
obj
);
if
(
forwarding_ptr
==
NULL
)
{
// The object is dead or not moving.
assert
(
bitmap
()
->
is_unmarked
(
obj
)
||
(
new_pointer
==
(
HeapWord
*
)
obj
),
"Object liveness is wrong."
);
return
ParMarkBitMap
::
incomplete
;
}
assert
(
HeapMaximumCompactionInterval
>
1
||
MarkSweepAlwaysCompactCount
>
1
||
forwarding_ptr
==
new_pointer
,
"new location is incorrect"
);
return
ParMarkBitMap
::
incomplete
;
}
// Reset objects modified for debug checking.
ParMarkBitMapClosure
::
IterationStatus
PSParallelCompact
::
ResetObjectsClosure
::
do_addr
(
HeapWord
*
addr
,
size_t
words
)
{
// The second arg (words) is not used.
oop
obj
=
(
oop
)
addr
;
obj
->
init_mark
();
return
ParMarkBitMap
::
incomplete
;
}
// Prepare for compaction. This method is executed once
// (i.e., by a single thread) before compaction.
// Save the updated location of the intArrayKlassObj for
...
...
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
浏览文件 @
db7de6cd
...
...
@@ -832,31 +832,6 @@ class PSParallelCompact : AllStatic {
virtual
void
do_code_blob
(
CodeBlob
*
cb
)
const
{
}
};
// Closure for verifying update of pointers. Does not
// have any side effects.
class
VerifyUpdateClosure
:
public
ParMarkBitMapClosure
{
const
MutableSpace
*
_space
;
// Is this ever used?
public:
VerifyUpdateClosure
(
ParCompactionManager
*
cm
,
const
MutableSpace
*
sp
)
:
ParMarkBitMapClosure
(
PSParallelCompact
::
mark_bitmap
(),
cm
),
_space
(
sp
)
{
}
virtual
IterationStatus
do_addr
(
HeapWord
*
addr
,
size_t
words
);
const
MutableSpace
*
space
()
{
return
_space
;
}
};
// Closure for updating objects altered for debug checking
class
ResetObjectsClosure
:
public
ParMarkBitMapClosure
{
public:
ResetObjectsClosure
(
ParCompactionManager
*
cm
)
:
ParMarkBitMapClosure
(
PSParallelCompact
::
mark_bitmap
(),
cm
)
{
}
virtual
IterationStatus
do_addr
(
HeapWord
*
addr
,
size_t
words
);
};
friend
class
KeepAliveClosure
;
friend
class
FollowStackClosure
;
friend
class
AdjustPointerClosure
;
...
...
@@ -1183,10 +1158,6 @@ class PSParallelCompact : AllStatic {
// Update the deferred objects in the space.
static
void
update_deferred_objects
(
ParCompactionManager
*
cm
,
SpaceId
id
);
// Mark pointer and follow contents.
template
<
class
T
>
static
inline
void
mark_and_follow
(
ParCompactionManager
*
cm
,
T
*
p
);
static
ParMarkBitMap
*
mark_bitmap
()
{
return
&
_mark_bitmap
;
}
static
ParallelCompactData
&
summary_data
()
{
return
_summary_data
;
}
...
...
@@ -1282,20 +1253,6 @@ inline void PSParallelCompact::follow_root(ParCompactionManager* cm, T* p) {
cm
->
follow_marking_stacks
();
}
template
<
class
T
>
inline
void
PSParallelCompact
::
mark_and_follow
(
ParCompactionManager
*
cm
,
T
*
p
)
{
T
heap_oop
=
oopDesc
::
load_heap_oop
(
p
);
if
(
!
oopDesc
::
is_null
(
heap_oop
))
{
oop
obj
=
oopDesc
::
decode_heap_oop_not_null
(
heap_oop
);
if
(
mark_bitmap
()
->
is_unmarked
(
obj
))
{
if
(
mark_obj
(
obj
))
{
obj
->
follow_contents
(
cm
);
}
}
}
}
template
<
class
T
>
inline
void
PSParallelCompact
::
mark_and_push
(
ParCompactionManager
*
cm
,
T
*
p
)
{
T
heap_oop
=
oopDesc
::
load_heap_oop
(
p
);
...
...
src/share/vm/gc_implementation/shared/markSweep.hpp
浏览文件 @
db7de6cd
/*
* Copyright (c) 1997, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -196,8 +196,6 @@ class MarkSweep : AllStatic {
static
void
mark_object
(
oop
obj
);
// Mark pointer and follow contents. Empty marking stack afterwards.
template
<
class
T
>
static
inline
void
follow_root
(
T
*
p
);
// Mark pointer and follow contents.
template
<
class
T
>
static
inline
void
mark_and_follow
(
T
*
p
);
// Check mark and maybe push on marking stack
template
<
class
T
>
static
inline
void
mark_and_push
(
T
*
p
);
static
inline
void
push_objarray
(
oop
obj
,
size_t
index
);
...
...
src/share/vm/gc_implementation/shared/markSweep.inline.hpp
浏览文件 @
db7de6cd
/*
* Copyright (c) 2000, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -63,18 +63,6 @@ template <class T> inline void MarkSweep::follow_root(T* p) {
follow_stack
();
}
template
<
class
T
>
inline
void
MarkSweep
::
mark_and_follow
(
T
*
p
)
{
// assert(Universe::heap()->is_in_reserved(p), "should be in object space");
T
heap_oop
=
oopDesc
::
load_heap_oop
(
p
);
if
(
!
oopDesc
::
is_null
(
heap_oop
))
{
oop
obj
=
oopDesc
::
decode_heap_oop_not_null
(
heap_oop
);
if
(
!
obj
->
mark
()
->
is_marked
())
{
mark_object
(
obj
);
obj
->
follow_contents
();
}
}
}
template
<
class
T
>
inline
void
MarkSweep
::
mark_and_push
(
T
*
p
)
{
// assert(Universe::heap()->is_in_reserved(p), "should be in object space");
T
heap_oop
=
oopDesc
::
load_heap_oop
(
p
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录