From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: Boehm-Demers-Weiser conservative garbage collector and GNAT
Date: Sun, 22 Jun 2003 19:32:29 +0200
Date: 2003-06-22T19:32:29+02:00 [thread overview]
Message-ID: <1553495.v99NdxNB06@linux1.krischik.com> (raw)
In-Reply-To: 87brwrs1qe.fsf@deneb.enyo.de
Florian Weimer wrote:
> 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).
The Boehm-Demers-Weiser conservative garbage collector has atomic memory
which must be pointer free. But this is used only for performance
improvemend.
> 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.
Current status is that I implemented the thin and thick bindung to the
collector and added the collector to my Trace class. Trace is used in any
class and task so it a good test. But I will add further tests.
> (However, I still don't know if Boehm-Demers-Weiser collector is
> actually compatible with GNAT's tasking implementation.)
All seem to work with OS/2. I havn't had time for testing Linux. The mingw
used with GNAT 3.15 Windows does not support all the signaling needed so I
can't link libgc.a into the test programs.
Any help is still be appreciated.
With Regards
Martin.
--
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com
next prev parent reply other threads:[~2003-06-22 17:32 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
2003-06-22 17:32 ` Martin Krischik [this message]
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