emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp 3e38435 5/5: * Fix 'comp-call-optim pass' for anonym


From: Andrea Corallo
Subject: feature/native-comp 3e38435 5/5: * Fix 'comp-call-optim pass' for anonymous lambdas
Date: Sun, 1 Nov 2020 09:18:35 -0500 (EST)

branch: feature/native-comp
commit 3e3843512bfae0b7a532f633e45d4c140807ec9b
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>

    * 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.
---
 lisp/emacs-lisp/comp.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 9b26f6c..b35fe9b 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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]