[movitz-cvs] CVS update: movitz/special-operators.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Sat Feb 14 15:18:54 UTC 2004
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv10112
Modified Files:
special-operators.lisp
Log Message:
Added an experimental macro for inline assembly, :lexical-binding.
Date: Sat Feb 14 10:18:54 2004
Author: ffjeld
Index: movitz/special-operators.lisp
diff -u movitz/special-operators.lisp:1.11 movitz/special-operators.lisp:1.12
--- movitz/special-operators.lisp:1.11 Fri Feb 13 05:39:37 2004
+++ movitz/special-operators.lisp Sat Feb 14 10:18:54 2004
@@ -8,7 +8,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Fri Nov 24 16:22:59 2000
;;;;
-;;;; $Id: special-operators.lisp,v 1.11 2004/02/13 10:39:37 ffjeld Exp $
+;;;; $Id: special-operators.lisp,v 1.12 2004/02/14 15:18:54 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -560,6 +560,13 @@
(destructuring-bind (var reg &key (type t))
(cdr expr)
`((:store-lexical ,(movitz-binding var env) ,reg :type ,type)))))
+ (setf (assembly-macro-expander :lexical-binding amenv)
+ (lambda (expr)
+ (destructuring-bind (var)
+ (cdr expr)
+ (let ((binding (movitz-binding var env)))
+ (check-type binding lexical-binding)
+ (list binding)))))
(let ((code (assembly-macroexpand inline-asm amenv)))
(assert (not (and (not side-effects)
(tree-search code '(:store-lexical))))
More information about the Movitz-cvs
mailing list