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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Nov 11 19:26:15 UTC 2004


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

Modified Files:
	primitive-functions.lisp 
Log Message:
More improved implementation of dynamic binding protocol.

Date: Thu Nov 11 20:26:12 2004
Author: ffjeld

Index: movitz/losp/muerte/primitive-functions.lisp
diff -u movitz/losp/muerte/primitive-functions.lisp:1.50 movitz/losp/muerte/primitive-functions.lisp:1.51
--- movitz/losp/muerte/primitive-functions.lisp:1.50	Thu Nov 11 12:09:37 2004
+++ movitz/losp/muerte/primitive-functions.lisp	Thu Nov 11 20:26:12 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.50 2004/11/11 11:09:37 ffjeld Exp $
+;;;; $Id: primitive-functions.lisp,v 1.51 2004/11/11 19:26:12 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -150,13 +150,14 @@
   "Install each dynamic binding entry between that in ESP and current dynamic-env.
 Preserve EDX."
   (with-inline-assembly (:returns :nothing)
+    ;; Default binding strategy is naive deep binding, so this is a NOP.
     (:ret)))
 
 (define-primitive-function dynamic-variable-uninstall (dynamic-env)
   "Uninstall each dynamic binding between 'here' (i.e. the current 
 dynamic environment pointer) and the dynamic-env pointer provided in EDX.
 This must be done without affecting 'current values'! (i.e. eax, ebx, ecx, or CF),
-and also EDX must not be affected."
+and also EDX must be preserved."
   (with-inline-assembly (:returns :nothing)
     ;; Default binding strategy is naive deep binding, so this is a NOP.
     (:ret)))
@@ -309,6 +310,10 @@
     (:testl :edi :edi)			; clear ZF
    search-failed
     (:ret)))				; success: ZF=0, eax=value
+
+
+
+;;;;;;;;;;;;;; Heap allocation protocol
 
 (define-primitive-function get-cons-pointer ()
   "Return in EAX the next object location with space for EAX words, with tag 6.





More information about the Movitz-cvs mailing list