[Openmcl-cvs-notifications] Commit: ccl/lisp-kernel
gb@clozure.com
gb at clozure.com
Tue May 9 02:23:30 MDT 2006
Affected files with versions:
ppc-exceptions.c,1.70
-----------------------------------
Details:
Update of /usr/local/tmpcvs/openmcl-dev/ccl/lisp-kernel
In directory clozure.com:/tmp/cvs-serv48186/lisp-kernel
Modified Files:
ppc-exceptions.c
Log Message:
Lots of #ifdef DEBUG fprintfs.
Change the way that pc_luser_xp() and normalize_tcr() handle alloc regs/
saved TCR fields. The general idea is that the after they run, all
threads have tcr->save_allocptr/tcr_save_allocbase set to VOID_ALLOCPTR;
if the thread was interrupted in lisp code, the allocbase register will
be set to VOID_ALLOCPTR and allocptr will be set to either VOID_ALLOCPTR
or to VOID_ALLOCPTR-disp.
On an interrupt, the caller needs to pass in a signed_natural * to
pick up the allocptr displacement (if consing was interrupted at the
alloc trap); the interrupt handler uses this value to fix up alloptr
when it returns if consing was interrupted.
This is all pretty clearly right, but something still goes wrong under
some combination of high thread stress, frequent allocation, and
blocking ff-calls.
More information about the Openmcl-cvs-notifications
mailing list