Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
459436df
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看板
提交
459436df
编写于
6月 04, 2008
作者:
N
never
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6709165: Tests hang or misbahve with HS 13.0-b01 on solaris-sparcv9
Reviewed-by: kvn, jrose
上级
f71a0237
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
15 deletion
+4
-15
src/cpu/sparc/vm/sparc.ad
src/cpu/sparc/vm/sparc.ad
+4
-15
未找到文件。
src/cpu/sparc/vm/sparc.ad
浏览文件 @
459436df
...
@@ -6677,10 +6677,9 @@ instruct compareAndSwapP_bool(iRegP mem_ptr, iRegP oldval, iRegP newval, iRegI r
...
@@ -6677,10 +6677,9 @@ instruct compareAndSwapP_bool(iRegP mem_ptr, iRegP oldval, iRegP newval, iRegI r
ins_pipe( long_memory_op );
ins_pipe( long_memory_op );
%}
%}
instruct compareAndSwapN_bool
_comp(iRegP mem_ptr, iRegN oldval, iRegN newval, iRegI res, o7RegI tmp
, flagsReg ccr ) %{
instruct compareAndSwapN_bool
(iRegP mem_ptr, iRegN oldval, iRegN newval, iRegI res, o7RegI tmp1
, flagsReg ccr ) %{
match(Set res (CompareAndSwapN mem_ptr (Binary oldval newval)));
match(Set res (CompareAndSwapN mem_ptr (Binary oldval newval)));
effect( USE mem_ptr, KILL ccr, KILL tmp);
effect( USE mem_ptr, KILL ccr, KILL tmp1);
format %{
format %{
"MOV $newval,O7\n\t"
"MOV $newval,O7\n\t"
"CASA [$mem_ptr],$oldval,O7\t! If $oldval==[$mem_ptr] Then store O7 into [$mem_ptr], set O7=[$mem_ptr] in any case\n\t"
"CASA [$mem_ptr],$oldval,O7\t! If $oldval==[$mem_ptr] Then store O7 into [$mem_ptr], set O7=[$mem_ptr] in any case\n\t"
...
@@ -6688,18 +6687,8 @@ instruct compareAndSwapN_bool_comp(iRegP mem_ptr, iRegN oldval, iRegN newval, iR
...
@@ -6688,18 +6687,8 @@ instruct compareAndSwapN_bool_comp(iRegP mem_ptr, iRegN oldval, iRegN newval, iR
"MOV 1,$res\n\t"
"MOV 1,$res\n\t"
"MOVne icc,R_G0,$res"
"MOVne icc,R_G0,$res"
%}
%}
ins_encode %{
ins_encode( enc_casi(mem_ptr, oldval, newval),
Register Rmem = reg_to_register_object($mem_ptr$$reg);
enc_iflags_ne_to_boolean(res) );
Register Rold = reg_to_register_object($oldval$$reg);
Register Rnew = reg_to_register_object($newval$$reg);
Register Rres = reg_to_register_object($res$$reg);
__ cas(Rmem, Rold, Rnew);
__ cmp( Rold, Rnew );
__ mov(1, Rres);
__ movcc( Assembler::notEqual, false, Assembler::icc, G0, Rres );
%}
ins_pipe( long_memory_op );
ins_pipe( long_memory_op );
%}
%}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录