From e8ef297bbeac81ff6c3fe85d022851c78051019d Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Fri, 23 Feb 2024 16:05:19 +0100 Subject: [PATCH] Clean-up now unnecessary 'comp-primitive-type-specifiers' --- lisp/emacs-lisp/comp-common.el | 11 ----------- lisp/emacs-lisp/comp.el | 17 +++++++++-------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/lisp/emacs-lisp/comp-common.el b/lisp/emacs-lisp/comp-common.el index 3aa0da60440..683cf9166c8 100644 --- a/lisp/emacs-lisp/comp-common.el +++ b/lisp/emacs-lisp/comp-common.el @@ -68,17 +68,6 @@ Used to modify the compiler environment." :risky t :version "28.1") -(defconst comp-primitive-type-specifiers - (let (res) - (mapatoms (lambda (atom) - (when-let ((f (symbol-function atom)) - (primitive (subr-primitive-p f)) - (type (subr-type f))) - (push `(,atom ,type) res)))) - res) - "Alist used for type propagation.") - - (defconst comp-limple-calls '(call callref direct-call diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 83130bb3a18..9da2548c54a 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -179,14 +179,15 @@ Each function in FUNCTIONS is run after PASS. Useful to hook into pass checkers.") (defconst comp-primitive-func-cstr-h - (cl-loop - with comp-ctxt = (make-comp-cstr-ctxt) - with h = (make-hash-table :test #'eq) - for (f type-spec) in comp-primitive-type-specifiers - for cstr = (comp-type-spec-to-cstr type-spec) - do (puthash f cstr h) - finally return h) - "Hash table function -> `comp-constraint'.") + (let ((comp-ctxt (make-comp-cstr-ctxt)) + (h (make-hash-table :test #'eq))) + (mapatoms (lambda (atom) + (when-let ((f (symbol-function atom)) + (primitive (subr-primitive-p f)) + (type (subr-type f))) + (puthash f (comp-type-spec-to-cstr type) h)))) + h) + "Hash table primtive -> `comp-constraint'.") (defun comp--get-function-cstr (function) "Given FUNCTION return the corresponding `comp-constraint'."