Changeset 7652


Ignore:
Timestamp:
Nov 16, 2007, 12:21:12 AM (12 years ago)
Author:
gb
Message:

Implement REPORT-HEAP-UTILIZATION for PPC, too.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/lib/misc.lisp

    r7624 r7652  
    737737    (values)))
    738738
    739 #+x8664-target
    740 (progn
    741   (defvar *x8664-vector-type-names*
    742     (let* ((a (make-array 256)))
    743       (dotimes (i 256 a)
    744         (let* ((fulltag (logand i x8664::fulltagmask))
    745                (names-vector
    746                 (cond ((= fulltag x8664::fulltag-nodeheader-0)
    747                        *nodeheader-0-types*)
    748                       ((= fulltag x8664::fulltag-nodeheader-1)
    749                        *nodeheader-1-types*)
    750                       ((= fulltag x8664::fulltag-immheader-0)
    751                        *immheader-0-types*)
    752                       ((= fulltag x8664::fulltag-immheader-1)
    753                        *immheader-1-types*)
    754                       ((= fulltag x8664::fulltag-immheader-2)
    755                        *immheader-2-types*)))
    756                (name (if names-vector
    757                        (aref names-vector (ash i -4)))))
    758           ;; Special-case a few things ...
    759           (if (eq name 'symbol-vector)
    760             (setq name 'symbol)
    761             (if (eq name 'function-vector)
    762               (setq name 'function)))
    763           (setf (aref a i) name)))))
    764        
     739(defvar *heap-utilization-vector-type-names*
     740  (let* ((a (make-array 256)))
     741    #+x8664-target
     742    (dotimes (i 256)
     743      (let* ((fulltag (logand i x8664::fulltagmask))
     744             (names-vector
     745              (cond ((= fulltag x8664::fulltag-nodeheader-0)
     746                     *nodeheader-0-types*)
     747                    ((= fulltag x8664::fulltag-nodeheader-1)
     748                     *nodeheader-1-types*)
     749                    ((= fulltag x8664::fulltag-immheader-0)
     750                     *immheader-0-types*)
     751                    ((= fulltag x8664::fulltag-immheader-1)
     752                     *immheader-1-types*)
     753                    ((= fulltag x8664::fulltag-immheader-2)
     754                     *immheader-2-types*)))
     755             (name (if names-vector
     756                     (aref names-vector (ash i -4)))))
     757        ;; Special-case a few things ...
     758        (if (eq name 'symbol-vector)
     759          (setq name 'symbol)
     760          (if (eq name 'function-vector)
     761            (setq name 'function)))
     762        (setf (aref a i) name)))
     763    #+ppc64-target
     764    (dotimes (i 256)
     765      (let* ((lowtag (logand i ppc64::lowtagmask)))
     766        (setf (%svref a i)
     767              (cond ((= lowtag ppc64::lowtag-immheader)
     768                     (%svref *immheader-types* (ash i -2)))
     769                    ((= lowtag ppc64::lowtag-nodeheader)
     770                     (%svref *nodeheader-types* (ash i -2)))))))
     771    #+ppc32-target
     772    (dotimes (i 256)
     773      (let* ((fulltag (logand i ppc32::fulltagmask)))
     774        (setf (%svref a i)
     775              (cond ((= fulltag ppc32::fulltag-immheader)
     776                     (%svref *immheader-types* (ash i -3)))
     777                    ((= fulltag ppc32::fulltag-nodeheader)
     778                     (%svref *nodeheader-types* (ash i -3)))))))
     779    a))
     780
     781 
    765782   
    766783(defun report-heap-utilization (out nconses nvectors vector-sizes)
     
    771788           (sizes (aref vector-sizes i)))
    772789      (unless (zerop count)
    773         (format out "~&~a~36t~12d~48t~16d" (aref *x8664-vector-type-names* i)  count sizes)))))
     790        (format out "~&~a~36t~12d~48t~16d" (aref *heap-utilization-vector-type-names* i)  count sizes)))))
    774791                           
    775 )
    776 
    777 #-x8664-target
    778 (eval-when (:compile-toplevel)
    779   (warn "Need PPC versions of REPORT-HEAP-UTILIZATION"))
    780 
     792
     793
Note: See TracChangeset for help on using the changeset viewer.