Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv26048
Modified Files: los-closette.lisp Log Message: This rather substantial check-in is a clean-up of all things related to dynamic memory allocation. In particular, the separation between the muerte kernel with its 'default' memory management (which simply allocates objects consecutively until it runs out) and the los0 GC implementation is improved.
Date: Thu Jul 15 14:07:13 2004 Author: ffjeld
Index: movitz/losp/muerte/los-closette.lisp diff -u movitz/losp/muerte/los-closette.lisp:1.13 movitz/losp/muerte/los-closette.lisp:1.14 --- movitz/losp/muerte/los-closette.lisp:1.13 Mon Jul 12 19:31:24 2004 +++ movitz/losp/muerte/los-closette.lisp Thu Jul 15 14:07:13 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Tue Jul 23 14:29:10 2002 ;;;; -;;;; $Id: los-closette.lisp,v 1.13 2004/07/13 02:31:24 ffjeld Exp $ +;;;; $Id: los-closette.lisp,v 1.14 2004/07/15 21:07:13 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -119,7 +119,7 @@
(defun allocate-std-instance (class slots) - (let ((instance (malloc-clumps 2))) + (let ((instance (malloc-pointer-words 4))) (setf (memref instance #.(bt:slot-offset 'movitz:movitz-struct 'movitz:type) 0 :unsigned-byte8) #.(movitz:tag :std-instance)) @@ -988,6 +988,7 @@ (defclass complex (number) () (:metaclass built-in-class))
(defclass illegal-object (t) () (:metaclass built-in-class)) +(defclass infant-object (t) () (:metaclass built-in-class))
(defclass run-time-context (t) () @@ -1110,7 +1111,7 @@ (check-type class structure-class) (let* ((slots (class-slots class)) (num-slots (length slots)) - (struct (malloc-words num-slots))) + (struct (malloc-pointer-words (+ 2 num-slots)))) (setf (memref struct #.(bt:slot-offset 'movitz::movitz-struct 'movitz::name) 0 :lisp) (class-name class))