diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-11-01 13:58:06 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-11-01 15:17:00 +0100 |
commit | 3e3843512bfae0b7a532f633e45d4c140807ec9b (patch) | |
tree | ca42ab8e3e381b2c53044054ae0546f60061cd3f /lisp/emacs-lisp/comp.el | |
parent | 933fd76f8fa4583aa3c4cc6e6e22f9a96638c5a5 (diff) | |
download | emacs-3e3843512bfae0b7a532f633e45d4c140807ec9b.tar.gz emacs-3e3843512bfae0b7a532f633e45d4c140807ec9b.tar.bz2 emacs-3e3843512bfae0b7a532f633e45d4c140807ec9b.zip |
* Fix 'comp-call-optim pass' for anonymous lambdas
* lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous
lambdas gate.
(comp-call-optim-form-call): Add the correct missing condition.
Diffstat (limited to 'lisp/emacs-lisp/comp.el')
-rw-r--r-- | lisp/emacs-lisp/comp.el | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 9b26f6c4198..b35fe9bfcbb 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2346,6 +2346,7 @@ FUNCTION can be a function-name or byte compiled function." ;; Intra compilation unit procedure call optimization. ;; Attention speed 3 triggers this for non self calls too!! ((and comp-func-callee + (comp-func-c-name comp-func-callee) (or (and (>= (comp-func-speed comp-func) 3) (comp-func-unique-in-cu-p callee)) (and (>= (comp-func-speed comp-func) 2) @@ -2365,9 +2366,7 @@ FUNCTION can be a function-name or byte compiled function." (defun comp-call-optim-func () "Perform the trampoline call optimization for the current function." (cl-loop - with self = (comp-func-name comp-func) for b being each hash-value of (comp-func-blocks comp-func) - when self ;; FIXME add proper anonymous lambda support. do (comp-loop-insn-in-block b (pcase insn (`(set ,lval (callref funcall ,f . ,rest)) |