Stefan Kangas <stefan@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 57035) by debbugs.gnu.org; 7 Aug 2022 13:16:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 09:16:32 2022 Received: from localhost ([127.0.0.1]:36224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oKg8t-0001Uy-SF for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 09:16:32 -0400 Received: from mail-pj1-f47.google.com ([209.85.216.47]:56152) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <owinebar@HIDDEN>) id 1oKg8r-0001Ui-7V for 57035 <at> debbugs.gnu.org; Sun, 07 Aug 2022 09:16:31 -0400 Received: by mail-pj1-f47.google.com with SMTP id a8so6572079pjg.5 for <57035 <at> debbugs.gnu.org>; Sun, 07 Aug 2022 06:16:29 -0700 (PDT) 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; bh=EiqgTV7kynsmhhVVdooeoSxjUnihcw/UvjM1sH6xsDQ=; b=kD1EbDsMSgmIAzm+kOduR5zjNlyux7RZNM0KXNAVTPR54Czf3DjyFF3ZdKyQ2wt0uw POg/8no0H7s9CgDfH8bFItvpsssg8GE9Z4bFTHdabU9UzSn+4uJDvR3g7v0OGECo9Jix jflYDx/T1g/k3UH6DO6/ver2Ep9cyJy4xmM+i6DD0VU1vevTWcx/IAxdXNtREVtJsY2t FRO4m4pPMkebv8xlgnHpWGYCM7f3QD2gOxgIZk1nOIV47vl7xQuhca2T4OHrhSn/HHCm B4id+0tdOzRT38lc9UCXDsMbN19cYiA09z097RTD3ccwishbJRelbDaPMVGo7yGEg/ih zigA== 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; bh=EiqgTV7kynsmhhVVdooeoSxjUnihcw/UvjM1sH6xsDQ=; b=6ZdhQ7dMgwtcNfB8WpLz8RMFTQCuus2eu+/QYfTKsSG18XLdEO/MvACxSyjDUOZJnA VNsi9mr7UApDjPPJ0JhZLhzVAUvqam+8x6vdMTm0hdsxVd5nEfrHNG4Bx40sGLPToELI Bgpn5bwEwwTEKx3etPiH3y0FMHPt4T/8kWA6vewzzX2tH9eyguJD6MALfsZRv1yYvv6G XWDxIb6Yw4Sb0nJZPCdU8a1NUIzrs9L/bMwbpLC49dW1T5BWkERSP+Dhi4WeonVtyCeC eOlYgI75DDa4zxW8nldoDIbU46V915gzKGWWg8PUxvqZAK1jv3wqr4nBddvZgzR6h73P TQVA== X-Gm-Message-State: ACgBeo0gaz2w0UsvSVEC7sr2btS0NJBKCCZR9caVpebYN8WmfIav5cFE UIukxnhr9Xi4KS9bWgctHyakztaUyvM3ttTj440= X-Google-Smtp-Source: AA6agR7pU+ubT4tCH0AxjqujI7HF4iC5Q5uqXIHguuXeX29KXxFsaX/JfbGy1bUCzT84cUH6GgOOVTJ8niDGBOQblxs= X-Received: by 2002:a17:90a:bc1:b0:1f2:435f:94bc with SMTP id x1-20020a17090a0bc100b001f2435f94bcmr16690591pjd.5.1659878183287; Sun, 07 Aug 2022 06:16:23 -0700 (PDT) MIME-Version: 1.0 References: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN> <878ro02owz.fsf@HIDDEN> In-Reply-To: <878ro02owz.fsf@HIDDEN> From: Lynn Winebarger <owinebar@HIDDEN> Date: Sun, 7 Aug 2022 09:16:11 -0400 Message-ID: <CAM=F=bBdhugCWp_j+-bC6fjoHQnkjzP3j0n6JeQ9U9hOTOmCsQ@HIDDEN> Subject: Re: bug#57035: Support for site-load.el in native-compile dumping To: Lars Ingebrigtsen <larsi@HIDDEN> Content-Type: multipart/alternative; boundary="0000000000007c40d005e5a6812a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57035 Cc: 57035 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000007c40d005e5a6812a Content-Type: text/plain; charset="UTF-8" On Sun, Aug 7, 2022, 8:55 AM Lars Ingebrigtsen <larsi@HIDDEN> wrote: > Lynn Winebarger <owinebar@HIDDEN> writes: > > > +. Add a flag variable to turn off the docstring hack in lead.c once > > loadup has been processed (or eliminate the hack entirely). > > The hack has been removed on the trunk. > > > I think that covers all the issues I dealt with. If my employer > > allows I can donate code to fix the purecopy issues in versions prior > > to 29. > > As I think Eli has said before, changes in this area are not going to be > backported to earlier Emacs versions, so you should just concentrate on > Emacs 29. The code fixing the limitations and bugs of purecopy (at least the ones triggered while dumping a large variety of loaded libraries) has already been implemented for 28.1 on my employer's systems. If they are willing to donate it (less than 100 lines of C), I'll post a patch. Even if it won't be incorporated in the Emacs distribution, Linux vendors who are conservative in the version of Emacs they package may choose to use it in their builds. Aside from supporting bool vectors and strings with text properties in pure space, it fixes a couple of fatal bugs that can be triggered while dumping - one segfault and one runaway allocation. Lynn --0000000000007c40d005e5a6812a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D= "gmail_attr">On Sun, Aug 7, 2022, 8:55 AM Lars Ingebrigtsen <<a href=3D"= mailto:larsi@HIDDEN">larsi@HIDDEN</a>> wrote:<br></div><blockquote c= lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;= padding-left:1ex">Lynn Winebarger <<a href=3D"mailto:owinebar@HIDDEN"= target=3D"_blank" rel=3D"noreferrer">owinebar@HIDDEN</a>> writes:<br= > <br> > +. Add a flag variable to turn off the docstring hack in lead.c once<b= r> > loadup has been processed (or eliminate the hack entirely).<br> <br> The hack has been removed on the trunk.<br> <br> > I think that covers all the issues I dealt with.=C2=A0 If my employer<= br> > allows I can donate code to fix the purecopy issues in versions prior<= br> > to 29.<br> <br> As I think Eli has said before, changes in this area are not going to be<br= > backported to earlier Emacs versions, so you should just concentrate on<br> Emacs 29.</blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"a= uto">The code fixing the limitations and bugs of purecopy (at least the one= s triggered while dumping a large variety of loaded libraries) has already = been implemented for 28.1 on my employer's systems.=C2=A0 If they are w= illing to donate it (less than 100 lines of C), I'll post a patch.=C2= =A0 Even if it won't be incorporated in the Emacs distribution, Linux v= endors who are conservative in the version of Emacs they package may choose= to use it in their builds.=C2=A0 Aside from supporting bool vectors and st= rings with text properties in pure space, it fixes a couple of fatal bugs t= hat can be triggered while dumping - one segfault and one runaway allocatio= n.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Lynn</div><div dir=3D= "auto"><br></div><div dir=3D"auto"><br></div><div dir=3D"auto"></div></div> --0000000000007c40d005e5a6812a--
bug-gnu-emacs@HIDDEN
:bug#57035
; Package emacs
.
Full text available.Received: (at 57035) by debbugs.gnu.org; 7 Aug 2022 12:56:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 08:56:06 2022 Received: from localhost ([127.0.0.1]:36176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oKfp8-000536-4V for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:56:06 -0400 Received: from quimby.gnus.org ([95.216.78.240]:56824) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1oKfp6-00052g-Mz for 57035 <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:56:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Ntwhq7K4K2aGGbcwheUuDPgzJOLpEUDF2ir4RPaoLIM=; b=rJEMoeCx1lFH9hXpLDJV9zw5em YXSjM6893w0/QPOyp09NWIOViVBlPWIH0GyZtaVAGgFfiBnyEfULl4E7YycYgQn2DjJsooY2EW82w VfS2G1KLLKNzTU9841KYI8lplg5DDxIrvHSQKg94K4OyYFqLt2WJ5cP3FTUJcrMd8bVk=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1oKfoy-0006bR-JZ; Sun, 07 Aug 2022 14:55:58 +0200 From: Lars Ingebrigtsen <larsi@HIDDEN> To: Lynn Winebarger <owinebar@HIDDEN> Subject: Re: bug#57035: Support for site-load.el in native-compile dumping In-Reply-To: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN> (Lynn Winebarger's message of "Sun, 7 Aug 2022 08:15:17 -0400") References: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN> Date: Sun, 07 Aug 2022 14:55:56 +0200 Message-ID: <878ro02owz.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Lynn Winebarger <owinebar@HIDDEN> writes: > +. Add a flag variable to turn off the docstring hack in lead.c once > loadup has been processed (or eliminate the hack entirely). The hack has been removed on the trunk. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57035 Cc: 57035 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Lynn Winebarger <owinebar@HIDDEN> writes: > +. Add a flag variable to turn off the docstring hack in lead.c once > loadup has been processed (or eliminate the hack entirely). The hack has been removed on the trunk. > I think that covers all the issues I dealt with. If my employer > allows I can donate code to fix the purecopy issues in versions prior > to 29. As I think Eli has said before, changes in this area are not going to be backported to earlier Emacs versions, so you should just concentrate on Emacs 29.
bug-gnu-emacs@HIDDEN
:bug#57035
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 7 Aug 2022 12:15:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 07 08:15:37 2022 Received: from localhost ([127.0.0.1]:36115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oKfBw-0003xz-Kz for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:15:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:44436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <owinebar@HIDDEN>) id 1oKfBv-0003xs-Am for submit <at> debbugs.gnu.org; Sun, 07 Aug 2022 08:15:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <owinebar@HIDDEN>) id 1oKfBu-0007TE-CT for bug-gnu-emacs@HIDDEN; Sun, 07 Aug 2022 08:15:35 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]:38524) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <owinebar@HIDDEN>) id 1oKfBs-000437-IL for bug-gnu-emacs@HIDDEN; Sun, 07 Aug 2022 08:15:34 -0400 Received: by mail-pg1-x52c.google.com with SMTP id r22so3945048pgm.5 for <bug-gnu-emacs@HIDDEN>; Sun, 07 Aug 2022 05:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc; bh=vU/88tG+QECMUdkuwZvPs74zdXi0e/uxfNcVHg3bxLY=; b=Y9aq/tuYG0odFeoM/6oNPHlmNxClbesktsddtYDXyXVMOsZLyGsaUbGNlMKXYZsFeq TI6ro6Iyj1yCBWAtGsLi++zFg62iYJks9gG510Q6ZcaNruLxlzRpWoeZCfmSJfA0C2qu 3bOoqPazn3CcK7F1vGw0nNN37cg4kdSsER8g5RS00vg4TLQltFPaxTztJdD67HtHc8Mh YazeWEdOOgMkCmq553PwI9yJ8t/QYhNyqNk3y+Iu7LQ/AGuy7eQd2B7PB2uD3FD68/0z 6zy4CV3xzexeFlOtyuQjt6Vk8P2l54/uMbH6CoWhyYpidsIFRP8/XiJnxnq3HfIbj5ZM FdhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc; bh=vU/88tG+QECMUdkuwZvPs74zdXi0e/uxfNcVHg3bxLY=; b=DV9FNvsCDFu72bH1v0lV2QzYXNG6dqBNkEeD6yBiJKkyyy51B5Tu5Awr9QRfbpQUQH ISXP19eiDNkBjmqOvrod3Sy8oI5oH9snaYUsHu4yvRIJ+q/XvHQeKUKqL6WQ/h0PJMM2 0za4FYi3bsE5X0g5v9HNqi9bfxAhdvtI723yPief8/r8pAJCRxhpyBNqbXXKX4VhfPuA ELLa+csCNLq0Xtc30adXUUaxPSzPc5LDiSYLOhhPqJrQxTJxgxGs2JE0RA0N4AJXuGL+ MlzTnbXnSwaq2rENZMio2SAf01rKJW7FzOC6ZUELnPAIvRt4BGthXpPZKvr9LB9/6wl9 NOrg== X-Gm-Message-State: ACgBeo1k6C71LSE/o2I1CqTmajwL6boW4FYRjf4wuVIxgzlmzSfquDyF 8rr8derjpFolano3WWHyJAwDAd4buqGag0zFKH3cifbB X-Google-Smtp-Source: AA6agR6RZ1jktWmvPwWaw+q3ENFxwqacho9/LUCjOjATh2Hj/mvBdiUACHwAOV07S23+xsV3QUJINEr0AjRYl8XCRls= X-Received: by 2002:a63:2bc1:0:b0:412:706e:73ad with SMTP id r184-20020a632bc1000000b00412706e73admr11860438pgr.488.1659874530212; Sun, 07 Aug 2022 05:15:30 -0700 (PDT) MIME-Version: 1.0 From: Lynn Winebarger <owinebar@HIDDEN> Date: Sun, 7 Aug 2022 08:15:17 -0400 Message-ID: <CAM=F=bBEK_qpypwzuUOMfv+LSF5_mkDVVP8+N953xkV3hkQPTQ@HIDDEN> Subject: Support for site-load.el in native-compile dumping To: bug-gnu-emacs@HIDDEN Content-Type: multipart/alternative; boundary="000000000000bec41605e5a5a702" Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=owinebar@HIDDEN; helo=mail-pg1-x52c.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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --000000000000bec41605e5a5a702 Content-Type: text/plain; charset="UTF-8" Version 28.1+ By experimentation I've found the following issues are all that prevent dumping with large numbers of pre-loaded native compiled units. The improvement in start-up performance versus requiring the same libraries in a .emacs file is ridiculous, even with all libraries pre-compiled. The same fixes would provide support for user's construction of personal dump files. + Add additional build stage so a compile phase that only loads loadup is produced first, with a following stage to compile all the libraries loaded by site-load. Originally suggested by Stefan Monnier, it appears absolutely necessary. Most libraries not 8n loadup implicitly assume those libraries are in the compile-time environment. +. Add a flag variable to turn off the docstring hack in lead.c once loadup has been processed (or eliminate the hack entirely). + Also turn off the prohibition on implicit loading while in dump mode based on that flag variable. The file dependencies of site-load can be determined using load-history once the baseline (loadup only) dump has been constructed. + Turn off purification flag before loading site-load, or fix bugs in purecopy/pure_alloc (elimination of pure space counts as a bug fix). Note that when I've selectively turned off the purify flag in site-load to avoid purecopy bugs, the process would reach the stage of calling pdump, but that call would hang indefinitely (I let it go for a couple of hours the first time, and it just burned cpu cycles without any change in memory use). + Enable the standard load path before loading site-load. + Make all_loaded_comp_units_h visible as a lisp variable, so loadup can explicitly fix up all loaded comp units, whether there is a symbol bound to a subr in that unit or not. + Make it possible to cleanly turn off further asynchronous compilation. I currently set native-comp-deferred-compilation-deny-list to '("/.*/"), but I've still seen an occasional job running the compiler on some subr. + Ensure the compiler is run using the pdmp file constructed just from loadup. It will be impossible to support or debug compiling with arbitrary compile-time environments. I've already encountered an issue from having call-interactive somehow advise itself when compiling with only additional core emacs libraries in the dump. I think that covers all the issues I dealt with. If my employer allows I can donate code to fix the purecopy issues in versions prior to 29. Lynn --000000000000bec41605e5a5a702 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">Version 28.1+<div dir=3D"auto">By experimentation I'v= e found the following issues are all that prevent dumping with large number= s of pre-loaded native compiled units.=C2=A0 The improvement in start-up pe= rformance versus requiring the same libraries in a .emacs file is ridiculou= s, even with all libraries pre-compiled.=C2=A0 The same fixes would provide= support for user's construction of personal dump files.</div><div dir= =3D"auto">+ Add additional build stage so a compile phase that only loads l= oadup is produced first, with a following stage to compile all the librarie= s loaded by site-load.=C2=A0 Originally suggested by Stefan Monnier, it app= ears absolutely necessary.=C2=A0 Most libraries not 8n loadup implicitly as= sume those libraries are in the compile-time environment.</div><div dir=3D"= auto">+. Add a flag variable to turn off the docstring hack in lead.c once = loadup has been processed (or eliminate the hack entirely).</div><div dir= =3D"auto">+ Also turn off the prohibition on implicit loading while in dump= mode based on that flag variable.=C2=A0 The file dependencies of site-load= can be determined using load-history once the baseline (loadup only) dump = has been constructed.</div><div dir=3D"auto">+ Turn off purification flag b= efore loading site-load, or fix bugs in purecopy/pure_alloc (elimination of= pure space counts as a bug fix).=C2=A0 Note that when I've selectively= turned off the purify flag in site-load to avoid purecopy bugs, the proces= s would reach the stage of calling pdump, but that call would hang indefini= tely (I let it go for a couple of hours the first time, and it just burned = cpu cycles without any change in memory use).=C2=A0=C2=A0</div><div dir=3D"= auto">+ Enable the standard load path before loading site-load.</div><div d= ir=3D"auto">+ Make all_loaded_comp_units_h visible as a lisp variable, so l= oadup can explicitly fix up all loaded comp units, whether there is a symbo= l bound to a subr in that unit or not.=C2=A0=C2=A0</div><div dir=3D"auto">+= Make it possible to cleanly turn off further asynchronous compilation.=C2= =A0 I currently set native-comp-deferred-compilation-deny-list to '(&qu= ot;/.*/"), but I've still seen an occasional job running the compi= ler on some subr.=C2=A0=C2=A0</div><div dir=3D"auto">+ Ensure the compiler = is run using the pdmp file constructed just from loadup.=C2=A0 It will be i= mpossible to support or debug compiling with arbitrary compile-time environ= ments.=C2=A0 I've already encountered an issue from having call-interac= tive somehow advise itself when compiling with only additional core emacs l= ibraries in the dump.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I = think that covers all the issues I dealt with.=C2=A0 If my employer allows = I can donate code to fix the purecopy issues in versions prior to 29.</div>= <div dir=3D"auto"><br></div><div dir=3D"auto">Lynn</div><div dir=3D"auto"><= br></div><div dir=3D"auto"><br></div></div> --000000000000bec41605e5a5a702--
Lynn Winebarger <owinebar@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#57035
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.