summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-10-15 12:15:17 +0300
committerEli Zaretskii <eliz@gnu.org>2022-10-15 12:15:17 +0300
commitfdb6f7cf26fad194e8b5c6a599db94fa79976591 (patch)
tree9dd3a3c80ef1e385472507fe74825c765020f6cd
parentbe30369e011e34988037f05d54e9ab3eef0c5ada (diff)
downloademacs-fdb6f7cf26fad194e8b5c6a599db94fa79976591.tar.gz
; Fix documentation of 'comp-enable-subr-trampolines'
* src/comp.c (syms_of_comp) <comp-enable-subr-trampolines>: Explain better what it means to disable trampoline synthesis.
-rw-r--r--src/comp.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/comp.c b/src/comp.c
index dc0359acdae..b667dfbf905 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -5523,8 +5523,21 @@ The last directory of this list is assumed to be the system one. */);
Vnative_comp_eln_load_path = Fcons (build_string ("../native-lisp/"), Qnil);
DEFVAR_BOOL ("comp-enable-subr-trampolines", comp_enable_subr_trampolines,
- doc: /* If non-nil enable primitive trampoline synthesis.
-This makes primitive functions redefinable or advisable effectively. */);
+ doc: /* If non-nil, enable primitive trampoline synthesis.
+This makes Emacs respect redefinition or advises of primitive functions
+when they are called from Lisp code natively-compiled at `native-comp-speed'
+of 2.
+
+By default, this is enabled, and when Emacs sees a redefined or advised
+primitive called from natively-compiled Lisp, it generates a trampoline
+for it on-the-fly.
+
+Disabling this, when a trampoline for a redefined or advised primitive is
+not available from previous compilations, means that such redefinition
+or advise will not have effect on calls from natively-compiled Lisp code.
+That is, calls to primitives without existing trampolines from
+natively-compiled Lisp will behave as if the primitive was called
+directly from C. */);
DEFVAR_LISP ("comp-installed-trampolines-h", Vcomp_installed_trampolines_h,
doc: /* Hash table subr-name -> installed trampoline.