summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/syntax.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-06-13 11:12:15 +0200
committerAndrea Corallo <akrl@sdf.org>2020-06-13 16:42:16 +0200
commit5a55a845a7c426e82e8a6a6d02bc4a39992871e3 (patch)
treeb8e27f09e340ecfd3c078cbe5c1d2a30c8660c68 /lisp/emacs-lisp/syntax.el
parent34ed9d24984360dcc26fc36561f2de6a0917c58e (diff)
downloademacs-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