[movitz-cvs] CVS update: movitz/losp/muerte/primitive-functions.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Sat Sep 25 15:51:23 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv11099

Modified Files:
	primitive-functions.lisp 
Log Message:
Added "RET atomification". I.e. when an interrupt occurs just before a
RET instruction, EIP is moved to a well-known code-vector that just
does the same RET. The point is that otherwise it's impossible (or too
difficult) to figure out which code-vector EIP references.

Date: Sat Sep 25 17:51:22 2004
Author: ffjeld

Index: movitz/losp/muerte/primitive-functions.lisp
diff -u movitz/losp/muerte/primitive-functions.lisp:1.44 movitz/losp/muerte/primitive-functions.lisp:1.45
--- movitz/losp/muerte/primitive-functions.lisp:1.44	Wed Sep 22 16:48:27 2004
+++ movitz/losp/muerte/primitive-functions.lisp	Sat Sep 25 17:51:22 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Tue Oct  2 21:02:18 2001
 ;;;;                
-;;;; $Id: primitive-functions.lisp,v 1.44 2004/09/22 14:48:27 ffjeld Exp $
+;;;; $Id: primitive-functions.lisp,v 1.45 2004/09/25 15:51:22 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -714,4 +714,7 @@
 
 ;;;;;;
 
-
+(define-primitive-function ret-trampoline ()
+  "This is the global RET trampoline, used to achieve stack discipline."
+  (with-inline-assembly (:returns :multiple-values)
+    (:ret)))





More information about the Movitz-cvs mailing list