Raymond Toy pushed to branch master at cmucl / cmucl
Commits: 20de3e8e by Jon Boone at 2021-04-09T20:59:59+00:00 adds additional keyword arguments to instance-usage for more fine-grained tracking of space allocation
- - - - - 68e97641 by Raymond Toy at 2021-04-09T21:00:00+00:00 Merge branch 'org.cmucl.debug.dynamic-space' into 'master'
adding additional keyword arguments to instance-usage ....
See merge request cmucl/cmucl!74 - - - - -
2 changed files:
- src/code/room.lisp - src/i18n/locale/cmucl.pot
Changes:
===================================== src/code/room.lisp ===================================== @@ -707,11 +707,24 @@ ;;; INSTANCE-USAGE -- Public ;;; -(defun instance-usage (space &key (top-n 15)) - (declare (type spaces space) (type (or fixnum null) top-n)) - "Print a breakdown by instance type of all the instances allocated in - Space. If TOP-N is true, print only information for the the TOP-N types with - largest usage." +(defun instance-usage (space &key + (top-n 15) + entries-var + (call-source "Unknown Caller")) + "Print a breakdown by instance type of all the allocation in Space. + + :TOP-N + If true, print only the TOP-N types by largest usage. + + :ENTRIES-VAR + If bound, contains the name of the symbol used to store the hash-table + of allocated entries for later processing. + + :CALL-SOURCE + A string identifying the location from which instance-usage was called." + + (declare (type spaces space) (type (or fixnum null) top-n) + (type (or symbol null) entries-var) (type string call-source)) (format t (intl:gettext "~2&~@[Top ~D ~]~(~A~) instance types:~%") top-n space) (let ((totals (make-hash-table :test #'eq)) (total-objects 0) @@ -734,6 +747,10 @@ space)
(collect ((totals-list)) + ;; set entries-var to the list of entries in totals + (when entries-var + (setf (symbol-value entries-var) (list call-source totals))) + (maphash #'(lambda (class what) (totals-list (cons (prin1-to-string (class-proper-name class))
===================================== src/i18n/locale/cmucl.pot ===================================== @@ -6333,10 +6333,19 @@ msgstr ""
#: src/code/room.lisp msgid "" -"Print a breakdown by instance type of all the instances allocated in\n" -" Space. If TOP-N is true, print only information for the the TOP-N types " -"with\n" -" largest usage." +"Print a breakdown by instance type of all the allocation in Space. \n" +"\n" +" :TOP-N \n" +" If true, print only the TOP-N types by largest usage.\n" +"\n" +" :ENTRIES-VAR\n" +" If bound, contains the name of the symbol used to store the hash-table" +"\n" +" of allocated entries for later processing.\n" +"\n" +" :CALL-SOURCE\n" +" A string identifying the location from which instance-usage was " +"called." msgstr ""
#: src/code/room.lisp
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/5c92c14c7a8497c7f6bf867...