[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53497: 29.0.50; native-compile after restarting Emacs
From: |
Arash Esbati |
Subject: |
bug#53497: 29.0.50; native-compile after restarting Emacs |
Date: |
Wed, 26 Jan 2022 12:25:43 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 |
Eli Zaretskii <eliz@gnu.org> writes:
> Step through the code of maybe_defer_native_compilation with the 'n'
> command, and see if it calls native--compile-async in this fragment:
>
> /* This is so deferred compilation is able to compile comp
> dependencies breaking circularity. */
> if (!NILP (Ffeaturep (Qcomp, Qnil)))
> {
> /* Comp already loaded. */
> if (!NILP (delayed_sources))
> {
> CALLN (Ffuncall, intern_c_string ("native--compile-async"),
> delayed_sources, Qnil, Qlate);
> delayed_sources = Qnil;
> }
> Fputhash (function_name, definition, Vcomp_deferred_pending_h);
> CALLN (Ffuncall, intern_c_string ("native--compile-async"),
> src, Qnil, Qlate);
> }
This part looks like this for me:
/* This is so deferred compilation is able to compile comp
dependencies breaking circularity. */
if (comp__loadable)
{
/* Startup is done, comp is usable. */
Frequire (Qcomp, Qnil, Qnil);
Fputhash (function_name, definition, Vcomp_deferred_pending_h);
CALLN (Ffuncall, intern_c_string ("native--compile-async"),
src, Qnil, Qlate);
}
else
Vcomp__delayed_sources = Fcons (src, Vcomp__delayed_sources);
> Does one of these early returns indeed happen?
No, early returns don't happen, but if (comp__loadable) goes into the
else part. This is the part in GDB with Emacs b373c8ad71:
Thread 1 hit Breakpoint 1, maybe_defer_native_compilation
(function_name=0xffff82e3c49e4338, definition=0x2d9d16a5345) at comp.c:5104
warning: Source file is more recent than executable.
5104 if (!load_gccjit_if_necessary (false))
(gdb) n
[New Thread 21916.0x5878]
5107 if (!native_comp_deferred_compilation
(gdb) n
5108 || noninteractive
(gdb) n
5109 || !NILP (Vpurify_flag)
(gdb) n
5110 || !COMPILEDP (definition)
(gdb) n
5111 || !STRINGP (Vload_true_file_name)
(gdb) n
5112 || !suffix_p (Vload_true_file_name, ".elc")
(gdb) n
5113 || !NILP (Fgethash (Vload_true_file_name,
V_comp_no_native_file_h, Qnil)))
(gdb) n
5117 concat2 (CALL1I (file-name-sans-extension, Vload_true_file_name),
(gdb) n
[New Thread 21916.0x2fb0]
5119 if (NILP (Ffile_exists_p (src)))
(gdb) n
5128 if (comp__loadable)
(gdb) n
5137 Vcomp__delayed_sources = Fcons (src, Vcomp__delayed_sources);
(gdb) n
5138 }
Again, many thanks for your patience.
Best, Arash
- bug#53497: 29.0.50; native-compile after restarting Emacs, (continued)
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Andrea Corallo, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/24
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/25
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/25
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/25
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/25
- bug#53497: 29.0.50; native-compile after restarting Emacs,
Arash Esbati <=
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Arash Esbati, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Andrea Corallo, 2022/01/26
- bug#53497: 29.0.50; native-compile after restarting Emacs, Andrea Corallo, 2022/01/27
- bug#53497: 29.0.50; native-compile after restarting Emacs, Eli Zaretskii, 2022/01/27