diff options
author | Richard M. Stallman <rms@gnu.org> | 2005-07-16 19:21:10 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2005-07-16 19:21:10 +0000 |
commit | dc9c856d4f5460b738681e6cec70ff6bf3f60cde (patch) | |
tree | a59480e84ca822529897b4a93a0bb104c1f0f99e /lisp/emacs-lisp/find-gc.el | |
parent | 4185451dc73f896dd31b4dd7d902b10110ab5dcc (diff) | |
download | emacs-dc9c856d4f5460b738681e6cec70ff6bf3f60cde.tar.gz |
(find-gc-subrs-callers): Renamed from find-gc-subrs-used.
(find-gc-subrs-called): Renamed from subrs-called, and defvar'd.
Diffstat (limited to 'lisp/emacs-lisp/find-gc.el')
-rw-r--r-- | lisp/emacs-lisp/find-gc.el | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/lisp/emacs-lisp/find-gc.el b/lisp/emacs-lisp/find-gc.el index 91d1f016627..8d3b0b02a4e 100644 --- a/lisp/emacs-lisp/find-gc.el +++ b/lisp/emacs-lisp/find-gc.el @@ -34,8 +34,14 @@ (defvar find-gc-source-directory) -(defvar find-gc-subrs-used nil - "List of subrs used so far in GC testing.") +(defvar find-gc-subrs-callers nil + "Alist of users of subrs, from GC testing. +Each entry has the form (FUNCTION . FUNCTIONS-THAT-CALL-IT).") + +(defvar find-gc-subrs-called nil + "Alist of subrs called, in GC testing. +Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).") + ;;; Functions on this list are safe, even if they appear to be able ;;; to call the target. @@ -84,9 +90,9 @@ Also store it in `find-gc-unsafe'." ) (defun trace-unsafe (func) - (let ((used (assq func find-gc-subrs-used))) + (let ((used (assq func find-gc-subrs-callers))) (or used - (error "No find-gc-subrs-used for %s" (car find-gc-unsafe-list))) + (error "No find-gc-subrs-callers for %s" (car find-gc-unsafe-list))) (while (setq used (cdr used)) (or (assq (car used) find-gc-unsafe-list) (memq (car used) find-gc-noreturn-list) @@ -97,8 +103,6 @@ Also store it in `find-gc-unsafe'." -;;; This produces an a-list of functions in subrs-called. The cdr of -;;; each entry is a list of functions which the function in car calls. (defun trace-call-tree (&optional already-setup) (message "Setting up directories...") @@ -112,7 +116,7 @@ Also store it in `find-gc-unsafe'." find-gc-source-directory)))) (save-excursion (set-buffer (get-buffer-create "*Trace Call Tree*")) - (setq subrs-called nil) + (setq find-gc-subrs-called nil) (let ((case-fold-search nil) (files find-gc-source-files) name entry) @@ -131,7 +135,7 @@ Also store it in `find-gc-unsafe'." (match-end 0)))) (message "%s : %s" (car files) name) (setq entry (list name) - subrs-called (cons entry subrs-called))) + find-gc-subrs-called (cons entry find-gc-subrs-called))) (if (looking-at ".*\n?.*\"\\([A-Za-z0-9_]+\\)\"") (progn (setq name (intern (buffer-substring (match-beginning 1) @@ -143,17 +147,14 @@ Also store it in `find-gc-unsafe'." ) -;;; This produces an inverted a-list in find-gc-subrs-used. The cdr of each -;;; entry is a list of functions that call the function in car. - (defun trace-use-tree () - (setq find-gc-subrs-used (mapcar 'list (mapcar 'car subrs-called))) - (let ((ptr subrs-called) + (setq find-gc-subrs-callers (mapcar 'list (mapcar 'car find-gc-subrs-called))) + (let ((ptr find-gc-subrs-called) p2 found) (while ptr (setq p2 (car ptr)) (while (setq p2 (cdr p2)) - (if (setq found (assq (car p2) find-gc-subrs-used)) + (if (setq found (assq (car p2) find-gc-subrs-callers)) (setcdr found (cons (car (car ptr)) (cdr found))))) (setq ptr (cdr ptr)))) ) |