Changeset 5965


Ignore:
Timestamp:
Feb 28, 2007, 6:03:03 AM (18 years ago)
Author:
Gary Byers
Message:

Try to preserve -8(sp) across callback_for_interrupt().

File:
1 edited

Legend:

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

    r5962 r5965  
    441441{
    442442  LispObj save_rbp = xpGPR(xp,Irbp),
    443     save_vsp = xpGPR(xp,Isp),
     443    *save_vsp = (LispObj *)xpGPR(xp,Isp),
     444    word_beyond_vsp = save_vsp[-1],
    444445    xcf = create_exception_callback_frame(xp);
    445446  int save_errno = errno;
     
    447448  callback_to_lisp(tcr, nrs_CMAIN.vcell,xp, xcf, 0, 0, 0, 0);
    448449  xpGPR(xp,Irbp) = save_rbp;
    449   xpGPR(xp,Isp) = save_vsp;
     450  xpGPR(xp,Isp) = (LispObj)save_vsp;
     451  save_vsp[-1] = word_beyond_vsp;
    450452  errno = save_errno;
    451453}
Note: See TracChangeset for help on using the changeset viewer.