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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri May 21 09:40:48 UTC 2004


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





More information about the Movitz-cvs mailing list