]> git.eshelyaron.com Git - emacs.git/commit
Fix recursive load for non cons hashed 'data_ephemeral_vec' content
authorAndrea Corallo <akrl@sdf.org>
Thu, 11 Jun 2020 18:23:00 +0000 (20:23 +0200)
committerAndrea Corallo <akrl@sdf.org>
Thu, 11 Jun 2020 16:37:37 +0000 (18:37 +0200)
commit904550d8c8e1583d0444bcb28b5d1130af6bafc3
tree51692da62707ea242cc0980f55c964040cbeb815
parent506febd5e72b0cd48acdf8887fb95701004b6e43
Fix recursive load for non cons hashed 'data_ephemeral_vec' content

Removing `Vcomp_sym_subr_c_name_h' all c_name functions are GC
markable only through 'data_ephemeral_vec'.  A recursive load must not
overide its content otherwise a previously activated load will have
the original content collected before it's used.

* src/comp.h (struct Lisp_Native_Comp_Unit): Add 'load_ongoing'
field.

* src/comp.c (unset_cu_load_ongoing): New function.
(load_comp_unit): Update logic to detect and handle recursive
loads.
src/comp.c
src/comp.h