aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-03 03:51:24 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-03 03:51:24 +0000
commit2f42e8be4c56f013118f8dac63fb726aaa805d13 (patch)
treea3f169a1b8ef87d5031f07fae9c4329738cf0cda
parent75dec09e4db3931b8259406a019fc7de9bf5ff2e (diff)
downloadglibc-2f42e8be4c56f013118f8dac63fb726aaa805d13.tar
glibc-2f42e8be4c56f013118f8dac63fb726aaa805d13.tar.gz
glibc-2f42e8be4c56f013118f8dac63fb726aaa805d13.tar.bz2
glibc-2f42e8be4c56f013118f8dac63fb726aaa805d13.zip
Update.
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.
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S28
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S4
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)