Changeset 6367 for branches/x8664-call


Ignore:
Timestamp:
Apr 29, 2007, 9:31:18 AM (13 years ago)
Author:
gb
Message:

If we interrupt late in the write-barrier, force the thread to return
to the address on the stack (not whatever's in ra0).

Todo: check xcf assumptions about ra0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/lisp-kernel/x86-exceptions.c

    r6353 r6367  
    17371737      }
    17381738    }
    1739     xpPC(xp) = xpGPR(xp,Ira0);
     1739    {
     1740      /* These subprimitives are called via CALL/RET; need
     1741         to pop the return address off the stack and set
     1742         the PC there. */
     1743      LispObj *rsp = (LispObj *)xpGPR(xp,Isp), ra = *rsp++;
     1744      xpPC(xp) = ra;
     1745      xpGPR(xp,Isp)=(LispObj)rsp;
     1746    }
    17401747    return;
    17411748  }
Note: See TracChangeset for help on using the changeset viewer.