diff options
Diffstat (limited to 'src/libthread/FreeBSD-386.s')
-rw-r--r-- | src/libthread/FreeBSD-386.s | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libthread/FreeBSD-386.s b/src/libthread/FreeBSD-386.s new file mode 100644 index 00000000..624518e0 --- /dev/null +++ b/src/libthread/FreeBSD-386.s @@ -0,0 +1,18 @@ + +.globl _xinc +_xinc: + movl 4(%esp), %eax + lock incl 0(%eax) + ret + +.globl _xdec +_xdec: + movl 4(%esp), %eax + lock decl 0(%eax) + jz iszero + movl %eax, 1 + ret +iszero: + movl %eax, 0 + ret + |