Changeset 7806


Ignore:
Timestamp:
Dec 3, 2007, 11:28:46 AM (12 years ago)
Author:
gb
Message:

Complain if lisp stack pointer isn't in lisp stack when calling out
for process-interrupt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/x86-exceptions.c

    r7779 r7806  
    12171217        natural old_foreign_exception = tcr->flags & (1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
    12181218
     1219        {
     1220          BytePtr interrupted_sp = (BytePtr)xpGPR(context, Isp);
     1221          area *vs_area = tcr->vs_area;
     1222
     1223          if ((interrupted_sp < vs_area->low) ||
     1224              (interrupted_sp > vs_area->high)) {
     1225            Bug(context, "lisp stack pointer not in lisp stack");
     1226          }
     1227        }
     1228         
    12191229        tcr->flags &= ~(1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
    12201230           
Note: See TracChangeset for help on using the changeset viewer.