1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| | #define JMP_BUF_SIZE 176
#define SS_OFFSET JMP_BUF_SIZE+8+8
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,@function
.type __sigsetjmp@function
sigsetjmp:
__sigsetjmp:
.hidden ___setjmp
cb.deqz $r1? ___setjmp
;;
get $r2 = $ra
;;
sd (JMP_BUF_SIZE)[$r0] = $r2
;;
call ___setjmp
sd (SS_OFFSET)[$r0] = $r18
copyd $r18 = $r0
;;
copyd $r1 = $r0
copyd $r0 = $r18
ld $r2 = (JMP_BUF_SIZE)[$r18]
;;
ld $r18 = (SS_OFFSET)[$r0]
set $ra = $r2
;;
.hidden __sigsetjmp_tail
goto __sigsetjmp_tail
;;
|