Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
44e4df98
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看板
提交
44e4df98
编写于
9月 16, 2010
作者:
J
johnc
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
69a18a35
ce70d907
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
47 addition
and
42 deletion
+47
-42
make/jprt.properties
make/jprt.properties
+9
-1
src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp
...plementation/concurrentMarkSweep/binaryTreeDictionary.cpp
+2
-2
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
...entation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+3
-3
src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
...ion/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+1
-1
src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp
...are/vm/gc_implementation/concurrentMarkSweep/freeList.cpp
+2
-7
src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp
...m/gc_implementation/concurrentMarkSweep/promotionInfo.cpp
+2
-2
src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
+26
-24
src/share/vm/runtime/globals.hpp
src/share/vm/runtime/globals.hpp
+2
-2
未找到文件。
make/jprt.properties
浏览文件 @
44e4df98
...
...
@@ -48,6 +48,7 @@ jprt.sync.push=false
jprt.my.solaris.sparc.jdk7
=
solaris_sparc_5.10
jprt.my.solaris.sparc.jdk7b107
=
solaris_sparc_5.10
jprt.my.solaris.sparc.jdk7temp
=
solaris_sparc_5.10
jprt.my.solaris.sparc.jdk6
=
solaris_sparc_5.8
jprt.my.solaris.sparc.jdk6perf
=
solaris_sparc_5.8
jprt.my.solaris.sparc.jdk6u10
=
solaris_sparc_5.8
...
...
@@ -58,6 +59,7 @@ jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}}
jprt.my.solaris.sparcv9.jdk7
=
solaris_sparcv9_5.10
jprt.my.solaris.sparcv9.jdk7b107
=
solaris_sparcv9_5.10
jprt.my.solaris.sparcv9.jdk7temp
=
solaris_sparcv9_5.10
jprt.my.solaris.sparcv9.jdk6
=
solaris_sparcv9_5.8
jprt.my.solaris.sparcv9.jdk6perf
=
solaris_sparcv9_5.8
jprt.my.solaris.sparcv9.jdk6u10
=
solaris_sparcv9_5.8
...
...
@@ -68,6 +70,7 @@ jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}}
jprt.my.solaris.i586.jdk7
=
solaris_i586_5.10
jprt.my.solaris.i586.jdk7b107
=
solaris_i586_5.10
jprt.my.solaris.i586.jdk7temp
=
solaris_i586_5.10
jprt.my.solaris.i586.jdk6
=
solaris_i586_5.8
jprt.my.solaris.i586.jdk6perf
=
solaris_i586_5.8
jprt.my.solaris.i586.jdk6u10
=
solaris_i586_5.8
...
...
@@ -78,6 +81,7 @@ jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}}
jprt.my.solaris.x64.jdk7
=
solaris_x64_5.10
jprt.my.solaris.x64.jdk7b107
=
solaris_x64_5.10
jprt.my.solaris.x64.jdk7temp
=
solaris_x64_5.10
jprt.my.solaris.x64.jdk6
=
solaris_x64_5.10
jprt.my.solaris.x64.jdk6perf
=
solaris_x64_5.10
jprt.my.solaris.x64.jdk6u10
=
solaris_x64_5.10
...
...
@@ -88,6 +92,7 @@ jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
jprt.my.linux.i586.jdk7
=
linux_i586_2.6
jprt.my.linux.i586.jdk7b107
=
linux_i586_2.6
jprt.my.linux.i586.jdk7temp
=
linux_i586_2.6
jprt.my.linux.i586.jdk6
=
linux_i586_2.4
jprt.my.linux.i586.jdk6perf
=
linux_i586_2.4
jprt.my.linux.i586.jdk6u10
=
linux_i586_2.4
...
...
@@ -98,6 +103,7 @@ jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
jprt.my.linux.x64.jdk7
=
linux_x64_2.6
jprt.my.linux.x64.jdk7b107
=
linux_x64_2.6
jprt.my.linux.x64.jdk7temp
=
linux_x64_2.6
jprt.my.linux.x64.jdk6
=
linux_x64_2.4
jprt.my.linux.x64.jdk6perf
=
linux_x64_2.4
jprt.my.linux.x64.jdk6u10
=
linux_x64_2.4
...
...
@@ -106,8 +112,9 @@ jprt.my.linux.x64.jdk6u18=linux_x64_2.4
jprt.my.linux.x64.jdk6u20
=
linux_x64_2.4
jprt.my.linux.x64
=
${jprt.my.linux.x64.${jprt.tools.default.release}}
jprt.my.windows.i586.jdk7
=
windows_i586_5.
0
jprt.my.windows.i586.jdk7
=
windows_i586_5.
1
jprt.my.windows.i586.jdk7b107
=
windows_i586_5.0
jprt.my.windows.i586.jdk7temp
=
windows_i586_5.0
jprt.my.windows.i586.jdk6
=
windows_i586_5.0
jprt.my.windows.i586.jdk6perf
=
windows_i586_5.0
jprt.my.windows.i586.jdk6u10
=
windows_i586_5.0
...
...
@@ -118,6 +125,7 @@ jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
jprt.my.windows.x64.jdk7
=
windows_x64_5.2
jprt.my.windows.x64.jdk7b107
=
windows_x64_5.2
jprt.my.windows.x64.jdk7temp
=
windows_x64_5.2
jprt.my.windows.x64.jdk6
=
windows_x64_5.2
jprt.my.windows.x64.jdk6perf
=
windows_x64_5.2
jprt.my.windows.x64.jdk6u10
=
windows_x64_5.2
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp
浏览文件 @
44e4df98
...
...
@@ -256,7 +256,7 @@ TreeChunk* TreeList::head_as_TreeChunk() {
}
TreeChunk
*
TreeList
::
first_available
()
{
guarantee
(
head
()
!=
NULL
,
"The head of the list cannot be NULL"
);
assert
(
head
()
!=
NULL
,
"The head of the list cannot be NULL"
);
FreeChunk
*
fc
=
head
()
->
next
();
TreeChunk
*
retTC
;
if
(
fc
==
NULL
)
{
...
...
@@ -272,7 +272,7 @@ TreeChunk* TreeList::first_available() {
// those in the list for this size; potentially slow and expensive,
// use with caution!
TreeChunk
*
TreeList
::
largest_address
()
{
guarantee
(
head
()
!=
NULL
,
"The head of the list cannot be NULL"
);
assert
(
head
()
!=
NULL
,
"The head of the list cannot be NULL"
);
FreeChunk
*
fc
=
head
()
->
next
();
TreeChunk
*
retTC
;
if
(
fc
==
NULL
)
{
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
浏览文件 @
44e4df98
...
...
@@ -1946,8 +1946,8 @@ void CompactibleFreeListSpace::save_marks() {
bool
CompactibleFreeListSpace
::
no_allocs_since_save_marks
()
{
assert
(
_promoInfo
.
tracking
(),
"No preceding save_marks?"
);
guarantee
(
SharedHeap
::
heap
()
->
n_par_threads
()
==
0
,
"Shouldn't be called (yet) during parallel part of
gc."
);
assert
(
SharedHeap
::
heap
()
->
n_par_threads
()
==
0
,
"Shouldn't be called if using parallel
gc."
);
return
_promoInfo
.
noPromotions
();
}
...
...
@@ -2569,7 +2569,7 @@ void CFLS_LAB::modify_initialization(size_t n, unsigned wt) {
HeapWord
*
CFLS_LAB
::
alloc
(
size_t
word_sz
)
{
FreeChunk
*
res
;
guarantee
(
word_sz
==
_cfls
->
adjustObjectSize
(
word_sz
),
"Error"
);
assert
(
word_sz
==
_cfls
->
adjustObjectSize
(
word_sz
),
"Error"
);
if
(
word_sz
>=
CompactibleFreeListSpace
::
IndexSetSize
)
{
// This locking manages sync with other large object allocations.
MutexLockerEx
x
(
_cfls
->
parDictionaryAllocLock
(),
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
浏览文件 @
44e4df98
...
...
@@ -1332,7 +1332,7 @@ ConcurrentMarkSweepGeneration::allocation_limit_reached(Space* space,
// -----------------------------------------------------
// FREE: klass_word & 1 == 1; mark_word holds block size
//
// OBJECT: klass_word installed; klass_word != 0 && klass_word &
0
== 0;
// OBJECT: klass_word installed; klass_word != 0 && klass_word &
1
== 0;
// obj->size() computes correct size
// [Perm Gen objects needs to be "parsable" before they can be navigated]
//
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp
浏览文件 @
44e4df98
...
...
@@ -165,13 +165,8 @@ void FreeList::removeChunk(FreeChunk*fc) {
"Next of tail should be NULL"
);
}
decrement_count
();
#define TRAP_CODE 1
#if TRAP_CODE
if
(
head
()
==
NULL
)
{
guarantee
(
tail
()
==
NULL
,
"INVARIANT"
);
guarantee
(
count
()
==
0
,
"INVARIANT"
);
}
#endif
assert
(((
head
()
==
NULL
)
+
(
tail
()
==
NULL
)
+
(
count
()
==
0
))
%
3
==
0
,
"H/T/C Inconsistency"
);
// clear next and prev fields of fc, debug only
NOT_PRODUCT
(
fc
->
linkPrev
(
NULL
);
...
...
src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp
浏览文件 @
44e4df98
...
...
@@ -253,8 +253,8 @@ void PromotionInfo::print_statistics(uint worker_id) const {
cur_spool
=
cur_spool
->
nextSpoolBlock
)
{
// the first entry is just a self-pointer; indices 1 through
// bufferSize - 1 are occupied (thus, bufferSize - 1 slots).
guarantee
((
void
*
)
cur_spool
->
displacedHdr
==
(
void
*
)
&
cur_spool
->
displacedHdr
,
"first entry of displacedHdr should be self-referential"
);
assert
((
void
*
)
cur_spool
->
displacedHdr
==
(
void
*
)
&
cur_spool
->
displacedHdr
,
"first entry of displacedHdr should be self-referential"
);
slots
+=
cur_spool
->
bufferSize
-
1
;
blocks
++
;
}
...
...
src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
浏览文件 @
44e4df98
...
...
@@ -2148,7 +2148,7 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
body_summary
->
get_termination_seq
()
};
NumberSeq
calc_other_times_ms
(
body_summary
->
get_parallel_seq
(),
7
,
other_parts
);
6
,
other_parts
);
check_other_times
(
2
,
body_summary
->
get_parallel_other_seq
(),
&
calc_other_times_ms
);
}
...
...
@@ -2166,30 +2166,32 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
}
print_summary
(
1
,
"Other"
,
summary
->
get_other_seq
());
{
NumberSeq
calc_other_times_ms
;
if
(
parallel
)
{
// parallel
NumberSeq
*
other_parts
[]
=
{
body_summary
->
get_satb_drain_seq
(),
body_summary
->
get_parallel_seq
(),
body_summary
->
get_clear_ct_seq
()
};
calc_other_times_ms
=
NumberSeq
(
summary
->
get_total_seq
(),
3
,
other_parts
);
}
else
{
// serial
NumberSeq
*
other_parts
[]
=
{
body_summary
->
get_satb_drain_seq
(),
body_summary
->
get_update_rs_seq
(),
body_summary
->
get_ext_root_scan_seq
(),
body_summary
->
get_mark_stack_scan_seq
(),
body_summary
->
get_scan_rs_seq
(),
body_summary
->
get_obj_copy_seq
()
};
calc_other_times_ms
=
NumberSeq
(
summary
->
get_total_seq
(),
7
,
other_parts
);
if
(
body_summary
!=
NULL
)
{
NumberSeq
calc_other_times_ms
;
if
(
parallel
)
{
// parallel
NumberSeq
*
other_parts
[]
=
{
body_summary
->
get_satb_drain_seq
(),
body_summary
->
get_parallel_seq
(),
body_summary
->
get_clear_ct_seq
()
};
calc_other_times_ms
=
NumberSeq
(
summary
->
get_total_seq
(),
3
,
other_parts
);
}
else
{
// serial
NumberSeq
*
other_parts
[]
=
{
body_summary
->
get_satb_drain_seq
(),
body_summary
->
get_update_rs_seq
(),
body_summary
->
get_ext_root_scan_seq
(),
body_summary
->
get_mark_stack_scan_seq
(),
body_summary
->
get_scan_rs_seq
(),
body_summary
->
get_obj_copy_seq
()
};
calc_other_times_ms
=
NumberSeq
(
summary
->
get_total_seq
(),
6
,
other_parts
);
}
check_other_times
(
1
,
summary
->
get_other_seq
(),
&
calc_other_times_ms
);
}
check_other_times
(
1
,
summary
->
get_other_seq
(),
&
calc_other_times_ms
);
}
}
else
{
print_indent
(
0
);
...
...
src/share/vm/runtime/globals.hpp
浏览文件 @
44e4df98
...
...
@@ -1544,13 +1544,13 @@ class CommandLineFlags {
"Use BinaryTreeDictionary as default in the CMS generation") \
\
product(uintx, CMSIndexedFreeListReplenish, 4, \
"Replenish an
d
indexed free list with this number of chunks") \
"Replenish an indexed free list with this number of chunks") \
\
product(bool, CMSReplenishIntermediate, true, \
"Replenish all intermediate free-list caches") \
\
product(bool, CMSSplitIndexedFreeListBlocks, true, \
"When satisfying batched demand, spl
o
t blocks from the " \
"When satisfying batched demand, spl
i
t blocks from the " \
"IndexedFreeList whose size is a multiple of requested size") \
\
product(bool, CMSLoopWarn, false, \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录