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: please help about the implementation of GC. Date: Sun, 30 Oct 2011 18:05:23 -0400 Message-ID: References: <838vo28ix9.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1320012336 26690 80.91.229.12 (30 Oct 2011 22:05:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 30 Oct 2011 22:05:36 +0000 (UTC) Cc: Eli Zaretskii , Andreas Schwab , emacs-devel@gnu.org To: Alin Soare Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 30 23:05:32 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RKdVU-0006mr-7a for ged-emacs-devel@m.gmane.org; Sun, 30 Oct 2011 23:05:32 +0100 Original-Received: from localhost ([::1]:35039 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKdVT-0006Eq-By for ged-emacs-devel@m.gmane.org; Sun, 30 Oct 2011 18:05:31 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:42406) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKdVP-0006Eg-LQ for emacs-devel@gnu.org; Sun, 30 Oct 2011 18:05:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RKdVO-00089s-S5 for emacs-devel@gnu.org; Sun, 30 Oct 2011 18:05:27 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:26803 helo=ironport2-out.pppoe.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKdVN-00089B-Cc; Sun, 30 Oct 2011 18:05:25 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAM3JrU5MCoYy/2dsb2JhbABDqT+BBoFyAQEEAVYjBQsLDiYSFBgNJIgVsjyJAgShRIRF X-IronPort-AV: E=Sophos;i="4.69,427,1315195200"; d="scan'208";a="145270142" Original-Received: from 76-10-134-50.dsl.teksavvy.com (HELO ceviche.home) ([76.10.134.50]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 30 Oct 2011 18:05:23 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 4C0CE660D4; Sun, 30 Oct 2011 18:05:23 -0400 (EDT) In-Reply-To: (Alin Soare's message of "Sun, 30 Oct 2011 20:27:33 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.183 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:145807 Archived-At: > For example, I cannot understand what kind of objects are kept in every > node of the red-black tree (in books I never saw gc implemented with > red-black trees). I know that the objects are kept in obarrays. What link > is there between obarrays and red-black tree of gc ? Start by ignoring the conservative stack scanning (which is the one that uses the red-black tree). Also the fact that we use a red-black tree is not important: it's just a map from addresses to information about them (whether the address is allocated to Elisp data and if so to which kind of data). Stefan