summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2002-11-23 04:39:52 +0000
committerdavidxu <davidxu@FreeBSD.org>2002-11-23 04:39:52 +0000
commitdee681e4f388d3885f209446417bf5ac430ac640 (patch)
tree447c8df543bc6dafb514c86a4cc80347392a9c6a /lib
parent2918fada1083f5c5bd633b163eca1df73c7a97da (diff)
downloadFreeBSD-src-dee681e4f388d3885f209446417bf5ac430ac640.zip
FreeBSD-src-dee681e4f388d3885f209446417bf5ac430ac640.tar.gz
Directly load %edx from mailbox
Diffstat (limited to 'lib')
-rw-r--r--lib/libpthread/arch/i386/i386/thr_switch.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/libpthread/arch/i386/i386/thr_switch.S b/lib/libpthread/arch/i386/i386/thr_switch.S
index 51dcc2c..db32e55 100644
--- a/lib/libpthread/arch/i386/i386/thr_switch.S
+++ b/lib/libpthread/arch/i386/i386/thr_switch.S
@@ -82,13 +82,12 @@ ENTRY(_thread_switch)
pushl 68(%edx) /* flags on stack */
pushl 36(%edx) /* %ebx on stack */
pushl 44(%edx) /* %ecx on stack */
- pushl 40(%edx) /* %edx on stack */
+ movl 40(%edx), %edx /* %edx */
/*
- * all registers are now moved out of mailbox
- * it's now safe to set current thread pointer
+ * all registers are now moved out of mailbox,
+ * it's safe to set current thread pointer
*/
movl %ebx,(%ecx)
- popl %edx /* %edx off stack */
popl %ecx /* %ecx off stack */
popl %ebx /* %ebx off stack */
popf /* flags off stack */
OpenPOWER on IntegriCloud