Skip to content
Snippets Groups Projects
Commit b1897906 authored by ch's avatar ch
Browse files

Fixed the call out code to save CODE on the stack and restore it and the

LRA from the stack.  This allows a GC to occur if an interrupt happens
during call out.
parent 1f74edc2
No related branches found
No related tags found
No related merge requests found
/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/mips-assem.s,v 1.5 1990/05/24 17:44:00 wlott Exp $ */
/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/mips-assem.s,v 1.6 1990/05/26 01:21:53 ch Exp $ */
#include <machine/regdef.h>
#include "lisp.h"
......@@ -193,6 +193,7 @@ call_into_c:
addu CSP, CONT, 32
sw OLDCONT, 0(CONT)
sw LRA, 4(CONT)
sw CODE, 8(CONT)
/* Note: the C stack is already set up. */
......@@ -271,6 +272,10 @@ call_into_c:
.set reorder
/* Restore LRA & CODE (they may have been GC'ed) */
lw CODE, 8(CONT)
lw LRA, 4(CONT)
/* Reset the lisp stack. */
/* Note: OLDCONT and CONT are in saved regs. */
move CSP, CONT
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment