- Timestamp:
- Nov 15, 2007, 4:21:12 PM (17 years ago)
- File:
-
- 1 edited
-
branches/working-0711/ccl/lib/misc.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/working-0711/ccl/lib/misc.lisp
r7624 r7652 737 737 (values))) 738 738 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 765 782 766 783 (defun report-heap-utilization (out nconses nvectors vector-sizes) … … 771 788 (sizes (aref vector-sizes i))) 772 789 (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))))) 774 791 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.
