R=rsc
APPROVED=rsc
DELTA=31  (1 added, 8 deleted, 22 changed)
OCL=35752
CL=35757
This commit is contained in:
Kai Backman 2009-10-14 21:47:28 -07:00
parent f72ea8eb76
commit b83549a7e6
2 changed files with 35 additions and 4 deletions

View File

@ -10,5 +10,20 @@
// }else
// return 0;
TEXT cas+0(SB),0,$12
TODO
TEXT cas(SB),7,$0
MOVW 0(FP), R1 // *val
MOVW 4(FP), R2 // old
MOVW 8(FP), R3 // new
l:
LDREX (R1), R0
CMP R0, R2
BNE fail
STREX R3, (R1), R0
CMP $0, R0
BNE l
MOVW $1, R0
RET
fail:
MOVW $0, R0
RET

View File

@ -10,5 +10,21 @@
// }else
// return false;
TEXT sync·cas+0(SB),0,$12
TODO
TEXT sync·cas(SB),7,$0
MOVW 0(FP), R1 // *val
MOVW 4(FP), R2 // old
MOVW 8(FP), R3 // new
l:
LDREX (R1), R0
CMP R0, R2
BNE fail
STREX R3, (R1), R0
CMP $0, R0
BNE l
MOVW $1, R0
MOVW R0, 16(SP)
RET
fail:
MOVW $0, R0
MOVW R0, 16(SP)
RET