From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Camm Maguire Newsgroups: gmane.emacs.devel Subject: Re: Conservative GC isn't safe Date: Sat, 26 Nov 2016 10:21:03 -0500 Message-ID: <87lgw6clnk.fsf@maguirefamily.org> References: <66485157-00cd-4704-a421-cbfe84299cae@cs.ucla.edu> <69a1fdf3-7120-125b-8556-d74f5afc6b37@dancol.org> <8360na399k.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1480176130 29008 195.159.176.226 (26 Nov 2016 16:02:10 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 26 Nov 2016 16:02:10 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 26 17:02:03 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cAfQO-00063V-IA for ged-emacs-devel@m.gmane.org; Sat, 26 Nov 2016 17:02:00 +0100 Original-Received: from localhost ([::1]:50976 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cAfQS-0007hu-6m for ged-emacs-devel@m.gmane.org; Sat, 26 Nov 2016 11:02:04 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cAfPl-0007hR-3d for emacs-devel@gnu.org; Sat, 26 Nov 2016 11:01:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cAfPi-0007wu-2T for emacs-devel@gnu.org; Sat, 26 Nov 2016 11:01:21 -0500 Original-Received: from wh2a.eticomm.net ([204.213.253.15]:61878 helo=mail.host.eticomm.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cAfPh-0007uV-Tp for emacs-devel@gnu.org; Sat, 26 Nov 2016 11:01:17 -0500 Original-Received: from localhost ([173.61.133.218]) by wh2a.eticomm.net with MailEnable ESMTP; Sat, 26 Nov 2016 10:21:14 -0500 Original-Received: from camm by localhost with local (Exim 4.80) (envelope-from ) id 1cAeml-000850-Hh; Sat, 26 Nov 2016 10:21:03 -0500 In-Reply-To: (Stefan Monnier's message of "Sat, 26 Nov 2016 10:05:34 -0500") X-ME-Bayesian: 0.000000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 204.213.253.15 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:209619 Archived-At: GCL uses a conservative GC as well. I've always pondered how to make it more efficient by controlling the allocation and initialization of the stack. The general idea is that the stack should be initialized when allocated, including alignment padding. The natural place to do this is with a gcc switch, as I cannot see any way to distinguish variables in register in standard C. Anyone know of any developments along these lines? Take care, Stefan Monnier writes: >> How would you assert dynamically that if an interval is reachable, its >> owning string or buffer must be too? > > You don't. You check it statically (by a human). > >> It's not enough for the variable holding the reference to the string >> or buffer to be in scope: you have to be sure that the reference >> isn't dead. > > It should be: if it's in scope, it's not dead. > > > Stefan > > > > > -- Camm Maguire camm@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah