Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
9aa6edd7
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9aa6edd7
编写于
6月 10, 2010
作者:
J
jmasa
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
ec8b113d
78ed4c5e
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
16 addition
and
16 deletion
+16
-16
src/share/vm/gc_implementation/g1/g1MMUTracker.cpp
src/share/vm/gc_implementation/g1/g1MMUTracker.cpp
+11
-7
src/share/vm/gc_implementation/g1/g1_globals.hpp
src/share/vm/gc_implementation/g1/g1_globals.hpp
+0
-3
src/share/vm/opto/graphKit.cpp
src/share/vm/opto/graphKit.cpp
+4
-5
test/runtime/6888954/vmerrors.sh
test/runtime/6888954/vmerrors.sh
+1
-1
未找到文件。
src/share/vm/gc_implementation/g1/g1MMUTracker.cpp
浏览文件 @
9aa6edd7
...
...
@@ -81,20 +81,24 @@ void G1MMUTrackerQueue::add_pause(double start, double end, bool gc_thread) {
remove_expired_entries
(
end
);
if
(
_no_entries
==
QueueLength
)
{
// OK,
right now when we fill up we bomb out
//
there are a few ways
of dealing with this "gracefully"
// OK,
we've filled up the queue. There are a few ways
// of dealing with this "gracefully"
// increase the array size (:-)
// remove the oldest entry (this might allow more GC time for
// the time slice than what's allowed)
// the time slice than what's allowed) - this is what we
// currently do
// consolidate the two entries with the minimum gap between them
// (this might allow less GC time than what's allowed)
guarantee
(
NOT_PRODUCT
(
ScavengeALot
||
)
G1UseFixedWindowMMUTracker
,
"array full, currently we can't recover unless +G1UseFixedWindowMMUTracker"
);
// In the case where ScavengeALot is true, such overflow is not
// uncommon; in such cases, we can, without much loss of precision
// or performance (we are GC'ing most of the time anyway!),
// simply overwrite the oldest entry in the tracker: this
// is also the behaviour when G1UseFixedWindowMMUTracker is enabled.
// simply overwrite the oldest entry in the tracker.
if
(
G1PolicyVerbose
>
1
)
{
warning
(
"MMU Tracker Queue overflow. Replacing earliest entry."
);
}
_head_index
=
trim_index
(
_head_index
+
1
);
assert
(
_head_index
==
_tail_index
,
"Because we have a full circular buffer"
);
_tail_index
=
trim_index
(
_tail_index
+
1
);
...
...
src/share/vm/gc_implementation/g1/g1_globals.hpp
浏览文件 @
9aa6edd7
...
...
@@ -254,9 +254,6 @@
"If non-0 is the size of the G1 survivor space, " \
"otherwise SurvivorRatio is used to determine the size") \
\
product(bool, G1UseFixedWindowMMUTracker, false, \
"If the MMU tracker's memory is full, forget the oldest entry") \
\
product(uintx, G1HeapRegionSize, 0, \
"Size of the G1 regions.") \
\
...
...
src/share/vm/opto/graphKit.cpp
浏览文件 @
9aa6edd7
...
...
@@ -3487,7 +3487,6 @@ void GraphKit::g1_write_barrier_post(Node* oop_store,
Node
*
tls
=
__
thread
();
// ThreadLocalStorage
Node
*
no_ctrl
=
NULL
;
Node
*
no_base
=
__
top
();
float
likely
=
PROB_LIKELY
(
0.999
);
float
unlikely
=
PROB_UNLIKELY
(
0.999
);
...
...
@@ -3511,10 +3510,10 @@ void GraphKit::g1_write_barrier_post(Node* oop_store,
Node
*
index_adr
=
__
AddP
(
no_base
,
tls
,
__
ConX
(
index_offset
));
// Now some values
Node
*
index
=
__
load
(
no_ctrl
,
index_adr
,
TypeInt
::
INT
,
T_INT
,
Compile
::
AliasIdxRaw
);
Node
*
buffer
=
__
load
(
no_ctrl
,
buffer_adr
,
TypeRawPtr
::
NOTNULL
,
T_ADDRESS
,
Compile
::
AliasIdxRaw
);
// Use ctrl to avoid hoisting these values past a safepoint, which could
// potentially reset these fields in the JavaThread.
Node
*
index
=
__
load
(
__
ctrl
(),
index_adr
,
TypeInt
::
INT
,
T_INT
,
Compile
::
AliasIdxRaw
);
Node
*
buffer
=
__
load
(
__
ctrl
(),
buffer_adr
,
TypeRawPtr
::
NOTNULL
,
T_ADDRESS
,
Compile
::
AliasIdxRaw
);
// Convert the store obj pointer to an int prior to doing math on it
// Must use ctrl to prevent "integerized oop" existing across safepoint
...
...
test/runtime/6888954/vmerrors.sh
浏览文件 @
9aa6edd7
...
...
@@ -65,7 +65,7 @@ do
done
rm
-f
$$
i
=
$(
expr
$i
+ 1
)
i
=
`
expr
$i
+ 1
`
done
exit
$rc
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录