From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.emacs.devel Subject: Re: Finalizing 'inhibit-automatic-native-compilation' Date: Mon, 6 Feb 2023 10:26:41 -0500 Message-ID: References: <837cx8cey0.fsf@gnu.org> <837cx6a8me.fsf@gnu.org> <83357ua6ja.fsf@gnu.org> <83zga28ra8.fsf@gnu.org> <83r0vd97s0.fsf@gnu.org> <83lell73yv.fsf@gnu.org> <83k0145guk.fsf@gnu.org> <835ychtcq9.fsf@gnu.org> <83r0v4sgpj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2207"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 06 16:27:46 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 1pP3PG-0000Me-9c for ged-emacs-devel@m.gmane-mx.org; Mon, 06 Feb 2023 16:27:46 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pP3OU-00039f-Vx; Mon, 06 Feb 2023 10:26:59 -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 1pP3OT-00038n-DO for emacs-devel@gnu.org; Mon, 06 Feb 2023 10:26:57 -0500 Original-Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pP3OR-0004ut-PB; Mon, 06 Feb 2023 10:26:57 -0500 Original-Received: by mail-pg1-x52a.google.com with SMTP id 78so8416028pgb.8; Mon, 06 Feb 2023 07:26:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YPdB2WGdTxyKDuvug3YIaNfnd3MJ2vaAxYVEjCf/o+Y=; b=bTRXSpZZeviKQGHFTxQNhFKbiF5ZAwyryNV0nsqTMO3KbvjJvjVV4+o6mzlTp0aAli z1IgRW3CdZqcsQl3LzrLAqa3vAbhSQYkmZtE9iS7gCneYlSSjyZvolB+JTFEp6Ba5035 LVSSaevqGWe4QwyYf+d2GEvApe2JRzatUj5Ti/HUlYHPlEq0nfD53vP/TXooE890yOe8 sueCsGl6/60/BZ1LM8asw3rBtI9vFwdk3IS0DMUpvAyqrW9JejPrUh9zlCydL9c2m532 MLlLP3NeYFXblcsRIhCIxfIy3cB0pgihy1LW19TBGBw8OYrAFUe88dJxoQBB4y8Ow0HW cWIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YPdB2WGdTxyKDuvug3YIaNfnd3MJ2vaAxYVEjCf/o+Y=; b=XrEzzQBFINpVznM3qXdr0clVY7CtB8GEtpvniDrC6km8LdghrXM2uiFaFh1qIPzSgs 4twNZSKpt7uWkY651X7X1/Y5+ujLKaxACCNWSttnQ+dl6SRyq4rVcuk9jfGHt/Ajrlo/ muEBD1OcxP5lialgEkdwooI26qNPrsaMoX2tEtpVvP96pdp8JoBHrfELWzc0eWBIs/Xw meCQP3eDGs/AssvmZs2p8PlHtBze5IT97HLx+sTHY9LHka/DcS6utCYfgekrVDRmoCWi 4hFXrs4qzIVCsyM7LucPWG7hh509eHTWJGRDBCQIH8PIExnSG7TQtFmy86GC0zpR7eE9 7ZlA== X-Gm-Message-State: AO0yUKVnD0KYGquWzKrUQF97wZ/f5ufdQ2gehosHGgGlz42NzIcF+Xa2 J5Ppwx0YBOVgSYFLo3WPM3SEX9td4zkSkK2eb08= X-Google-Smtp-Source: AK7set8YB2BPbbRjD/S5L20Oba+Gfb46w5jEBqZviMCeLAV1tsI3Agh2Gp7AYm/TRgHi6wclESGoVTtTdpsqbzQcors= X-Received: by 2002:a05:6a00:16c1:b0:593:adeb:39ac with SMTP id l1-20020a056a0016c100b00593adeb39acmr4522813pfc.28.1675697214033; Mon, 06 Feb 2023 07:26:54 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=owinebar@gmail.com; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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:303024 Archived-At: On Mon, Feb 6, 2023 at 5:15 AM Andrea Corallo wrote: > > Eli Zaretskii writes: > > >> From: Lynn Winebarger > >> Date: Sat, 4 Feb 2023 17:05:19 -0500 > >> Cc: rms@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org > >> > >> On Sat, Feb 4, 2023 at 3:08 PM Eli Zaretskii wrote: > >> > > >> > > Something in emacs is putting advice on call-interactively. When I > >> > > extended the baseline dump to include essentially all libraries > >> > > included with emacs with native-compilation, it caused an infinite > >> > > (asynchronous) regress while compiling the trampoline for > >> > > call-interactively. I wasn't aware of this until /tmp filled up. > >> > > >> > Is this with Emacs 28 or Emacs 29? > >> > >> This was with 28.1 modified to support dumping with many pre-loaded > >> native-compiled files. > > > > I asked because Emacs 29 adds some changes specifically intended to > > solve the problem of infinite recursion in trampoline compilation. > > > >> As far as I know, emacs still doesn't support dumping arbitrary > >> native-compiled libraries at compile-time. > > > > What problems do you see if you try? AFAIR, if you tweak > > native-comp-eln-load-path so that the *.eln files you want to dump are > > directed to the ../native-lisp directory relative to where the Emacs > > binary lives, then dump Emacs, loading such a dumped Emacs should > > work. > > > > Andrea, am I missing something? > > I think he might be talking about re-dumping Emacs? > > Otherwise no, I'm not aware of anything you are missing. We can dump > any library we want just loading it before the dump (we modified the > list of dumped libraries just doing this many times in the last two > years). > I'm wondering if we are talking about the same thing. It's not enough that the eln files exist after the dump. For the benefits I'm discussing, the eln files have to be generated and placed in native-lisp (or preferably native-lisp/preloaded) *before* dumping, not just at run-time. The eln files must actually be loaded into memory before the dump so that all the associated work is skipped at start-up. If I had meant that the byte-compiled dump happened with eln files slated to be loaded at startup time as though they had just been asynchronously compiled, then I would also expect there to be minimal benefit. Getting those eln files generated and in the right place *before* the dump takes some effort. Lynn