diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-11-29 14:25:43 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-11-29 14:25:43 +0000 |
commit | 639818d0f3eaeb07b96122b718945190ab1814ec (patch) | |
tree | 476ba1628bdf10c88262571f11cd6005d3142ad6 | |
parent | 2cc3179bff30b557c1e7aa6ae05b785a6a6ea541 (diff) | |
download | FreeBSD-src-639818d0f3eaeb07b96122b718945190ab1814ec.zip FreeBSD-src-639818d0f3eaeb07b96122b718945190ab1814ec.tar.gz |
Eliminate two pushl by using call instruction directly, this really
helps branch predict a lot for INTEL P4.
Approved by: re (scottl)
-rw-r--r-- | lib/libkse/arch/i386/i386/thr_enter_uts.S | 3 | ||||
-rw-r--r-- | lib/libpthread/arch/i386/i386/thr_enter_uts.S | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/lib/libkse/arch/i386/i386/thr_enter_uts.S b/lib/libkse/arch/i386/i386/thr_enter_uts.S index 526fc9e..bf6df8f 100644 --- a/lib/libkse/arch/i386/i386/thr_enter_uts.S +++ b/lib/libkse/arch/i386/i386/thr_enter_uts.S @@ -40,6 +40,5 @@ ENTRY(_i386_enter_uts) addl 16(%edx), %eax /* add length */ movl %eax, %esp /* switch to uts stack */ pushl 4(%edx) /* push the address of the mailbox */ - pushl 8(%edx) /* .. the uts can return to itself */ - pushl 8(%edx) /* .. the uts can return to itself */ + call *8(%edx) ret diff --git a/lib/libpthread/arch/i386/i386/thr_enter_uts.S b/lib/libpthread/arch/i386/i386/thr_enter_uts.S index 526fc9e..bf6df8f 100644 --- a/lib/libpthread/arch/i386/i386/thr_enter_uts.S +++ b/lib/libpthread/arch/i386/i386/thr_enter_uts.S @@ -40,6 +40,5 @@ ENTRY(_i386_enter_uts) addl 16(%edx), %eax /* add length */ movl %eax, %esp /* switch to uts stack */ pushl 4(%edx) /* push the address of the mailbox */ - pushl 8(%edx) /* .. the uts can return to itself */ - pushl 8(%edx) /* .. the uts can return to itself */ + call *8(%edx) ret |