From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Pure nil and t? Date: Mon, 22 Sep 2014 10:51:59 +0200 Organization: Organization?!? Message-ID: <871tr4m40g.fsf@fencepost.gnu.org> References: <541FDFF8.8060405@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1411375970 17719 80.91.229.3 (22 Sep 2014 08:52:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Sep 2014 08:52:50 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Sep 22 10:52:42 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XVzMP-0003JL-1y for ged-emacs-devel@m.gmane.org; Mon, 22 Sep 2014 10:52:41 +0200 Original-Received: from localhost ([::1]:43565 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVzMO-0008B1-Mi for ged-emacs-devel@m.gmane.org; Mon, 22 Sep 2014 04:52:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55382) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVzMF-00089k-Tt for emacs-devel@gnu.org; Mon, 22 Sep 2014 04:52:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XVzM8-0002yG-Jd for emacs-devel@gnu.org; Mon, 22 Sep 2014 04:52:31 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:54598) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVzM8-0002wQ-DQ for emacs-devel@gnu.org; Mon, 22 Sep 2014 04:52:24 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XVzM1-000373-QD for emacs-devel@gnu.org; Mon, 22 Sep 2014 10:52:17 +0200 Original-Received: from x2f44b16.dyn.telefonica.de ([2.244.75.22]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 22 Sep 2014 10:52:17 +0200 Original-Received: from dak by x2f44b16.dyn.telefonica.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 22 Sep 2014 10:52:17 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 23 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: x2f44b16.dyn.telefonica.de X-Face: 2FEFf>]>q>2iw=B6, xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN; i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) Cancel-Lock: sha1:evtud8lrfU8elfnUsfOIg0Q779k= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:174640 Archived-At: Dmitry Antipov writes: > For a long byte-compile runs, ~15-17% of objects seen by GC are nil and t > (especially nil, which is ~10x more "popular" than t). What about making > them pure? Thus way they will be quickly filtered out by PURE_POINTER_P > check in mark_object, thus offloading GC from an in-depth examination of > them each time when they're found. In my Emacs I see M-: (symbol-plist nil) RET (event-symbol-element-mask (nil 0) event-symbol-elements (nil) modifier-cache ((0))) M-: (symbol-plist t) RET (event-symbol-element-mask (t 0) event-symbol-elements (t) modifier-cache ((0 . t))) While I consider it likely that those are the result of glitches and/or bugs, it would be nice if those glitches did not lead to crashes by letting these plists get collected in spite of being accessible. I have no idea whether this would be the case. It's just that I can imagine it to be. -- David Kastrup