Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv18632
Modified Files: more-macros.lisp Log Message: Moved %bignum-bigits compiler-macro here.
Date: Wed Jun 9 16:04:26 2004 Author: ffjeld
Index: movitz/losp/muerte/more-macros.lisp diff -u movitz/losp/muerte/more-macros.lisp:1.9 movitz/losp/muerte/more-macros.lisp:1.10 --- movitz/losp/muerte/more-macros.lisp:1.9 Wed Jun 9 10:22:51 2004 +++ movitz/losp/muerte/more-macros.lisp Wed Jun 9 16:04:26 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Fri Jun 7 15:05:57 2002 ;;;; -;;;; $Id: more-macros.lisp,v 1.9 2004/06/09 17:22:51 ffjeld Exp $ +;;;; $Id: more-macros.lisp,v 1.10 2004/06/09 23:04:26 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -311,6 +311,15 @@ (let ((,object-var ,instance-form)) ,@declarations-and-forms))))
+ +(define-compiler-macro %bignum-bigits (x) + `(with-inline-assembly (:returns :eax) + (:compile-form (:result-mode :eax) ,x) + (:movzxw (:eax ,(bt:slot-offset 'movitz::movitz-bignum + 'movitz::length)) + :ecx) + (:leal ((:ecx ,movitz:+movitz-fixnum-factor+)) + :eax)))
;;; Some macros that aren't implemented, and we want to give compiler errors.