]> git.eshelyaron.com Git - emacs.git/commit
Nativecomp don't materialize non-materializable objects (bug#78606)
authorAndrea Corallo <acorallo@gnu.org>
Wed, 9 Jul 2025 13:53:52 +0000 (15:53 +0200)
committerEshel Yaron <me@eshelyaron.com>
Thu, 24 Jul 2025 07:54:50 +0000 (09:54 +0200)
commitc58ea90dfa61b99e1851311031528442fed96d22
tree9aefa98056321844f61a123cf5e050294cae2011
parentafda2ad5daf854b3002c24c677f805631eba2486
Nativecomp don't materialize non-materializable objects (bug#78606)

The native compiler should not try to generate in rendered code
immediate floats produced by the constrain on the '=' operator.

* test/src/comp-tests.el (comp-test-78606-1): Add test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-78606-1-f): New
function.
* src/comp.c (emit_mvar_rval): Check if an immediate is materializable.
* lisp/emacs-lisp/comp.el (comp-ctxt): Add 'non-materializable-objs-h'
slot.
(comp--fwprop-insn): Update call.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Add parameter.

(cherry picked from commit 48a5917681dd53b8b75764f4e1455a6c24f95498)
lisp/emacs-lisp/comp-cstr.el
lisp/emacs-lisp/comp.el
src/comp.c
test/src/comp-resources/comp-test-funcs.el
test/src/comp-tests.el