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: Should catchlist elements be marked during GC? Date: Thu, 13 Jul 2006 11:24:15 -0400 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1152804325 21817 80.91.229.2 (13 Jul 2006 15:25:25 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 13 Jul 2006 15:25:25 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 13 17:25:17 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1G133O-0004la-Rz for ged-emacs-devel@m.gmane.org; Thu, 13 Jul 2006 17:24:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G133O-0006MY-At for ged-emacs-devel@m.gmane.org; Thu, 13 Jul 2006 11:24:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1G133B-0006M2-FZ for emacs-devel@gnu.org; Thu, 13 Jul 2006 11:24:25 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1G1338-0006LF-U5 for emacs-devel@gnu.org; Thu, 13 Jul 2006 11:24:25 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G1338-0006LC-OI for emacs-devel@gnu.org; Thu, 13 Jul 2006 11:24:22 -0400 Original-Received: from [132.204.24.67] (helo=mercure.iro.umontreal.ca) by monty-python.gnu.org with esmtp (Exim 4.52) id 1G134v-0006p2-Nc for emacs-devel@gnu.org; Thu, 13 Jul 2006 11:26:13 -0400 Original-Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 417812CF615; Thu, 13 Jul 2006 11:24:22 -0400 (EDT) Original-Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 0864F445C; Thu, 13 Jul 2006 11:24:16 -0400 (EDT) Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id E1FA46C8D4; Thu, 13 Jul 2006 11:24:15 -0400 (EDT) Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: (Kim F. Storm's message of "Thu, 13 Jul 2006 12:09:09 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca 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:56975 Archived-At: > During GC, we don't explicitly go through the catchlist, marking the > TAG and VAL member of each element. What makes you say so? In Fgarbage_collect I see: for (catch = catchlist; catch; catch = catch->next) { mark_object (catch->tag); mark_object (catch->val); } > I just wondered if it is safe to assume that the TAG and VAL members > are always marked due to some other method? Actually, it is safe to assume so if we use conservative stack marking because the catchlist elements are all allocated on the stack, so we currently mark them redundantly. The same holds for the handlerlist, the byte stacks, and the backtrace list (but not for the specpdl array which is not allocated on the stack). I have a patch to remove this redundant scanning, but keep it for post-22. Stefan