Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv23725
Modified Files: more-macros.lisp Log Message: Changed the low-level formatting of bignums: Now the number of bigits is stored as factors of 4. This restricts the number of bigits to (1- (expt 2 14)), which is still plenty.
Date: Mon Jul 12 04:09:29 2004 Author: ffjeld
Index: movitz/losp/muerte/more-macros.lisp diff -u movitz/losp/muerte/more-macros.lisp:1.11 movitz/losp/muerte/more-macros.lisp:1.12 --- movitz/losp/muerte/more-macros.lisp:1.11 Thu Jun 10 12:27:36 2004 +++ movitz/losp/muerte/more-macros.lisp Mon Jul 12 04:09:29 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.11 2004/06/10 19:27:36 ffjeld Exp $ +;;;; $Id: more-macros.lisp,v 1.12 2004/07/12 11:09:29 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -309,12 +309,10 @@
(define-compiler-macro %bignum-bigits (x) - `(with-inline-assembly (:returns :eax) + `(with-inline-assembly (:returns :eax :type (unsigned-byte 14)) (:compile-form (:result-mode :eax) ,x) (:movzxw (:eax ,(bt:slot-offset 'movitz::movitz-bignum 'movitz::length)) - :ecx) - (:leal ((:ecx ,movitz:+movitz-fixnum-factor+)) - :eax))) + :eax)))
;;; Some macros that aren't implemented, and we want to give compiler errors.