about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S14
1 files changed, 7 insertions, 7 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
index 080e66305e..939a3176e0 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
@@ -64,16 +64,16 @@ __pthread_rwlock_wrlock:
 	cmp	$0, NR_READERS(%ebx)
 	je	5f
 
-3:	incl	WRITERS_QUEUED(%ebx)
+3:	addl	$1, WRITERS_QUEUED(%ebx)
 	je	4f
 
 	movl	WRITERS_WAKEUP(%ebx), %edx
 
 	LOCK
 #if MUTEX == 0
-	decl	(%ebx)
+	subl	$1, (%ebx)
 #else
-	decl	MUTEX(%ebx)
+	subl	$1, MUTEX(%ebx)
 #endif
 	jne	10f
 
@@ -95,7 +95,7 @@ __pthread_rwlock_wrlock:
 	testl	%eax, %eax
 	jne	12f
 
-13:	decl	WRITERS_QUEUED(%ebx)
+13:	subl	$1, WRITERS_QUEUED(%ebx)
 	jmp	2b
 
 5:	xorl	%ecx, %ecx
@@ -103,9 +103,9 @@ __pthread_rwlock_wrlock:
 	movl	%eax, WRITER(%ebx)
 9:	LOCK
 #if MUTEX == 0
-	decl	(%ebx)
+	subl	$1, (%ebx)
 #else
-	decl	MUTEX(%ebx)
+	subl	$1, MUTEX(%ebx)
 #endif
 	jne	6f
 7:
@@ -138,7 +138,7 @@ __pthread_rwlock_wrlock:
 	call	__lll_mutex_unlock_wake
 	jmp	7b
 
-4:	decl	WRITERS_QUEUED(%ebx)
+4:	subl	$1, WRITERS_QUEUED(%ebx)
 	movl	$EAGAIN, %ecx
 	jmp	9b