...
Text file src/runtime/internal/atomic/atomic_mipsx.s
1 // Copyright 2016 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // +build mips mipsle
6
7 #include "textflag.h"
8
9 TEXT ·spinLock(SB),NOSPLIT,$0-4
10 MOVW state+0(FP), R1
11 MOVW $1, R2
12 SYNC
13 try_lock:
14 MOVW R2, R3
15 check_again:
16 LL (R1), R4
17 BNE R4, check_again
18 SC R3, (R1)
19 BEQ R3, try_lock
20 SYNC
21 RET
22
23 TEXT ·spinUnlock(SB),NOSPLIT,$0-4
24 MOVW state+0(FP), R1
25 SYNC
26 MOVW R0, (R1)
27 SYNC
28 RET
View as plain text