Fix free function compilation
This commit is contained in:
parent
53f9bc6908
commit
530faee275
2 changed files with 6 additions and 4 deletions
|
@ -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))
|
||||
|
|
|
@ -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))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue