diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-08-22 17:58:04 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-22 17:58:04 -0700 |
commit | cd16986ee3a4fa92c7e6b3f5a601a635a7cdd21a (patch) | |
tree | 2d7e0db615f72fa98a21fe806204e49e0a0c2a04 /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S | |
parent | 15efafdf07789322219cc8f938ac758f932fe208 (diff) | |
download | glibc-cd16986ee3a4fa92c7e6b3f5a601a635a7cdd21a.tar.gz glibc-cd16986ee3a4fa92c7e6b3f5a601a635a7cdd21a.tar.xz glibc-cd16986ee3a4fa92c7e6b3f5a601a635a7cdd21a.zip |
Rvert accidental checkins.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S index 14d7637429..cd867b60dc 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S @@ -34,109 +34,6 @@ .align 16 pthread_rwlock_timedwrlock: cfi_startproc - movq %rsi, %r10 - movq NRW_WORD(%rdi), %rax -.Lagain: - movq $(NRW_WW_MASK|NRW_WL|NRW_RC_MASK), %rdx - testq %rdx, %rax - jnz .Lwait - - // XXX Probably make AR a don't-care for !WP. Unconditionally set it - movq $(NRW_AR|NRW_WL), %rdx - movq $NRW_WL, %rcx - testq $NRW_WP, %rax - cmovz %rcx, %rdx - orq %rax, %rdx - LOCK - cmpxchgq %rdx, NRW_WORD(%rdi) - jnz .Lagain - - movl %fs:TID, %eax - movl %eax, WRITER(%rdi) - - xorl %eax, %eax - ret - -.Lwait: movq $NRW_WL, %rcx - testq %rcx, %rax - jz 1f - - movl %fs:TID, %eax - cmpl %eax, WRITER(%rdi) - je .Ldeadlk - -1: leaq NRW_WORD+4(%rdi), %rdi - - movq $NRW_WW, %rdx - movq $NRW_WW_MASK, %rcx - addq %rax, %rdx - testq %rcx, %rdx - jz .Lovfl - - LOCK - cmpxchgq %rdx, -4(%rdi) - jnz .Lagain - - movl $NRW_W_WAKEUP, %r9d -.Lwait2: - movl $(FUTEX_WAIT_BITSET|FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME), %esi - movl $__NR_futex, %eax - xorl PSHARED-(NRW_WORD+4)(%rdi), %esi - syscall - movl %eax, %esi - movq -4(%rdi), %rax - -.Lagain2: - movq $(NRW_WL|NRW_RC_MASK), %rdx - movq $(NRW_WL|NRW_AR), %rcx - testq %rdx, %rax - movq $NRW_AR, %rsi - setz %cl - andq %rax, %rcx - cmpq %rsi, %rcx - sete %cl - orb %dl, %cl - jnz 2f - - cmpl $-EWOULDBLOCK, %esi - jne .Lwait2 - - movq $-NRW_WW, %rdx - addq %rax, %rdx - LOCK - cmpxchgq %rdx, -4(%rdi) - jnz .Lagain2 - - negl %esi - movl %esi, %eax - ret - -2: movq $-NRW_WW, %rdx - addq %rax, %rdx - xorl %ecx, %ecx - testq $NRW_WP, %rax - cmovz %rcx, %rsi - orq %rsi, %rdx - - LOCK - cmpxchgq %rdx, -4(%rdi) - jnz .Lagain2 - - movl %fs:TID, %eax - movl %eax, WRITER(%rdi) - - xorl %eax, %eax - ret - -.Lovfl: movl $EAGAIN, %eax - ret - -.Ldeadlk: - movl $EDEADLK, %eax - ret - - -#if 0 pushq %r12 cfi_adjust_cfa_offset(8) cfi_rel_offset(%r12, 0) @@ -366,6 +263,5 @@ pthread_rwlock_timedwrlock: 19: movl $EINVAL, %edx jmp 9b -#endif cfi_endproc .size pthread_rwlock_timedwrlock,.-pthread_rwlock_timedwrlock |