summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2006-07-19 20:38:34 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2006-07-19 20:38:34 +0000
commit4583272cc20630972aa559d2635091ed3845efab (patch)
tree954fb6bedf18b71d3928695702232285547cad5d /sys/arch
parente0f11a304c65bea5a35f5d751aaff718bbebe411 (diff)
Trivial simplification in the signal delivery code; shave one instruction
from sigcode and one computation from sendsig(), isn't life great?
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/vax/vax/machdep.c6
-rw-r--r--sys/arch/vax/vax/subr.s5
2 files changed, 5 insertions, 6 deletions
diff --git a/sys/arch/vax/vax/machdep.c b/sys/arch/vax/vax/machdep.c
index 5992e61675d..74cc151a835 100644
--- a/sys/arch/vax/vax/machdep.c
+++ b/sys/arch/vax/vax/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.81 2006/07/16 22:40:42 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.82 2006/07/19 20:38:33 miod Exp $ */
/* $NetBSD: machdep.c,v 1.108 2000/09/13 15:00:23 thorpej Exp $ */
/*
@@ -508,8 +508,8 @@ sendsig(catcher, sig, mask, code, type, val)
syscf->pc = p->p_sigcode;
syscf->psl = PSL_U | PSL_PREVU;
- syscf->ap = (unsigned) sigf + offsetof(struct sigframe, sf_pc);
- syscf->sp = cursp;
+ syscf->sp = syscf->ap =
+ (unsigned) sigf + offsetof(struct sigframe, sf_pc);
if (onstack)
psp->ps_sigstk.ss_flags |= SS_ONSTACK;
diff --git a/sys/arch/vax/vax/subr.s b/sys/arch/vax/vax/subr.s
index d06e031e9d6..b0d99cd541c 100644
--- a/sys/arch/vax/vax/subr.s
+++ b/sys/arch/vax/vax/subr.s
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr.s,v 1.22 2005/05/06 18:55:02 miod Exp $ */
+/* $OpenBSD: subr.s,v 1.23 2006/07/19 20:38:33 miod Exp $ */
/* $NetBSD: subr.s,v 1.32 1999/03/25 00:41:48 mrg Exp $ */
/*
@@ -99,8 +99,7 @@ eskip:
*/
.globl _sigcode,_esigcode
-_sigcode: addl2 $0x24, sp
- pushr $0x3f
+_sigcode: pushr $0x3f
subl2 $0xc,sp
movl 0x24(sp),r0
calls $3,(r0)