Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
300bd132
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看板
提交
300bd132
编写于
10月 15, 2010
作者:
N
never
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
上级
78b3ada8
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
3 addition
and
4 deletion
+3
-4
src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
+1
-1
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
+1
-1
src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
+1
-1
src/share/vm/c1/c1_LIRGenerator.cpp
src/share/vm/c1/c1_LIRGenerator.cpp
+0
-1
未找到文件。
src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
浏览文件 @
300bd132
...
@@ -664,7 +664,7 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) {
...
@@ -664,7 +664,7 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) {
// Use temps to avoid kills
// Use temps to avoid kills
LIR_Opr
t1
=
FrameMap
::
G1_opr
;
LIR_Opr
t1
=
FrameMap
::
G1_opr
;
LIR_Opr
t2
=
FrameMap
::
G3_opr
;
LIR_Opr
t2
=
FrameMap
::
G3_opr
;
LIR_Opr
addr
=
(
type
==
objectType
)
?
new_register
(
T_OBJECT
)
:
new_pointer_register
();
LIR_Opr
addr
=
new_pointer_register
();
// get address of field
// get address of field
obj
.
load_item
();
obj
.
load_item
();
...
...
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
浏览文件 @
300bd132
...
@@ -499,7 +499,7 @@ void G1PostBarrierStub::emit_code(LIR_Assembler* ce) {
...
@@ -499,7 +499,7 @@ void G1PostBarrierStub::emit_code(LIR_Assembler* ce) {
Register
new_val_reg
=
new_val
()
->
as_register
();
Register
new_val_reg
=
new_val
()
->
as_register
();
__
cmpptr
(
new_val_reg
,
(
int32_t
)
NULL_WORD
);
__
cmpptr
(
new_val_reg
,
(
int32_t
)
NULL_WORD
);
__
jcc
(
Assembler
::
equal
,
_continuation
);
__
jcc
(
Assembler
::
equal
,
_continuation
);
ce
->
store_parameter
(
addr
()
->
as_register
(),
0
);
ce
->
store_parameter
(
addr
()
->
as_
pointer_
register
(),
0
);
__
call
(
RuntimeAddress
(
Runtime1
::
entry_for
(
Runtime1
::
g1_post_barrier_slow_id
)));
__
call
(
RuntimeAddress
(
Runtime1
::
entry_for
(
Runtime1
::
g1_post_barrier_slow_id
)));
__
jmp
(
_continuation
);
__
jmp
(
_continuation
);
}
}
...
...
src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
浏览文件 @
300bd132
...
@@ -765,7 +765,7 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) {
...
@@ -765,7 +765,7 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) {
ShouldNotReachHere
();
ShouldNotReachHere
();
}
}
LIR_Opr
addr
=
(
type
==
objectType
)
?
new_register
(
T_OBJECT
)
:
new_pointer_register
();
LIR_Opr
addr
=
new_pointer_register
();
LIR_Address
*
a
;
LIR_Address
*
a
;
if
(
offset
.
result
()
->
is_constant
())
{
if
(
offset
.
result
()
->
is_constant
())
{
a
=
new
LIR_Address
(
obj
.
result
(),
a
=
new
LIR_Address
(
obj
.
result
(),
...
...
src/share/vm/c1/c1_LIRGenerator.cpp
浏览文件 @
300bd132
...
@@ -1350,7 +1350,6 @@ void LIRGenerator::G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_Opr
...
@@ -1350,7 +1350,6 @@ void LIRGenerator::G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_Opr
addr
=
ptr
;
addr
=
ptr
;
}
}
assert
(
addr
->
is_register
(),
"must be a register at this point"
);
assert
(
addr
->
is_register
(),
"must be a register at this point"
);
assert
(
addr
->
type
()
==
T_OBJECT
,
"addr should point to an object"
);
LIR_Opr
xor_res
=
new_pointer_register
();
LIR_Opr
xor_res
=
new_pointer_register
();
LIR_Opr
xor_shift_res
=
new_pointer_register
();
LIR_Opr
xor_shift_res
=
new_pointer_register
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录