Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv20961
Modified Files: basic-macros.lisp Log Message: The layout of heap objects has been changed such that the type-code is now the "first" byte in the object.
Date: Fri May 21 05:40:48 2004 Author: ffjeld
Index: movitz/losp/muerte/basic-macros.lisp diff -u movitz/losp/muerte/basic-macros.lisp:1.18 movitz/losp/muerte/basic-macros.lisp:1.19 --- movitz/losp/muerte/basic-macros.lisp:1.18 Thu May 20 13:43:46 2004 +++ movitz/losp/muerte/basic-macros.lisp Fri May 21 05:40:48 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Wed Nov 8 18:44:57 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: basic-macros.lisp,v 1.18 2004/05/20 17:43:46 ffjeld Exp $ +;;;; $Id: basic-macros.lisp,v 1.19 2004/05/21 09:40:48 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -522,9 +522,10 @@ (:globally (:call (:edi (:edi-offset malloc)))) (:addl ,(if (integerp tag) tag (movitz::tag tag)) :eax) ,@(when (and (eq tag :other) other-tag (not wide-other-tag)) - `((:movb ,(movitz::tag other-tag) (:eax -2)))) + `((:movb ,(movitz::tag other-tag) (:eax ,movitz:+other-type-offset+)))) ,@(when (and (eq tag :other) other-tag wide-other-tag) - `((:movw ,(dpb wide-other-tag (byte 8 8) (movitz::tag other-tag)) (:eax -2)))))) + `((:movw ,(dpb wide-other-tag (byte 8 8) (movitz:tag other-tag)) + (:eax ,movitz:+other-type-offset+))))))
(defmacro check-type (place type &optional type-string) (if (not (stringp type-string)) @@ -693,7 +694,7 @@ (:cmpb 7 :cl) (:jne '(:sub-program (not-funobj) (:int 69))) - (:cmpb ,(movitz::tag :funobj) (:edx -2)) + (:cmpb ,(movitz:tag :funobj) (:edx ,movitz:+other-type-offset+)) (:jne 'not-funobj) (:movl :edx :esi) funobj-ok @@ -743,7 +744,7 @@ (:testb 7 :cl) (:jne '(:sub-program (not-funobj) (:int 69))) - (:cmpb ,(movitz::tag :funobj) (:edx -2)) + (:cmpb ,(movitz::tag :funobj) (:edx ,movitz:+other-type-offset+)) (:jne 'not-funobj) (:movl :edx :esi) funobj-ok @@ -765,7 +766,7 @@ (:cmpb 7 :cl) (:jnz '(:sub-program (not-funobj) (:int 69))) - (:cmpb ,(movitz::tag :funobj) (:edx -2)) + (:cmpb ,(movitz::tag :funobj) (:edx ,movitz:+other-type-offset+)) (:jne 'not-funobj) (:movl :edx :esi) funobj-ok @@ -787,7 +788,7 @@ (:cmpb 7 :cl) (:jnz '(:sub-program (not-funobj) (:int 69))) - (:cmpb ,(movitz::tag :funobj) (:edx -2)) + (:cmpb ,(movitz::tag :funobj) (:edx ,movitz:+other-type-offset+)) (:jne 'not-funobj) (:movl :edx :esi) funobj-ok