diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-06-13 11:12:15 +0200 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-06-13 16:42:16 +0200 |
commit | 5a55a845a7c426e82e8a6a6d02bc4a39992871e3 (patch) | |
tree | b8e27f09e340ecfd3c078cbe5c1d2a30c8660c68 /lisp/emacs-lisp/syntax.el | |
parent | 34ed9d24984360dcc26fc36561f2de6a0917c58e (diff) | |
download | emacs-5a55a845a7c426e82e8a6a6d02bc4a39992871e3.tar.gz emacs-5a55a845a7c426e82e8a6a6d02bc4a39992871e3.tar.bz2 emacs-5a55a845a7c426e82e8a6a6d02bc4a39992871e3.zip |
* Implement 'maybe_gc_or_quit' to allow correct GC in compiled Lisp.
Implement the backend side of 'maybe_gc_or_quit' so that every time a
call to it is emitted we render it accordingly. This allow GC to
kicks in during long loops in Lisp code.
* src/comp.c (comp_t): Add 'maybe_gc_or_quit' field.
(helper_link_table): Add 'maybe_gc', 'maybe_quit'.
(emit_maybe_gc_or_quit): New function.
(declare_runtime_imported_funcs): Import 'maybe_gc', 'maybe_quit'
functions.
(define_maybe_gc_or_quit): New function.
(Fcomp__init_ctxt): Register emitter.
(Fcomp__compile_ctxt_to_file): Call 'define_maybe_gc_or_quit'.
(syms_of_comp): Define Qcomp_maybe_gc_or_quit.
Diffstat (limited to 'lisp/emacs-lisp/syntax.el')
0 files changed, 0 insertions, 0 deletions