From 5a8622ba2c623c60fab5b2784d5f15eeebcf46f2 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Mon, 28 Dec 2020 12:59:12 +0100 Subject: Reorder subr register function arguments to make some room * src/comp.c (Fcomp__register_lambda, Fcomp__register_subr) (Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and 'intspec' parameters. * lisp/emacs-lisp/comp.el (comp-emit-for-top-level) (comp-emit-lambda-for-top-level): Update. --- lisp/emacs-lisp/comp.el | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'lisp/emacs-lisp/comp.el') diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 2ca7c50045e..3b84569c458 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -1693,17 +1693,17 @@ the annotation emission." 'comp--late-register-subr 'comp--register-subr) (make-comp-mvar :constant name) + (make-comp-mvar :constant c-name) (car args) (cdr args) - (make-comp-mvar :constant c-name) (make-comp-mvar :constant - (let* ((h (comp-ctxt-function-docs comp-ctxt)) - (i (hash-table-count h))) - (puthash i (comp-func-doc f) h) - i)) - (make-comp-mvar :constant - (comp-func-int-spec f)) + (list + (let* ((h (comp-ctxt-function-docs comp-ctxt)) + (i (hash-table-count h))) + (puthash i (comp-func-doc f) h) + i) + (comp-func-int-spec f))) ;; This is the compilation unit it-self passed as ;; parameter. (make-comp-mvar :slot 0)))))) @@ -1734,15 +1734,17 @@ These are stored in the reloc data array." (puthash (comp-func-byte-func func) (make-comp-mvar :constant nil) (comp-ctxt-lambda-fixups-h comp-ctxt))) + (make-comp-mvar :constant (comp-func-c-name func)) (car args) (cdr args) - (make-comp-mvar :constant (comp-func-c-name func)) (make-comp-mvar - :constant (let* ((h (comp-ctxt-function-docs comp-ctxt)) - (i (hash-table-count h))) - (puthash i (comp-func-doc func) h) - i)) - (make-comp-mvar :constant (comp-func-int-spec func)) + :constant + (list + (let* ((h (comp-ctxt-function-docs comp-ctxt)) + (i (hash-table-count h))) + (puthash i (comp-func-doc func) h) + i) + (comp-func-int-spec func))) ;; This is the compilation unit it-self passed as ;; parameter. (make-comp-mvar :slot 0))))) -- cgit v1.2.3