From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: Finalizing 'inhibit-automatic-native-compilation' Date: Mon, 13 Feb 2023 12:05:09 +0000 Message-ID: References: <837cx8cey0.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40473"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org, Lars Ingebrigtsen , Stefan Monnier , Rob Browning To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 13 13:05:58 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pRXam-000AKj-Tw for ged-emacs-devel@m.gmane-mx.org; Mon, 13 Feb 2023 13:05:56 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pRXa7-0000H1-To; Mon, 13 Feb 2023 07:05:16 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRXa5-0000GQ-NE for emacs-devel@gnu.org; Mon, 13 Feb 2023 07:05:13 -0500 Original-Received: from mab.sdf.org ([205.166.94.33] helo=ma.sdf.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRXa3-0007zH-TE; Mon, 13 Feb 2023 07:05:13 -0500 Original-Received: from akrl by ma.sdf.org with local (Exim 4.92) (envelope-from ) id 1pRXa1-00035h-1L; Mon, 13 Feb 2023 12:05:09 +0000 In-Reply-To: <837cx8cey0.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 27 Jan 2023 14:57:59 +0200") Received-SPF: pass client-ip=205.166.94.33; envelope-from=akrl@sdf.org; helo=ma.sdf.org X-Spam_score_int: 31 X-Spam_score: 3.1 X-Spam_bar: +++ X-Spam_report: (3.1 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SBL_CSS=3.335, RCVD_IN_VALIDITY_RPBL=1.31, RCVD_IN_XBL=0.375, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:303211 Archived-At: Hello all, at feature/inhibit-native-comp-cleanup I've pushed the branch I'm testing that: . removes the EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION environment variable . removes `inhibit-automatic-native-compilation' variable and uses `native-comp-deferred-compilation', with or without `comp-enable-subr-trampolines' (as needed), instead . adds a third possible value to `comp-enable-subr-trampolines', a string that specifies a directory in which to deposit the JIT compiled trampolines . updates the doc string of `native-comp-never-optimize-functions' to mention its effect on trampolines . updates some do doc here and there accordingly Few notes: - I think renaming `native-comp-deferred-compilation' to `native-comp-jit-compilation' might be more descriptive to the user but I guess we are late now? :/ - If `comp-enable-subr-trampolines' is meant to be used by the user we should probably rename it into `native-comp-enable-subr-trampolines'? I guess we are late as well? - I left the piece of code that, when removing an eln file on windows, guards for errors. This to be extra cautious, I'm not aware of any exection path were we should remove an eln while loaded now, but maybe we could remove that piece of code only on the emacs-30 branch. Please have a look, seems to work here. Last question for my knowledge: what's the exact reason why we want a third possible value for `comp-enable-subr-trampolines' and we can use `native-comp-eln-load-path' to redirect the trampoline compilation? Is this to support packagers wanting to produce eln files only for packages but not for trampolines? Bests Regards Andrea