From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Fix to long-standing crashes in GC Date: 30 May 2004 16:44:53 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <40A3BC23.8060000@math.ku.dk> <200405180013.i4I0Ddl15818@raven.dms.auburn.edu> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1085949942 2109 80.91.224.253 (30 May 2004 20:45:42 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 30 May 2004 20:45:42 +0000 (UTC) Cc: Luc Teirlinck , rms@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sun May 30 22:45:35 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BUXBX-0007gi-00 for ; Sun, 30 May 2004 22:45:35 +0200 Original-Received: from lists.gnu.org ([199.232.76.165]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BUXBX-0003ng-00 for ; Sun, 30 May 2004 22:45:35 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BUXBg-0001fE-J7 for emacs-devel@quimby.gnus.org; Sun, 30 May 2004 16:45:44 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BUXBc-0001bN-T8 for emacs-devel@gnu.org; Sun, 30 May 2004 16:45:41 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BUXBa-0001X7-FX for emacs-devel@gnu.org; Sun, 30 May 2004 16:45:40 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BUXBa-0001X0-8u for emacs-devel@gnu.org; Sun, 30 May 2004 16:45:38 -0400 Original-Received: from [206.47.199.164] (helo=simmts6-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BUXAt-0006QF-VO; Sun, 30 May 2004 16:44:56 -0400 Original-Received: from empanada.local ([67.70.165.15]) by simmts6-srv.bellnexxia.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP id <20040530204455.JONV28020.simmts6-srv.bellnexxia.net@empanada.local>; Sun, 30 May 2004 16:44:55 -0400 Original-Received: by empanada.local (Postfix, from userid 502) id E4A231BDB29; Sun, 30 May 2004 16:44:53 -0400 (EDT) Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: Original-Lines: 18 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:24241 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:24241 >> The sweep step simply has to be atomic, just like most of the GC itself >> (afterall, that's why the mark&sweep algorithm is in the category called >> "stop-the-world"). > True -- but if you try to debug GC errors, I prefer the code to be as > safe as possible. If you want it for debugging purposes, feel free to switch the sweeping of strings w.r.t the sweeping of cons cells. I've never had to debug in there, so I wouldn't have any preference either way. As I said, it shouldn't make any difference w.r.t to correctness. The two "reasons" why I undid this part of your change were: - you also moved the sweeping of cons cells to before the sweeping of weak hash tables, which sounds seriously wrong. - I started from a full undo of your patch. Stefan