[Openmcl-cvs-notifications] r7806 - /trunk/ccl/lisp-kernel/x86-exceptions.c
gb at clozure.com
gb at clozure.com
Mon Dec 3 04:28:46 MST 2007
Author: gb
Date: Mon Dec 3 06:28:46 2007
New Revision: 7806
Log:
Complain if lisp stack pointer isn't in lisp stack when calling out
for process-interrupt.
Modified:
trunk/ccl/lisp-kernel/x86-exceptions.c
Modified: trunk/ccl/lisp-kernel/x86-exceptions.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/ccl/lisp-kernel/x86-exceptions.c (original)
+++ trunk/ccl/lisp-kernel/x86-exceptions.c Mon Dec 3 06:28:46 2007
@@ -1216,6 +1216,16 @@
q;
natural old_foreign_exception =3D tcr->flags & (1 << TCR_FLAG_BIT_=
FOREIGN_EXCEPTION);
=
+ {
+ BytePtr interrupted_sp =3D (BytePtr)xpGPR(context, Isp);
+ area *vs_area =3D tcr->vs_area;
+
+ if ((interrupted_sp < vs_area->low) ||
+ (interrupted_sp > vs_area->high)) {
+ Bug(context, "lisp stack pointer not in lisp stack");
+ }
+ }
+ =
tcr->flags &=3D ~(1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
=
if (next_tsp !=3D save_tsp) {
More information about the Openmcl-cvs-notifications
mailing list