From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: BASE_PURESIZE Date: Sat, 24 Oct 2009 15:01:21 -0400 Message-ID: References: <8363a6gytm.fsf@gnu.org> <834opqgpzs.fsf@gnu.org> <83skd9f6ok.fsf@gnu.org> <83ljj1exq6.fsf@gnu.org> <200910241727.n9OHReEu007324@godzilla.ics.uci.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1256410905 11808 80.91.229.12 (24 Oct 2009 19:01:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 24 Oct 2009 19:01:45 +0000 (UTC) Cc: Eli Zaretskii , Andreas Schwab , emacs-devel@gnu.org To: Dan Nicolaescu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 24 21:01:37 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N1lrt-0003G4-84 for ged-emacs-devel@m.gmane.org; Sat, 24 Oct 2009 21:01:37 +0200 Original-Received: from localhost ([127.0.0.1]:47089 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N1lrs-0005ek-Fh for ged-emacs-devel@m.gmane.org; Sat, 24 Oct 2009 15:01:36 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N1lrm-0005eH-7J for emacs-devel@gnu.org; Sat, 24 Oct 2009 15:01:30 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N1lrg-0005c8-Mh for emacs-devel@gnu.org; Sat, 24 Oct 2009 15:01:28 -0400 Original-Received: from [199.232.76.173] (port=38383 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N1lrg-0005c2-J6 for emacs-devel@gnu.org; Sat, 24 Oct 2009 15:01:24 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:29635 helo=ironport2-out.pppoe.ca) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N1lre-0003Gw-FB; Sat, 24 Oct 2009 15:01:22 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArwEAAbs4kpLd/m0/2dsb2JhbACBUNN0hD8EgV5/hVeCfQ X-IronPort-AV: E=Sophos;i="4.44,617,1249272000"; d="scan'208";a="48113822" Original-Received: from 75-119-249-180.dsl.teksavvy.com (HELO ceviche.home) ([75.119.249.180]) by ironport2-out.pppoe.ca with ESMTP; 24 Oct 2009 15:01:21 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 7CAB0B408B; Sat, 24 Oct 2009 15:01:21 -0400 (EDT) In-Reply-To: <200910241727.n9OHReEu007324@godzilla.ics.uci.edu> (Dan Nicolaescu's message of "Sat, 24 Oct 2009 10:27:40 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116372 Archived-At: >> . The default value of SYSTEM_PURESIZE_EXTRA is zero, and is not >> increased for GUI builds. This causes a --without-x build to waste >> some 100KB. If we want to handle this, the basic constant in >> BASE_PURESIZE can be as low as 1290000 and SYSTEM_PURESIZE_EXTRA >> should have its default at 140000 for GUI builds, zero otherwise. I'm not terribly concerned about wasting 100KB in pure space (or even more than that): it's space we don't ever touch or look at, so it's never brought into RAM. IOW it's very cheap. OTOH checking what really goes into purespace and why something doesn't is good, because moving data into purespace is good. Stefan PS: Regarding the recent purecopy of autoload's file names: why not just purecopy the whole autload list? --- src/eval.c 2009-10-24 12:32:03 +0000 +++ src/eval.c 2009-10-24 18:32:23 +0000 @@ -2112,10 +2148,7 @@ (function, file, docstring, interactive, type) Lisp_Object function, file, docstring, interactive, type; { - Lisp_Object args[4]; - CHECK_SYMBOL (function); - CHECK_STRING (file); /* If function is defined and not as an autoload, don't override */ if (!EQ (XSYMBOL (function)->function, Qunbound) @@ -2128,15 +2161,13 @@ not useful and else we get loads of them from the loaddefs.el. */ LOADHIST_ATTACH (Fcons (Qautoload, function)); - if (NILP (Vpurify_flag)) - args[0] = file; - else - args[0] = Fpurecopy (file); - args[1] = docstring; - args[2] = interactive; - args[3] = type; - - return Ffset (function, Fcons (Qautoload, Flist (4, &args[0]))); + if (!NILP (Vpurify_flag)) + /* We don't want the docstring in purespace (instead, + Snarf-documentation should (hopefully) overwrite it). */ + docstring = make_number (0); + return Ffset (function, + Fpurecopy (list5 (Qautoload, file, docstring, + interactive, type))); } Lisp_Object