Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv15777
Modified Files: defstruct.lisp Log Message: Cleaned up most ":int 107" instances. Now, we mostly use the semi-standardized ":int 64" which means that the value in EAX wasn't integer. The default interrupt-handler understands this and signals the appropriate error.
Date: Tue Jul 20 01:54:09 2004 Author: ffjeld
Index: movitz/losp/muerte/defstruct.lisp diff -u movitz/losp/muerte/defstruct.lisp:1.9 movitz/losp/muerte/defstruct.lisp:1.10 --- movitz/losp/muerte/defstruct.lisp:1.9 Thu Jul 15 14:06:55 2004 +++ movitz/losp/muerte/defstruct.lisp Tue Jul 20 01:54:09 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Mon Jan 22 13:10:59 2001 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: defstruct.lisp,v 1.9 2004/07/15 21:06:55 ffjeld Exp $ +;;;; $Id: defstruct.lisp,v 1.10 2004/07/20 08:54:09 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -64,10 +64,10 @@ ;; type test passed, read slot ,@(if (= 4 movitz::+movitz-fixnum-factor+) `((:compile-form (:result-mode :ebx) slot-number) - (:movl (:eax :ebx #.(bt:slot-offset 'movitz::movitz-struct 'movitz::slot0)) + (:movl (:eax :ebx (:offset movitz-struct slot0)) :eax)) `((:compile-form (:result-mode :untagged-fixnum-ecx) slot-number) - (:movl (:eax (:ecx 4) #.(bt:slot-offset 'movitz::movitz-struct 'movitz::slot0)) + (:movl (:eax (:ecx 4) (:offset movitz-struct slot0)) :eax)))))) (do-it)))
@@ -86,12 +86,12 @@ (:movzxw (:eax ,(bt:slot-offset 'movitz::movitz-struct 'movitz::length)) :ecx) (:leal ((:ecx ,movitz::+movitz-fixnum-factor+)) :ecx) (:testb ,movitz::+movitz-fixnum-zmask+ :bl) - (:jnz '(:sub-program (not-fixnum) (:int 107))) + (:jnz '(:sub-program (not-fixnum) (:movl :ebx :eax) (:int 64))) (:cmpl :ecx :ebx) - (:jae '(:sub-program (out-of-range) (:int 61))) - ;; type test passed, read slot - (:compile-form (:result-mode :ecx) value) - (:movl :ecx (:eax :ebx #.(bt:slot-offset 'movitz::movitz-struct 'movitz::slot0)))))) + (:jae '(:sub-program (out-of-range) (:int 65))) + ;; type test passed, write slot + (:compile-form (:result-mode :edx) value) + (:movl :edx (:eax :ebx (:offset movitz-struct slot0)))))) (do-it)))
(defun struct-accessor-prototype (object)