Subject: bug#58509: 29.0.50; Synchronous nativecomp

From: Andrea Corallo <[email-masked]>
Date: Sat, 15 Oct 2022 16:29:43 +0000

Lars Ingebrigtsen <[email-masked]> writes:

> Andrea Corallo <[email-masked]> writes:
>
>> to get practical I think what Lars'd like to have is: at the end of
>> 'maybe_swap_for_eln', in case the .eln is not found, a syncronous
>> invocation of the native compiler to produce and use the .eln file
>> (indeed only when this flag is used).
>>
>> In principal as decribed it should be relatively easy, the only
>> technical caveat I can think of now are potential circular dependecies
>> generated by loading comp.el.
>
> It's kinda the same problem as with the infinite recursion problem with
> the trampolines, so perhaps this could have the same solution?  I.e., in
> the Emacs that we fork to do the nativecomp, we should switch off both
> JIT and trampoline generation?  (We'd need to add such a mechanism, of
> course.)

Yes, ATM we break circularity as in noninteractive sessions we disable
native compilation, if we allow for it we just have to handle the case.
The mechanism discussed for trampolines on emacs-devel should be
extended for lisp code as well and should do the job.