summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-12-28 12:59:12 +0100
committerAndrea Corallo <akrl@sdf.org>2020-12-28 16:13:31 +0100
commit5a8622ba2c623c60fab5b2784d5f15eeebcf46f2 (patch)
tree30ae25b35f763f50126f2e86283646c73cfe5b18 /lisp/emacs-lisp/comp.el
parenteafcc8eda0a78e78d1a53b30dafb22786dd60591 (diff)
downloademacs-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.el28
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)))))