unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Andrea Corallo <akrl@sdf.org>
Cc: rlb@defaultvalue.org, emacs-devel@gnu.org
Subject: Re: Suppressing native compilation (short and long term)
Date: Thu, 29 Sep 2022 12:01:45 +0300	[thread overview]
Message-ID: <834jwqh7uu.fsf@gnu.org> (raw)
In-Reply-To: <xjfy1u28ugv.fsf@ma.sdf.org> (message from Andrea Corallo on Thu,  29 Sep 2022 08:18:08 +0000)

> From: Andrea Corallo <akrl@sdf.org>
> Cc: rlb@defaultvalue.org, emacs-devel@gnu.org
> Date: Thu, 29 Sep 2022 08:18:08 +0000
> 
> >> >> Yes `native-comp-deferred-compilation' AFAIK does exactly this already,
> >> >> `native-comp-available-p' is to check if the native compiler is
> >> >> available (not necessarily the deferred/async mechanism).
> >> >
> >> > But then it should disable the trampolines as well, see startup.el.
> >> 
> >> Not in my opinion, trampolines are not deferred async compilation.
> >> 
> >> Also as mentioned ATM is not possible to disable trampolines and have a
> >> fully working native comp Emacs (if we assume primitives can be
> >> redefined).
> >
> > I'm confused.  I alluded to this part of startup.el:
> >
> >     (when (featurep 'native-compile)
> >       (unless (native-comp-available-p)
> >         ;; Disable deferred async compilation and trampoline synthesis
> >         ;; in this session.  This is necessary if libgccjit is not
> >         ;; available on MS-Windows, but Emacs was built with
> >         ;; native-compilation support.
> >         (setq native-comp-deferred-compilation nil
> >               comp-enable-subr-trampolines nil))
> >
> > The last part disables trampolines, AFAIU.  So what am I missing here?
> 
> Hi Eli,
> 
> yes it does, what do you find confusing about this?
> 
> This is how I see things, we have two compilation mechanisms:
> 
> 1- Syncronous native compilation.  This can be triggered:
>    1.1- By the user (calling `native-compile').
>    1.2- By Emacs in the need of generating a trampoline.
> 
> 2- Async/deferred/jit (or how we wanna call it), this is triggered
>    automatically when loafing a .elc with no corresponding .eln.
> 
> We have two customize to control the two automatic mechanisms:
> `comp-enable-subr-trampolines' gates 1.2,
> `native-comp-deferred-compilation' gates 2.
> 
> Indeed `native-comp-available-p' gates all native compilations.

So I was asking whether when the user wants to disable native
compilations, we should disable both 2 and 1.2.  We already do that
when Emacs detects at startup that it doesn't have access to
libgccjit, so why not do the same when the user wants to disable
native compilations for whatever reasons?  You seem to be saying that
1.2 cannot be disabled in that case?  But if so, how come we do
disable it in startup.el?  That is the root of my confusion.

Thanks.



  reply	other threads:[~2022-09-29  9:01 UTC|newest]

Thread overview: 343+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28  1:04 Suppressing native compilation (short and long term) Rob Browning
2022-09-28 11:02 ` Lars Ingebrigtsen
2022-09-28 11:35 ` Eli Zaretskii
2022-10-12 20:22   ` Liliana Marie Prikler
2022-10-13  5:46     ` Eli Zaretskii
2022-10-13 19:20       ` Liliana Marie Prikler
2022-10-13 20:10         ` Stefan Monnier
2022-10-13 20:26           ` Eli Zaretskii
2022-10-13 20:57             ` Lars Ingebrigtsen
2022-10-13 21:29               ` Lars Ingebrigtsen
2022-10-14 22:37                 ` Andrea Corallo
2022-10-15  3:09                   ` Stefan Monnier
2022-10-15 15:06                     ` Andrea Corallo
2022-10-15 16:16                       ` Stefan Monnier
2022-10-15  9:24                   ` Lars Ingebrigtsen
2022-10-15 15:02                     ` Andrea Corallo
2022-10-16  8:52                       ` Lars Ingebrigtsen
2022-10-16  9:29                         ` Liliana Marie Prikler
2022-10-16 13:45                         ` Stefan Monnier
2022-10-16 13:47                           ` Lars Ingebrigtsen
2022-10-19 19:39                       ` Andrea Corallo
2022-10-14  6:08               ` Eli Zaretskii
2022-10-14 23:20                 ` Andrea Corallo
2022-10-15  3:14                   ` Stefan Monnier
2022-10-15  6:40                     ` Liliana Marie Prikler
2022-10-15  7:14                     ` Eli Zaretskii
2022-10-15 14:00                       ` Stefan Monnier
2022-10-15 14:10                         ` Lynn Winebarger
2022-10-15 14:29                           ` Eli Zaretskii
2022-10-16 11:55                             ` Lynn Winebarger
2022-10-17  7:34                               ` Andrea Corallo
2022-10-18 22:26                                 ` Lynn Winebarger
2022-10-19 19:33                                   ` Andrea Corallo
2022-10-15 15:10                     ` Andrea Corallo
2022-10-15 16:17                       ` Stefan Monnier
2022-10-17  7:20                         ` Andrea Corallo
2022-10-15  7:04                   ` Eli Zaretskii
2022-10-15 15:19                     ` Andrea Corallo
2022-10-15 16:26                       ` Eli Zaretskii
2022-10-15 17:19                         ` Eli Zaretskii
2022-10-17  7:21                           ` Andrea Corallo
2022-10-18  8:52                             ` Andrea Corallo
2022-10-18 11:27                               ` Lars Ingebrigtsen
2022-10-18 13:56                                 ` Andrea Corallo
2022-10-18 18:12                                   ` Lars Ingebrigtsen
2022-10-18 13:55                               ` Stefan Monnier
2022-10-15  9:25                   ` Lars Ingebrigtsen
2022-10-15 15:20                     ` Andrea Corallo
2022-10-15 14:18                   ` Lynn Winebarger
2022-10-15 17:06           ` Sean Whitton
2022-10-15 17:12             ` Eli Zaretskii
2022-10-15 17:36               ` Sean Whitton
2022-10-13 20:22         ` Eli Zaretskii
2022-10-14 19:46           ` Liliana Marie Prikler
2022-10-15  8:51             ` Eli Zaretskii
2022-10-15 15:53               ` Andrea Corallo
2022-10-15  9:33             ` Lars Ingebrigtsen
2022-10-15 14:35               ` Liliana Marie Prikler
2022-10-15 15:56               ` Andrea Corallo
2022-10-15 16:24                 ` Liliana Marie Prikler
2022-10-17  7:23                   ` Andrea Corallo
2022-10-17 16:59                     ` Liliana Marie Prikler
2022-10-17 17:07                       ` Eli Zaretskii
2022-10-16  8:55                 ` Lars Ingebrigtsen
2022-10-16  9:27                   ` Liliana Marie Prikler
2022-10-16  9:35                     ` Lars Ingebrigtsen
2022-10-17  7:30                       ` Andrea Corallo
2022-10-17 11:20                         ` Lars Ingebrigtsen
2022-09-28 12:52 ` Andrea Corallo
2022-09-28 17:04   ` Eli Zaretskii
2022-09-28 18:49     ` Andrea Corallo
2022-09-28 19:10       ` Eli Zaretskii
2022-09-28 21:32         ` Andrea Corallo
2022-09-29  5:56           ` Eli Zaretskii
2022-09-29  8:18             ` Andrea Corallo
2022-09-29  9:01               ` Eli Zaretskii [this message]
2022-09-29 14:32                 ` Andrea Corallo
2022-09-29 15:50                   ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2022-09-30 13:13 David Bremner
2022-09-30 13:56 ` Eli Zaretskii
2022-09-30 14:33   ` David Bremner
2022-09-30 15:47     ` Eli Zaretskii
2022-09-30 14:55   ` Sean Whitton
2022-09-30 16:02     ` Eli Zaretskii
2022-09-30 15:32   ` Stefan Monnier
2022-09-30 16:06     ` Eli Zaretskii
2022-10-01 16:38       ` Rob Browning
2022-10-01 16:52         ` Eli Zaretskii
2022-10-01 20:42           ` Rob Browning
2022-10-02  5:57             ` Eli Zaretskii
2022-10-02  6:10               ` tomas
2022-10-02  6:44                 ` Eli Zaretskii
2022-10-02 15:54                   ` tomas
2022-10-02 16:02                     ` Eli Zaretskii
2022-10-02 16:13                       ` chad
2022-10-02 16:55                         ` Eli Zaretskii
2022-10-02 17:13                           ` Stefan Monnier
2022-10-02 17:24                             ` Eli Zaretskii
2022-10-02 17:25                       ` Rob Browning
2022-10-02 16:53               ` Stefan Monnier
2022-10-02 17:16                 ` Eli Zaretskii
2022-10-02 18:12                   ` Rob Browning
2022-10-02 18:40                     ` Eli Zaretskii
2022-10-02 18:51                       ` Rob Browning
2022-10-02 17:17                 ` Lars Ingebrigtsen
2022-10-02 17:28                   ` Stefan Monnier
2022-10-02 17:36                     ` Lars Ingebrigtsen
2022-10-02 17:38                       ` Eli Zaretskii
2022-10-02 18:17                       ` Rob Browning
2022-10-02 19:08                         ` Lars Ingebrigtsen
2022-10-02 19:15                           ` Eli Zaretskii
2022-10-03  9:12                             ` Lars Ingebrigtsen
2022-10-03 11:32                               ` Lars Ingebrigtsen
2022-10-03 13:07                                 ` Stefan Monnier
2022-10-03 13:29                                   ` Lars Ingebrigtsen
2022-10-03 13:42                                     ` Stefan Monnier
2022-10-03 14:09                                       ` Lars Ingebrigtsen
2022-10-03 14:42                                         ` Stefan Monnier
2022-10-03 14:45                                           ` Lars Ingebrigtsen
2022-10-03 14:52                                             ` Stefan Monnier
2022-10-03 15:14                                               ` Lars Ingebrigtsen
2022-10-05 12:55                                                 ` Andrea Corallo
2022-10-05 13:14                                                   ` Lars Ingebrigtsen
2022-10-05 13:47                                                     ` Andrea Corallo
2022-10-05 13:55                                                   ` Eli Zaretskii
2022-10-05 14:08                                                     ` Andrea Corallo
2022-10-03 17:21                                         ` Eli Zaretskii
2022-10-03 17:39                                           ` Lars Ingebrigtsen
2022-10-03 17:52                                             ` Eli Zaretskii
2022-10-05 13:05                                             ` Andrea Corallo
2022-10-05 13:09                                           ` Andrea Corallo
2022-10-05 12:51                                       ` Andrea Corallo
2022-10-03 17:16                                     ` Eli Zaretskii
2022-10-03 18:21                                   ` Sean Whitton
2022-10-03 20:43                                     ` Stefan Monnier
2022-10-03 17:44                               ` Eli Zaretskii
2022-10-05 13:18                               ` Andrea Corallo
2022-10-05 14:01                                 ` Lars Ingebrigtsen
2022-10-05 14:17                                   ` Eli Zaretskii
2022-10-05 14:27                                     ` Lars Ingebrigtsen
2022-10-05 16:42                                       ` Eli Zaretskii
2022-10-05 17:08                                         ` Lars Ingebrigtsen
2022-10-05 17:15                                           ` Eli Zaretskii
2022-10-06  0:41                                             ` Po Lu
2022-10-06  0:40                                           ` Po Lu
2022-10-06  6:26                                             ` Eli Zaretskii
2022-10-05 14:25                                   ` Andrea Corallo
2022-10-05 14:29                                     ` Lars Ingebrigtsen
2022-10-05 14:48                                       ` Andrea Corallo
2022-10-05 14:58                                         ` Lars Ingebrigtsen
2022-10-05 15:12                                           ` Andrea Corallo
2022-10-05 15:24                                             ` Lars Ingebrigtsen
2022-10-05 15:36                                               ` Lars Ingebrigtsen
2022-10-05 16:10                                                 ` Andrea Corallo
2022-10-05 16:13                                                   ` Lars Ingebrigtsen
2022-10-05 17:58                                                     ` Andrea Corallo
2022-10-05 18:28                                                       ` Lars Ingebrigtsen
2022-10-05 23:25                                                         ` Andrea Corallo
2022-10-05 23:33                                                           ` Lars Ingebrigtsen
2022-10-06  0:45                                                             ` Andrea Corallo
2022-10-06  0:55                                                               ` Lars Ingebrigtsen
2022-10-06  6:33                                                               ` Eli Zaretskii
2022-11-05  1:09                                                 ` Juanma Barranquero
2022-11-05  6:44                                                   ` Eli Zaretskii
2022-11-05 10:12                                                     ` Dr. Arne Babenhauserheide
2022-11-05 11:19                                                       ` Eli Zaretskii
2022-11-06 11:06                                                       ` Max Brieiev
2022-11-06 16:31                                                         ` Dr. Arne Babenhauserheide
2022-11-06 18:00                                                           ` Stefan Monnier
2022-11-07  9:22                                                         ` Andrea Corallo
2022-11-08  5:51                                                           ` Björn Bidar
2022-11-08 11:23                                                             ` Andrea Corallo
2022-11-08 12:13                                                             ` Eli Zaretskii
2022-11-05 11:53                                                     ` Juanma Barranquero
2022-11-05 12:44                                                       ` Eli Zaretskii
2022-11-05 13:12                                                         ` Juanma Barranquero
2022-11-05 13:35                                                           ` Eli Zaretskii
2022-11-05 14:09                                                             ` Juanma Barranquero
2022-10-05 16:04                                               ` Andrea Corallo
2022-10-05 16:12                                                 ` Lars Ingebrigtsen
2022-10-05 16:28                                                   ` Andrea Corallo
2022-10-05 16:43                                       ` Eli Zaretskii
2022-10-06  0:44                                         ` Po Lu
2022-10-06  0:56                                           ` Lars Ingebrigtsen
2022-10-06  6:41                                             ` Eli Zaretskii
2022-10-06  6:28                                           ` Eli Zaretskii
2022-10-14 17:53                                             ` Rob Browning
2022-10-14 18:36                                               ` Stefan Monnier
2022-10-14 19:06                                               ` Eli Zaretskii
2022-10-14 21:17                                                 ` Rob Browning
2022-10-15  3:07                                                   ` Stefan Monnier
2022-10-15 16:34                                                     ` Rob Browning
2022-10-15 23:16                                                       ` Stefan Monnier
2022-10-15  6:30                                                   ` Eli Zaretskii
2022-10-15 17:00                                                     ` Rob Browning
2022-10-15  9:32                                               ` Lars Ingebrigtsen
2022-10-15 16:48                                                 ` Sean Whitton
2022-10-16  8:56                                                   ` Lars Ingebrigtsen
2022-10-15 17:21                                                 ` Rob Browning
2022-10-15 17:25                                                   ` Eli Zaretskii
2022-10-16  9:01                                                   ` Lars Ingebrigtsen
2022-10-16 16:59                                                     ` Rob Browning
2022-10-17 10:37                                                       ` Lars Ingebrigtsen
2022-10-05 20:37                                 ` Lars Ingebrigtsen
2022-10-05 23:40                                   ` Andrea Corallo
2022-10-05 23:46                                     ` Lars Ingebrigtsen
2022-10-06  0:34                                       ` Andrea Corallo
2022-10-06  0:39                                         ` Lars Ingebrigtsen
2022-10-06  1:03                                           ` Andrea Corallo
2022-10-06  1:07                                             ` Lars Ingebrigtsen
2022-10-06  1:19                                               ` Andrea Corallo
2022-10-06  1:26                                                 ` Lars Ingebrigtsen
2022-10-06  1:39                                                   ` Andrea Corallo
2022-10-06 12:07                                                     ` Lars Ingebrigtsen
2022-10-02 20:05                           ` Rob Browning
2022-10-02 20:10                             ` Lars Ingebrigtsen
2022-10-05 13:19                               ` Andrea Corallo
2022-10-05 12:43                           ` Andrea Corallo
2022-10-05 13:16                             ` Lars Ingebrigtsen
2022-10-05 13:29                               ` Andrea Corallo
2022-10-05 14:03                               ` Eli Zaretskii
2022-10-02 17:30                   ` Eli Zaretskii
2022-10-02 17:38                     ` Lars Ingebrigtsen
2022-10-02 17:48                       ` Eli Zaretskii
2022-10-02 17:37                 ` Rob Browning
2022-10-02 17:44                   ` Eli Zaretskii
2022-10-02 18:21                     ` Rob Browning
2022-10-02 18:43                       ` Eli Zaretskii
2022-10-02 23:53                 ` Sean Whitton
2022-10-02 17:15               ` Rob Browning
2022-10-02 17:25                 ` Stefan Monnier
2022-10-02 18:11                   ` Stefan Kangas
2022-10-02 18:26                     ` Stefan Monnier
2022-10-02 18:57                       ` Stefan Kangas
2022-10-02 17:26                 ` Eli Zaretskii
2022-10-02 23:51               ` Sean Whitton
2022-10-03 16:19                 ` Eli Zaretskii
2022-10-03 18:23                   ` Sean Whitton
2022-10-03 18:44                     ` Eli Zaretskii
2022-10-04  0:31                 ` Po Lu
2022-10-04  6:57                   ` Eli Zaretskii
2022-10-04  8:37                     ` Po Lu
2022-10-04  9:25                       ` Eli Zaretskii
2022-10-04  9:51                         ` Po Lu
2022-10-05 13:58                           ` Po Lu
2022-10-05 15:02                             ` Lars Ingebrigtsen
2022-10-05 16:47                               ` Eli Zaretskii
2022-10-05 17:59                                 ` tomas
2022-10-05 18:28                                   ` Eli Zaretskii
2022-10-05 18:56                                     ` tomas
2022-10-05 19:04                                       ` Eli Zaretskii
2022-10-05 19:40                                         ` tomas
2022-10-05 19:29                                     ` Gregory Heytings
2022-10-05 19:38                                       ` Eli Zaretskii
2022-10-05 20:04                                         ` Gregory Heytings
2022-10-06  5:28                                           ` Eli Zaretskii
2022-10-06  6:35                                             ` tomas
2022-10-05 16:43                             ` Eli Zaretskii
2022-10-06  0:34                               ` Po Lu
2022-10-06  6:21                                 ` Eli Zaretskii
2022-10-06  7:11                                   ` Po Lu
2022-10-06  8:03                                     ` Eli Zaretskii
2022-10-06  9:02                                       ` tomas
2022-10-06 10:13                                         ` Eli Zaretskii
2022-10-06 11:49                                           ` tomas
2022-10-07 12:40                                             ` Eli Zaretskii
2022-10-06  9:52                                       ` Po Lu
2022-10-06 10:17                                         ` Eli Zaretskii
2022-10-06 10:41                                           ` Andrea Corallo
2022-10-06 10:54                                             ` Eli Zaretskii
2022-10-04 23:26                   ` Sean Whitton
2022-10-02  5:58   ` tomas
2022-10-02  6:42     ` Eli Zaretskii
2022-10-02 15:53       ` tomas
2022-10-02 16:11         ` Eli Zaretskii
2022-10-02 16:23           ` chad
2022-10-02 16:59             ` Eli Zaretskii
2022-10-02 18:35               ` Rob Browning
2022-10-02 18:54                 ` Eli Zaretskii
2022-10-02 19:37                   ` Rob Browning
2022-10-02 17:57             ` Rob Browning
2022-10-02 18:06               ` Lars Ingebrigtsen
2022-10-02 18:35                 ` Eli Zaretskii
2022-10-02 18:41                   ` Rob Browning
2022-10-02 19:00                     ` Eli Zaretskii
2022-10-02 19:50                       ` Rob Browning
2022-10-03 17:41                         ` Eli Zaretskii
2022-10-03 18:17                           ` tomas
2022-10-03 18:41                             ` Eli Zaretskii
2022-10-03 19:02                               ` tomas
2022-10-03 19:04                                 ` Eli Zaretskii
2022-10-03 18:45                           ` Stefan Monnier
2022-10-03 18:52                             ` Eli Zaretskii
2022-10-04  0:16                           ` Rob Browning
2022-10-04  9:30                             ` Eli Zaretskii
2022-10-05  0:48                               ` Rob Browning
2022-10-05  7:39                                 ` Eli Zaretskii
2022-10-08 17:47                                 ` Michael Welsh Duggan
2022-10-15 17:39                                   ` Rob Browning
2022-10-02 18:25               ` Stefan Monnier
2022-10-02 18:32               ` Eli Zaretskii
2022-10-02 18:37                 ` Lars Ingebrigtsen
2022-10-02 18:46                   ` Rob Browning
2022-10-02 18:57                   ` Eli Zaretskii
2022-10-02 19:01                     ` Lars Ingebrigtsen
2022-10-02 19:03                       ` Eli Zaretskii
2022-10-02 19:58                     ` Stefan Monnier
2022-10-02 20:09                       ` Stefan Monnier
2022-10-02 16:27           ` tomas
2022-10-02 17:01             ` Eli Zaretskii
2022-10-02 18:37               ` Rob Browning
2022-10-02 18:58                 ` Eli Zaretskii
2022-10-02 19:58                   ` Rob Browning
2022-10-02 20:51               ` tomas
2022-10-02 23:58           ` Sean Whitton
2022-10-03 16:24             ` Eli Zaretskii
2022-10-03 18:23               ` Sean Whitton
2022-10-03 18:46                 ` Eli Zaretskii
2022-10-02 18:32       ` Rob Browning
2022-10-02 18:51         ` Eli Zaretskii
2022-10-02 19:57           ` Rob Browning
2022-10-03 15:48             ` Eli Zaretskii
2022-10-03 16:39               ` Stefan Monnier
2022-10-03 17:30                 ` Eli Zaretskii
2022-10-03 18:33                   ` Stefan Monnier
2022-10-03 18:49                     ` Eli Zaretskii
2022-10-03 21:58                       ` Stefan Kangas
2022-10-04  6:10                         ` Eli Zaretskii
2022-10-04 13:30                         ` Stefan Monnier
2022-09-30 15:38 ` Stefan Monnier
2022-09-30 17:05   ` David Bremner
2022-09-30 17:32     ` David Bremner
2022-10-23 15:22 Gregor Zattler
2022-10-23 16:07 ` Eli Zaretskii
2022-10-23 17:08   ` Gregor Zattler
2022-10-23 17:30     ` Eli Zaretskii
2022-10-23 17:33     ` Gregor Zattler
2022-10-23 17:34       ` Eli Zaretskii
2022-10-23 17:39 ` Eli Zaretskii
2022-10-23 18:55   ` Gregor Zattler
2022-10-24 18:35     ` Gregor Zattler
2022-10-24 19:04       ` Eli Zaretskii
2022-10-23 18:43 Gregor Zattler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=834jwqh7uu.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=akrl@sdf.org \
    --cc=emacs-devel@gnu.org \
    --cc=rlb@defaultvalue.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).