emacs-diffs
[Top][All Lists]
Advanced

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

feature/native-comp 530faee 09/10: Fix free function compilation


From: Andrea Corallo
Subject: feature/native-comp 530faee 09/10: Fix free function compilation
Date: Sun, 29 Mar 2020 09:12:53 -0400 (EDT)

branch: feature/native-comp
commit 530faee2752c7b316fa21f2ac4d1266d3e7a38e6
Author: Andrea Corallo <address@hidden>
Commit: Andrea Corallo <address@hidden>

    Fix free function compilation
---
 lisp/emacs-lisp/bytecomp.el | 3 ++-
 lisp/emacs-lisp/comp.el     | 7 ++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 977f137..b363107 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -3120,7 +3120,8 @@ for symbols generated by the byte compiler itself."
              (out (list 'byte-code (byte-compile-lapcode byte-compile-output)
                        byte-compile-vector byte-compile-maxdepth)))
         (when (and byte-native-compiling
-                   (null byte-compile-not-top-level))
+                   (or (null byte-compile-not-top-level)
+                       (eq byte-native-compiling 'free-func)))
           ;; Spill LAP for the native compiler here
           (push (cons byte-compile-current-form byte-compile-output)
                 byte-to-native-lap))
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 92d0655..d29e2f5 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -514,7 +514,8 @@ Put PREFIX in front of it."
 
 (cl-defgeneric comp-spill-lap-function ((function-name symbol))
   "Byte compile FUNCTION-NAME spilling data from the byte compiler."
-  (let* ((f (symbol-function function-name))
+  (let* ((byte-native-compiling 'free-func)
+         (f (symbol-function function-name))
          (c-name (comp-c-func-name function-name "F"))
          (func (make-comp-func :name function-name
                                :c-name c-name
@@ -536,8 +537,8 @@ Put PREFIX in front of it."
                 (comp-func-frame-size func)
                 (comp-byte-frame-size (comp-func-byte-func func))))
         (setf (comp-ctxt-top-level-forms comp-ctxt)
-              (list (make-byte-to-native-function :name function-name)))
-        (setf (byte-to-native-function-c-name func) c-name)
+              (list (make-byte-to-native-function :name function-name
+                                                  :c-name c-name)))
         ;; Create the default array.
         (puthash 0 (comp-func-frame-size func) (comp-func-array-h func))
         (comp-add-func-to-ctxt func))))



reply via email to

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