diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-12-28 12:59:12 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-12-28 16:13:31 +0100 |
commit | 5a8622ba2c623c60fab5b2784d5f15eeebcf46f2 (patch) | |
tree | 30ae25b35f763f50126f2e86283646c73cfe5b18 /lisp/emacs-lisp/comp.el | |
parent | eafcc8eda0a78e78d1a53b30dafb22786dd60591 (diff) | |
download | emacs-5a8622ba2c623c60fab5b2784d5f15eeebcf46f2.tar.gz emacs-5a8622ba2c623c60fab5b2784d5f15eeebcf46f2.tar.bz2 emacs-5a8622ba2c623c60fab5b2784d5f15eeebcf46f2.zip |
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.
Diffstat (limited to 'lisp/emacs-lisp/comp.el')
-rw-r--r-- | lisp/emacs-lisp/comp.el | 28 |
1 files changed, 15 insertions, 13 deletions
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))))) |