Blob


1 .globl _setlabel
2 .type _setlabel,@function
4 _setlabel:
5 movl 4(%esp), %eax
6 movl 0(%esp), %edx
7 movl %edx, 0(%eax)
8 movl %ebx, 4(%eax)
9 movl %esp, 8(%eax)
10 movl %ebp, 12(%eax)
11 movl %esi, 16(%eax)
12 movl %edi, 20(%eax)
13 xorl %eax, %eax
14 ret
16 .globl _gotolabel
17 .type _gotolabel,@function
19 _gotolabel:
20 pushl $1
21 call _threadinswitch
22 popl %eax
23 movl 4(%esp), %edx
24 movl 0(%edx), %ecx
25 movl 4(%edx), %ebx
26 movl 8(%edx), %esp
27 movl 12(%edx), %ebp
28 movl 16(%edx), %esi
29 movl 20(%edx), %edi
30 movl %ecx, 0(%esp)
31 pushl $0
32 call _threadinswitch
33 popl %eax
34 xorl %eax, %eax
35 incl %eax
36 ret
39 # .globl _xinc
40 # _xinc:
41 # movl 4(%esp), %eax
42 # lock incl 0(%eax)
43 # ret
44 #
45 # .globl _xdec
46 # _xdec:
47 # movl 4(%esp), %eax
48 # lock decl 0(%eax)
49 # jz iszero
50 # movl $1, %eax
51 # ret
52 # iszero:
53 # movl $0, %eax
54 # ret
55 #