aboutsummaryrefslogtreecommitdiff
path: root/libjava/sysdep/powerpc/locks.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/sysdep/powerpc/locks.h')
-rw-r--r--libjava/sysdep/powerpc/locks.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/libjava/sysdep/powerpc/locks.h b/libjava/sysdep/powerpc/locks.h
index fe4f01e..2e9eb0e 100644
--- a/libjava/sysdep/powerpc/locks.h
+++ b/libjava/sysdep/powerpc/locks.h
@@ -1,6 +1,6 @@
// locks.h - Thread synchronization primitives. PowerPC implementation.
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002,2008 Free Software Foundation
This file is part of libgcj.
@@ -33,12 +33,11 @@ compare_and_swap (volatile obj_addr_t *addr, obj_addr_t old,
obj_addr_t ret;
__asm__ __volatile__ (
- "0: " _LARX "%0,0,%1 \n"
+ " " _LARX "%0,0,%1 \n"
" xor. %0,%3,%0\n"
- " bne 1f\n"
+ " bne $+12\n"
" " _STCX "%2,0,%1\n"
- " bne- 0b\n"
- "1: \n"
+ " bne- $-16\n"
: "=&r" (ret)
: "r" (addr), "r" (new_val), "r" (old)
: "cr0", "memory");
@@ -67,12 +66,11 @@ compare_and_swap_release (volatile obj_addr_t *addr, obj_addr_t old,
__asm__ __volatile__ ("sync" : : : "memory");
__asm__ __volatile__ (
- "0: " _LARX "%0,0,%1 \n"
+ " " _LARX "%0,0,%1 \n"
" xor. %0,%3,%0\n"
- " bne 1f\n"
+ " bne $+12\n"
" " _STCX "%2,0,%1\n"
- " bne- 0b\n"
- "1: \n"
+ " bne- $-16\n"
: "=&r" (ret)
: "r" (addr), "r" (new_val), "r" (old)
: "cr0", "memory");