comp.lang.ada
 help / color / mirror / Atom feed
From: Florian Weimer <fw@deneb.enyo.de>
Subject: Re: Boehm-Demers-Weiser conservative garbage collector and GNAT
Date: Sat, 21 Jun 2003 20:51:37 +0200
Date: 2003-06-21T20:51:37+02:00	[thread overview]
Message-ID: <87brwrs1qe.fsf@deneb.enyo.de> (raw)
In-Reply-To: 1316747.mXveBPtf0Z@linux1.krischik.com

Martin Krischik <krischik@users.sourceforge.net> writes:

> I am wondering if it is possible to implement a storage pool using
> the Boehm-Demers-Weiser conservative garbage collector in GNAT.

There are a few pitfalls.  For example, objects with a controlled
component are always reachable from the collector's point of view, so
they can never be collected (in fact, the Ada semantics of
finalization mandate this behavior).  Furthermore, the collector can
hugely benefit from very basic type information (proper flagging of
pointer-free objects and objects without aliased components).

However, the real killer for the storage pool approach is the fact
that the collector will neither track properly the root set, nor task
creation.  You can solve the first problem with a custom
implementation of System.Memory (allocating all objects using the
collector); some more run-time library tweaking can solve the second.

(However, I still don't know if Boehm-Demers-Weiser collector is
actually compatible with GNAT's tasking implementation.)



  parent reply	other threads:[~2003-06-21 18:51 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-16 16:45 Boehm-Demers-Weiser conservative garbage collector and GNAT Martin Krischik
2003-06-17  9:04 ` Ludovic Brenta
2003-06-17  9:47   ` Preben Randhol
2003-06-17 10:19     ` Ludovic Brenta
2003-06-17 10:35       ` Preben Randhol
2003-06-17 11:53         ` Ludovic Brenta
     [not found]           ` <slrnbeu1ht.big.randhol+abuse@kiuk0152.chembio.ntnu.no>
2003-06-17 12:55             ` Larry Kilgallen
2003-06-17 13:00               ` Preben Randhol
2003-06-17 13:40                 ` Ludovic Brenta
2003-06-17 13:43                   ` Preben Randhol
2003-06-17 14:59                   ` Larry Kilgallen
2003-06-17 15:32                     ` Ludovic Brenta
2003-06-17 16:52                       ` Stephen Leake
2003-06-17 18:43                         ` Marin David Condic
2003-06-17 19:13                           ` Stephen Leake
2003-06-17 20:52                             ` Marin David Condic
2003-06-18  7:37                               ` Preben Randhol
2003-06-18 11:30                                 ` Marin David Condic
2003-06-21 19:04                         ` Florian Weimer
2003-06-23 21:11                           ` Stephen Leake
2003-06-24  8:47                             ` Vinzent Hoefler
2003-06-17 18:41                     ` Marin David Condic
2003-06-17 15:54                   ` Larry Kilgallen
     [not found]                   ` <QdZxXhgRp7Ti@eisner.encompasserve.orgOrganization: LJK Software <8nXPHPFBnkS2@eisner.encompasserve.org>
2003-06-17 16:08                     ` Ludovic Brenta
2003-06-17 17:37                   ` Larry Kilgallen
2003-06-17 19:22                   ` Larry Kilgallen
     [not found]                   ` <QdZxXhgRp7Ti@eisner.encompasserve.orgOrganization: LJK Software <vDKsCwFxWhWJ@eisner.encompasserve.org>
2003-06-17 20:57                     ` Marin David Condic
2003-06-18  5:57                     ` Robert I. Eachus
2003-06-18 13:36                     ` Jean-Pierre Rosen
2003-06-17 15:48         ` Martin Krischik
2003-06-17 15:46   ` Martin Krischik
2003-06-21 18:51 ` Florian Weimer [this message]
2003-06-22 17:32   ` Martin Krischik
2003-06-29 15:17     ` Florian Weimer
2003-06-30 18:58       ` Martin Krischik
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox