diff options
-rw-r--r-- | nptl/ChangeLog | 8 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S | 28 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S | 4 |
3 files changed, 11 insertions, 29 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 77f0984d16..222694cc19 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,11 @@ +2003-02-02 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S + (__lll_lock_wait): Add branch predicition. + * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S + (__lll_lock_wait): Likewise. + (lll_unlock_wake_cb): Removed. + 2003-01-31 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/bits/posix_opt.h: Remove diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S index dda4c18fca..34840092ed 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S @@ -55,7 +55,7 @@ __lll_lock_wait: 0: #endif xaddl %eax, (%ebx) - jne 1b + jne,pn 1b movl $-1, (%ebx) @@ -66,32 +66,6 @@ __lll_lock_wait: .size __lll_lock_wait,.-__lll_lock_wait - .type lll_unlock_wake_cb,@function - .align 16 -lll_unlock_wake_cb: - pushl %esi - pushl %ebx - pushl %ecx - pushl %edx - - movl 20(%esp), %ebx -#ifndef UP - cmpl $0, %gs:MULTIPLE_THREADS_OFFSET - je,pt 0f - lock -0: -#endif - incl (%ebx) - jng 1f - - popl %edx - popl %ecx - popl %ebx - popl %esi - ret - .size lll_unlock_wake_cb,.-lll_unlock_wake_cb - - .globl __lll_unlock_wake .type __lll_unlock_wake,@function .hidden __lll_unlock_wake diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S index e79e65b21e..bdfc506fe0 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -55,7 +55,7 @@ __lll_lock_wait: orl $-1, %eax /* Load -1. */ LOCK xaddl %eax, (%ebx) - jne 1b + jne,pn 1b movl $-1, (%ebx) |