diff options
| author | Eli Zaretskii | 2022-10-15 12:15:17 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2022-10-15 12:15:17 +0300 |
| commit | fdb6f7cf26fad194e8b5c6a599db94fa79976591 (patch) | |
| tree | 9dd3a3c80ef1e385472507fe74825c765020f6cd /src/comp.c | |
| parent | be30369e011e34988037f05d54e9ab3eef0c5ada (diff) | |
| download | emacs-fdb6f7cf26fad194e8b5c6a599db94fa79976591.tar.gz emacs-fdb6f7cf26fad194e8b5c6a599db94fa79976591.zip | |
; 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.
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 17 |
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. */); | |||
| 5523 | Vnative_comp_eln_load_path = Fcons (build_string ("../native-lisp/"), Qnil); | 5523 | Vnative_comp_eln_load_path = Fcons (build_string ("../native-lisp/"), Qnil); |
| 5524 | 5524 | ||
| 5525 | DEFVAR_BOOL ("comp-enable-subr-trampolines", comp_enable_subr_trampolines, | 5525 | DEFVAR_BOOL ("comp-enable-subr-trampolines", comp_enable_subr_trampolines, |
| 5526 | doc: /* If non-nil enable primitive trampoline synthesis. | 5526 | doc: /* If non-nil, enable primitive trampoline synthesis. |
| 5527 | This makes primitive functions redefinable or advisable effectively. */); | 5527 | This makes Emacs respect redefinition or advises of primitive functions |
| 5528 | when they are called from Lisp code natively-compiled at `native-comp-speed' | ||
| 5529 | of 2. | ||
| 5530 | |||
| 5531 | By default, this is enabled, and when Emacs sees a redefined or advised | ||
| 5532 | primitive called from natively-compiled Lisp, it generates a trampoline | ||
| 5533 | for it on-the-fly. | ||
| 5534 | |||
| 5535 | Disabling this, when a trampoline for a redefined or advised primitive is | ||
| 5536 | not available from previous compilations, means that such redefinition | ||
| 5537 | or advise will not have effect on calls from natively-compiled Lisp code. | ||
| 5538 | That is, calls to primitives without existing trampolines from | ||
| 5539 | natively-compiled Lisp will behave as if the primitive was called | ||
| 5540 | directly from C. */); | ||
| 5528 | 5541 | ||
| 5529 | DEFVAR_LISP ("comp-installed-trampolines-h", Vcomp_installed_trampolines_h, | 5542 | DEFVAR_LISP ("comp-installed-trampolines-h", Vcomp_installed_trampolines_h, |
| 5530 | doc: /* Hash table subr-name -> installed trampoline. | 5543 | doc: /* Hash table subr-name -> installed trampoline. |