[movitz-cvs] CVS update: movitz/losp/muerte/symbols.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Nov 18 17:59:18 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv27873
Modified Files:
symbols.lisp
Log Message:
Changed dynamic binding lookup protocol. Only use the "unbounded"
primitive-function, and have the caller check whether the value is the
unbound-value or not. And, rename to dynamic-variable-lookup.
Date: Thu Nov 18 18:59:12 2004
Author: ffjeld
Index: movitz/losp/muerte/symbols.lisp
diff -u movitz/losp/muerte/symbols.lisp:1.24 movitz/losp/muerte/symbols.lisp:1.25
--- movitz/losp/muerte/symbols.lisp:1.24 Wed Nov 17 14:33:42 2004
+++ movitz/losp/muerte/symbols.lisp Thu Nov 18 18:59:11 2004
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Tue Sep 4 23:55:41 2001
;;;;
-;;;; $Id: symbols.lisp,v 1.24 2004/11/17 13:33:42 ffjeld Exp $
+;;;; $Id: symbols.lisp,v 1.25 2004/11/18 17:59:11 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -45,14 +45,16 @@
(symbol
(with-inline-assembly (:returns :eax)
(:compile-form (:result-mode :eax) symbol)
- (:call-local-pf dynamic-variable-lookup)))))
+ (:call-local-pf dynamic-variable-lookup)
+ (:locally (:cmpl :eax (:edi (:edi-offset unbound-value))))
+ (:je '(:sub-program (unbound) (:int 99)))))))
(defun %unbounded-symbol-value (symbol)
"Return the symbol's value without checking if it's bound or not."
(check-type symbol symbol)
(with-inline-assembly (:returns :eax)
(:compile-form (:result-mode :eax) symbol)
- (:call-local-pf dynamic-variable-lookup-unbound)
+ (:call-local-pf dynamic-variable-lookup)
done))
(defun (setf symbol-value) (value symbol)
More information about the Movitz-cvs
mailing list