mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 22:40:05 +00:00
Use LP_OP(cmp) and RCX_LP on dep_mutex pointer
This commit is contained in:
parent
289ac4352a
commit
30996e9369
@ -1,3 +1,8 @@
|
||||
2012-05-15 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Use
|
||||
LP_OP(cmp) and R8_LP on dep_mutex pointer.
|
||||
|
||||
2012-05-15 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Use LP_OP(mov)
|
||||
|
@ -59,14 +59,14 @@ __pthread_cond_broadcast:
|
||||
incl broadcast_seq-cond_futex(%rdi)
|
||||
|
||||
/* Get the address of the mutex used. */
|
||||
movq dep_mutex-cond_futex(%rdi), %r8
|
||||
mov dep_mutex-cond_futex(%rdi), %R8_LP
|
||||
|
||||
/* Unlock. */
|
||||
LOCK
|
||||
decl cond_lock-cond_futex(%rdi)
|
||||
jne 7f
|
||||
|
||||
8: cmpq $-1, %r8
|
||||
8: cmp $-1, %R8_LP
|
||||
je 9f
|
||||
|
||||
/* Do not use requeue for pshared condvars. */
|
||||
@ -128,7 +128,7 @@ __pthread_cond_broadcast:
|
||||
#if cond_lock != 0
|
||||
addq $cond_lock, %rdi
|
||||
#endif
|
||||
cmpq $-1, dep_mutex-cond_lock(%rdi)
|
||||
LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
|
||||
movl $LLL_PRIVATE, %eax
|
||||
movl $LLL_SHARED, %esi
|
||||
cmovne %eax, %esi
|
||||
@ -140,7 +140,7 @@ __pthread_cond_broadcast:
|
||||
|
||||
/* Unlock in loop requires wakeup. */
|
||||
5: addq $cond_lock-cond_futex, %rdi
|
||||
cmpq $-1, dep_mutex-cond_lock(%rdi)
|
||||
LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
|
||||
movl $LLL_PRIVATE, %eax
|
||||
movl $LLL_SHARED, %esi
|
||||
cmovne %eax, %esi
|
||||
@ -149,7 +149,7 @@ __pthread_cond_broadcast:
|
||||
|
||||
/* Unlock in loop requires wakeup. */
|
||||
7: addq $cond_lock-cond_futex, %rdi
|
||||
cmpq $-1, %r8
|
||||
cmp $-1, %R8_LP
|
||||
movl $LLL_PRIVATE, %eax
|
||||
movl $LLL_SHARED, %esi
|
||||
cmovne %eax, %esi
|
||||
@ -158,7 +158,7 @@ __pthread_cond_broadcast:
|
||||
jmp 8b
|
||||
|
||||
9: /* The futex requeue functionality is not available. */
|
||||
cmpq $-1, %r8
|
||||
cmp $-1, %R8_LP
|
||||
movl $0x7fffffff, %edx
|
||||
#ifdef __ASSUME_PRIVATE_FUTEX
|
||||
movl $FUTEX_WAKE, %eax
|
||||
|
Loading…
Reference in New Issue
Block a user