[movitz-cvs] CVS update: movitz/losp/muerte/more-macros.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Wed Jun 9 23:04:26 UTC 2004


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 at 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))
 	 , at 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.
 





More information about the Movitz-cvs mailing list