Update spill LAP machinery and compile anonymous lambdas
authorAndrea Corallo <akrl@sdf.org>
Fri, 1 May 2020 16:32:39 +0000 (17:32 +0100)
committerAndrea Corallo <akrl@sdf.org>
Thu, 14 May 2020 20:50:31 +0000 (21:50 +0100)
commita335f7eeacd5381af1d8ef38a4c2b8e832ca96fa
treea24de5a291bd3ba4d8ad796c745696a9558c6fcf
parent28df049b8d43586d5a91a7b3e1d9e05131572afc
Update spill LAP machinery and compile anonymous lambdas

* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of
byte-to-native-lambdas-h and update for 'byte-to-native-func-def'.
(comp-spill-lap-function): Rework logic to retrive LAP using
'byte-to-native-lambdas-h'.
(comp-emit-for-top-level): Update for 'byte-to-native-function'.

* lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP
mechanism.
(byte-to-native-lambda, byte-to-native-func-def): New structures.
(byte-to-native-top-level): Indent.
(byte-to-native-lambdas-h): Update doc.
(byte-compile-lapcode): Add a 'byte-to-native-lambda' instance
into byte-to-native-lambdas-h instead of just LAP.
(byte-compile-file-form-defmumble): Store into
'byte-to-native-func-def' only the byte compiled function, the LAP
will be retrived through 'byte-to-native-lambdas-h'.
(byte-compile-lambda): Return the byte compiled function.
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/comp.el