X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Froom.lisp;h=6c8625a1f6d0479af19598ddac4ef9b6765a75f5;hb=8b78dfb8dc6c72c73a9c1732f0869e3f02281519;hp=df09fbef15f2d499868c0be92ebd5b9413feb28a;hpb=2db3b6b4cb740d5b6512459c223859f747807b09;p=sbcl.git diff --git a/src/code/room.lisp b/src/code/room.lisp index df09fbe..6c8625a 100644 --- a/src/code/room.lisp +++ b/src/code/room.lisp @@ -132,7 +132,8 @@ (values (int-sap read-only-space-start) (int-sap (* *read-only-space-free-pointer* n-word-bytes)))) (:dynamic - (values (int-sap dynamic-space-start) + (values (int-sap #!+gencgc dynamic-space-start + #!-gencgc (current-dynamic-space-start)) (dynamic-space-free-pointer))))) ;;; Return the total number of bytes used in SPACE. @@ -499,19 +500,19 @@ (when (eql type instance-header-widetag) (incf total-objects) (incf total-bytes size) - (let* ((class (layout-class (%instance-ref obj 0))) - (found (gethash class totals))) + (let* ((classoid (layout-classoid (%instance-ref obj 0))) + (found (gethash classoid totals))) (cond (found (incf (the fixnum (car found))) (incf (the fixnum (cdr found)) size)) (t - (setf (gethash class totals) (cons 1 size))))))) + (setf (gethash classoid totals) (cons 1 size))))))) space) (collect ((totals-list)) - (maphash (lambda (class what) + (maphash (lambda (classoid what) (totals-list (cons (prin1-to-string - (class-proper-name class)) + (classoid-proper-name classoid)) what))) totals) (let ((sorted (sort (totals-list) #'> :key #'cddr))