bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46256: [feature/native-comp] AOT eln files ignored if run from build


From: Andrea Corallo
Subject: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree
Date: Mon, 01 Mar 2021 06:34:32 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Andrea Corallo <akrl@sdf.org>
>> Cc: Andy Moreton <andrewjmoreton@gmail.com>, 46256@debbugs.gnu.org
>> Date: Sun, 28 Feb 2021 21:15:03 +0000
>> 
>> > Does the async native compilation use temporary files, and if so, do
>> > they reside in the same directory when multiple compilations are
>> > running?
>> 
>> Yes, we rely on Fmake_temp_file_internal in Fcomp__compile_ctxt_to_file
>> to decide the output filename to be passed to libgccjit when asking for
>> compilation.
>
> That shouldn't cause a problem, I think.
>
>> There should be no conflict unless more then one process is trying to
>> compile the same file
>
> Is there a way to print to some log file the names of the files being
> compiled?  Then perhaps we could catch such multiple compilations.

We don't have any log facility ATM for that.

Yesterday evening testing a patch I had the same issue, it should be
sufficient to add some print.  I'll try to look into.

> AFAIR, the Emacs build process divides files into several groups, and
> no 2 groups include the same file.  So the top-level compilation
> process cannot cause multiple compilations of the same file.  But
> could it happen that compiling file A indirectly causes file B to be
> compiled, because file A requires B or loads B or calls functions
> declared to be in B, and there's not yet a .eln file for file B?

It should not happen.

When 'noninteractive' is true we disable deferred compilation in
'maybe_defer_native_compilation'.  Reason for this being that we want to
trigger automatic compilations only for reasonably long standing
sessions and very often non interactive ones aren't.

  Andrea





reply via email to

[Prev in Thread] Current Thread [Next in Thread]