Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
572f4710
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看板
提交
572f4710
编写于
10月 23, 2013
作者:
I
iveresov
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
2eed99ac
3de7ef42
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
5 deletion
+3
-5
src/share/vm/opto/reg_split.cpp
src/share/vm/opto/reg_split.cpp
+3
-5
未找到文件。
src/share/vm/opto/reg_split.cpp
浏览文件 @
572f4710
...
@@ -365,7 +365,6 @@ Node *PhaseChaitin::split_Rematerialize( Node *def, Block *b, uint insidx, uint
...
@@ -365,7 +365,6 @@ Node *PhaseChaitin::split_Rematerialize( Node *def, Block *b, uint insidx, uint
}
}
if
(
lidx
<
_lrg_map
.
max_lrg_id
()
&&
lrgs
(
lidx
).
reg
()
>=
LRG
::
SPILL_REG
)
{
if
(
lidx
<
_lrg_map
.
max_lrg_id
()
&&
lrgs
(
lidx
).
reg
()
>=
LRG
::
SPILL_REG
)
{
assert
(
Reachblock
!=
NULL
,
"Reachblock must be non-NULL"
);
Node
*
rdef
=
Reachblock
[
lrg2reach
[
lidx
]];
Node
*
rdef
=
Reachblock
[
lrg2reach
[
lidx
]];
if
(
rdef
)
{
if
(
rdef
)
{
spill
->
set_req
(
i
,
rdef
);
spill
->
set_req
(
i
,
rdef
);
...
@@ -476,7 +475,6 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
...
@@ -476,7 +475,6 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
uint
bidx
,
pidx
,
slidx
,
insidx
,
inpidx
,
twoidx
;
uint
bidx
,
pidx
,
slidx
,
insidx
,
inpidx
,
twoidx
;
uint
non_phi
=
1
,
spill_cnt
=
0
;
uint
non_phi
=
1
,
spill_cnt
=
0
;
Node
**
Reachblock
;
Node
*
n1
,
*
n2
,
*
n3
;
Node
*
n1
,
*
n2
,
*
n3
;
Node_List
*
defs
,
*
phis
;
Node_List
*
defs
,
*
phis
;
bool
*
UPblock
;
bool
*
UPblock
;
...
@@ -559,7 +557,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
...
@@ -559,7 +557,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
b
=
_cfg
.
get_block
(
bidx
);
b
=
_cfg
.
get_block
(
bidx
);
// Reaches & UP arrays for this block
// Reaches & UP arrays for this block
Reachblock
=
Reaches
[
b
->
_pre_order
];
Node
**
Reachblock
=
Reaches
[
b
->
_pre_order
];
UPblock
=
UP
[
b
->
_pre_order
];
UPblock
=
UP
[
b
->
_pre_order
];
// Reset counter of start of non-Phi nodes in block
// Reset counter of start of non-Phi nodes in block
non_phi
=
1
;
non_phi
=
1
;
...
@@ -1315,6 +1313,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
...
@@ -1315,6 +1313,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
pidx
=
pred
->
_pre_order
;
pidx
=
pred
->
_pre_order
;
// Grab reaching def
// Grab reaching def
Node
*
def
=
Reaches
[
pidx
][
slidx
];
Node
*
def
=
Reaches
[
pidx
][
slidx
];
Node
**
Reachblock
=
Reaches
[
pidx
];
assert
(
def
,
"must have reaching def"
);
assert
(
def
,
"must have reaching def"
);
// If input up/down sense and reg-pressure DISagree
// If input up/down sense and reg-pressure DISagree
if
(
def
->
rematerialize
())
{
if
(
def
->
rematerialize
())
{
...
@@ -1327,8 +1326,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
...
@@ -1327,8 +1326,7 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
_lrg_map
.
find
(
pred
->
get_node
(
insert
-
1
))
>=
lrgs_before_phi_split
)
{
_lrg_map
.
find
(
pred
->
get_node
(
insert
-
1
))
>=
lrgs_before_phi_split
)
{
insert
--
;
insert
--
;
}
}
// since the def cannot contain any live range input, we can pass in NULL as Reachlock parameter
def
=
split_Rematerialize
(
def
,
pred
,
insert
,
maxlrg
,
splits
,
slidx
,
lrg2reach
,
Reachblock
,
false
);
def
=
split_Rematerialize
(
def
,
pred
,
insert
,
maxlrg
,
splits
,
slidx
,
lrg2reach
,
NULL
,
false
);
if
(
!
def
)
{
if
(
!
def
)
{
return
0
;
// Bail out
return
0
;
// Bail out
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录