Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
3be0faa8
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看板
提交
3be0faa8
编写于
10月 28, 2011
作者:
T
tonyp
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
834c5911
30b8be04
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
11 deletion
+11
-11
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
...entation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+9
-9
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
...entation/concurrentMarkSweep/compactibleFreeListSpace.hpp
+2
-2
未找到文件。
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
浏览文件 @
3be0faa8
...
...
@@ -50,8 +50,8 @@
int
CompactibleFreeListSpace
::
_lockRank
=
Mutex
::
leaf
+
3
;
// Defaults are 0 so things will break badly if incorrectly initialized.
in
t
CompactibleFreeListSpace
::
IndexSetStart
=
0
;
in
t
CompactibleFreeListSpace
::
IndexSetStride
=
0
;
size_
t
CompactibleFreeListSpace
::
IndexSetStart
=
0
;
size_
t
CompactibleFreeListSpace
::
IndexSetStride
=
0
;
size_t
MinChunkSize
=
0
;
...
...
@@ -62,7 +62,7 @@ void CompactibleFreeListSpace::set_cms_values() {
MinChunkSize
=
numQuanta
(
sizeof
(
FreeChunk
),
MinObjAlignmentInBytes
)
*
MinObjAlignment
;
assert
(
IndexSetStart
==
0
&&
IndexSetStride
==
0
,
"already set"
);
IndexSetStart
=
(
int
)
MinChunkSize
;
IndexSetStart
=
MinChunkSize
;
IndexSetStride
=
MinObjAlignment
;
}
...
...
@@ -250,7 +250,7 @@ void CompactibleFreeListSpace::initializeIndexedFreeListArray() {
}
void
CompactibleFreeListSpace
::
resetIndexedFreeListArray
()
{
for
(
in
t
i
=
1
;
i
<
IndexSetSize
;
i
++
)
{
for
(
size_
t
i
=
1
;
i
<
IndexSetSize
;
i
++
)
{
assert
(
_indexedFreeList
[
i
].
size
()
==
(
size_t
)
i
,
"Indexed free list sizes are incorrect"
);
_indexedFreeList
[
i
].
reset
(
IndexSetSize
);
...
...
@@ -337,7 +337,7 @@ size_t CompactibleFreeListSpace::sumIndexedFreeListArrayReturnedBytes() {
size_t
CompactibleFreeListSpace
::
totalCountInIndexedFreeLists
()
const
{
size_t
count
=
0
;
for
(
int
i
=
(
int
)
MinChunkSize
;
i
<
IndexSetSize
;
i
++
)
{
for
(
size_t
i
=
IndexSetStart
;
i
<
IndexSetSize
;
i
++
)
{
debug_only
(
ssize_t
total_list_count
=
0
;
for
(
FreeChunk
*
fc
=
_indexedFreeList
[
i
].
head
();
fc
!=
NULL
;
...
...
@@ -2200,7 +2200,7 @@ void CompactibleFreeListSpace::setFLHints() {
void
CompactibleFreeListSpace
::
clearFLCensus
()
{
assert_locked
();
in
t
i
;
size_
t
i
;
for
(
i
=
IndexSetStart
;
i
<
IndexSetSize
;
i
+=
IndexSetStride
)
{
FreeList
*
fl
=
&
_indexedFreeList
[
i
];
fl
->
set_prevSweep
(
fl
->
count
());
...
...
@@ -2494,7 +2494,7 @@ void CompactibleFreeListSpace::verifyFreeLists() const {
void
CompactibleFreeListSpace
::
verifyIndexedFreeLists
()
const
{
size_t
i
=
0
;
for
(;
i
<
MinChunkSize
;
i
++
)
{
for
(;
i
<
IndexSetStart
;
i
++
)
{
guarantee
(
_indexedFreeList
[
i
].
head
()
==
NULL
,
"should be NULL"
);
}
for
(;
i
<
IndexSetSize
;
i
++
)
{
...
...
@@ -2507,7 +2507,7 @@ void CompactibleFreeListSpace::verifyIndexedFreeList(size_t size) const {
FreeChunk
*
tail
=
_indexedFreeList
[
size
].
tail
();
size_t
num
=
_indexedFreeList
[
size
].
count
();
size_t
n
=
0
;
guarantee
(((
size
>=
MinChunkSize
)
&&
(
size
%
IndexSetStride
==
0
))
||
fc
==
NULL
,
guarantee
(((
size
>=
IndexSetStart
)
&&
(
size
%
IndexSetStride
==
0
))
||
fc
==
NULL
,
"Slot should have been empty"
);
for
(;
fc
!=
NULL
;
fc
=
fc
->
next
(),
n
++
)
{
guarantee
(
fc
->
size
()
==
size
,
"Size inconsistency"
);
...
...
@@ -2527,7 +2527,7 @@ void CompactibleFreeListSpace::check_free_list_consistency() const {
"else MIN_TREE_CHUNK_SIZE is wrong"
);
assert
((
IndexSetStride
==
2
&&
IndexSetStart
==
4
)
||
// 32-bit
(
IndexSetStride
==
1
&&
IndexSetStart
==
3
),
"just checking"
);
// 64-bit
assert
((
IndexSetStride
!=
2
)
||
(
MinChunkSize
%
2
==
0
),
assert
((
IndexSetStride
!=
2
)
||
(
IndexSetStart
%
2
==
0
),
"Some for-loops may be incorrectly initialized"
);
assert
((
IndexSetStride
!=
2
)
||
(
IndexSetSize
%
2
==
1
),
"For-loops that iterate over IndexSet with stride 2 may be wrong"
);
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
浏览文件 @
3be0faa8
...
...
@@ -104,8 +104,8 @@ class CompactibleFreeListSpace: public CompactibleSpace {
SmallForDictionary
=
257
,
// size < this then use _indexedFreeList
IndexSetSize
=
SmallForDictionary
// keep this odd-sized
};
static
in
t
IndexSetStart
;
static
in
t
IndexSetStride
;
static
size_
t
IndexSetStart
;
static
size_
t
IndexSetStride
;
private:
enum
FitStrategyOptions
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录