diff options
| author | Vibhav Pant | 2023-01-18 20:12:40 +0530 |
|---|---|---|
| committer | Vibhav Pant | 2023-01-18 20:12:40 +0530 |
| commit | 2cc0d51f29d661b1f1bb3bc2298d147fa23a44ac (patch) | |
| tree | 7f5eba9b51855f8d7b71ad46772bfed03c8a299e /lib/malloc/dynarray_resize.c | |
| parent | 99896f2126718593f2185078e9d052ac48b13b52 (diff) | |
| download | emacs-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