diff options
Diffstat (limited to 'lisp/emacs-lisp/memory-report.el')
-rw-r--r-- | lisp/emacs-lisp/memory-report.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/memory-report.el b/lisp/emacs-lisp/memory-report.el index 332749987c4..1cb9ad15316 100644 --- a/lisp/emacs-lisp/memory-report.el +++ b/lisp/emacs-lisp/memory-report.el @@ -48,6 +48,7 @@ by counted more than once." (message "Gathering data...") (let ((reports (append (memory-report--garbage-collect) (memory-report--image-cache) + (memory-report--symbol-plist) (memory-report--buffers) (memory-report--largest-variables))) (inhibit-read-only t) @@ -159,6 +160,17 @@ by counted more than once." "\n")) (buffer-string))))) +(defun memory-report--symbol-plist () + (let ((counted (make-hash-table :test #'eq)) + (total 0)) + (mapatoms + (lambda (symbol) + (cl-incf total (memory-report--object-size + counted (symbol-plist symbol)))) + obarray) + (list + (cons "Memory Used By Symbol Plists" total)))) + (defun memory-report--object-size (counted value) (if (gethash value counted) 0 |