aboutsummaryrefslogtreecommitdiffstats
path: root/lib/malloc/dynarray_resize.c
diff options
context:
space:
mode:
authorVibhav Pant2023-01-18 20:12:40 +0530
committerVibhav Pant2023-01-18 20:12:40 +0530
commit2cc0d51f29d661b1f1bb3bc2298d147fa23a44ac (patch)
tree7f5eba9b51855f8d7b71ad46772bfed03c8a299e /lib/malloc/dynarray_resize.c
parent99896f2126718593f2185078e9d052ac48b13b52 (diff)
downloademacs-2cc0d51f29d661b1f1bb3bc2298d147fa23a44ac.tar.gz
emacs-2cc0d51f29d661b1f1bb3bc2298d147fa23a44ac.zip
src/comp.c: Address several GC-related issues with static literals.
* src/comp.c [HAVE_STATIC_LISP_GLOBALS] (helper_static_comp_object_p): New function. When Emacs is compiled with support for statically emitting lisp literals during native compilation, it acts as a wrapper around 'static_comp_object_p' for use in 'CHECK_IMPURE' in the generated native code. (declare_runtime_imported_funcs) [HAVE_STATIC_LISP_GLOBALS]: Add import entry for 'helper_static_object_p' when supported. (define_CHECK_IMPURE) [HAVE_STATIC_LISP_GLOBALS]: When supported, also check if the provided object is statically emitted. (emit_lambda_subr): New function. Emits a Aligned_Lisp_Subr rvalue for the provided comp function. (emit_static_data_container): While iterating through the container, if we come across a bytecode vector that is supposed to be relocated with its native version, use 'emit_lambda_subr' to generate the corresponding static Lisp_Subr. (Fcomp__compile_ctxt_to_file): Set 'comp.cons_block_list', 'comp.float_block_list' and 'comp.block' to nil to avoid using invalid values from a previous comp run. (load_comp_unit): Only call comp_init_objs when the current load is not nested.
Diffstat (limited to 'lib/malloc/dynarray_resize.c')
0 files changed, 0 insertions, 0 deletions