comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: GC+HC for GNAT/GCC (was: Building a compiler)
Date: 1999/02/05
Date: 1999-02-05T00:00:00+00:00	[thread overview]
Message-ID: <79enud$lvc$2@plug.news.pipex.net> (raw)
In-Reply-To: 79asc3$cq3$1@nnrp1.dejanews.com

robert_dewar@my-dejanews.com wrote in message
<79asc3$cq3$1@nnrp1.dejanews.com>...
|A very nice project would be to try to add full garbage
|collection to GNAT ....


Now _there's_ a challenge!

Actually, I'd be really surprised if someone hasn't already done this.
Still, I'm quite happy to throw in a contribution if it would be genuinely
useful.

First, let's be clear about what we are talking about. By "full garbage
collection", I assume Robert means both 'garbage collection' (i.e.
recognising which allocated objects are no longer accessible), and 'heap
compaction' (i.e. moving allocated objects so as to remove unused fragments
from their pool).

There are several possible combinations of schemes, all with their own
peculiar merits and problems, so I would suggest that a wide selection be
provided (as different pool types).

It should be understood that all of these schemes would have various
ramifications for both the GNAT front-end intermediate code emitter, as well
as for the GCC back-end object code emitter. Locking variations would
require a special machine instruction (different for each target
architecture).

It would probably be sensible for someone familiar with GNAT and GCC to help
me to 'splice' my code into GNAT and GCC. Any volunteers?

Finally, a quote:

"Machines with so-called 'virtual storage' may give the compiler writer a
large number of logically separate segments of storage, all of which can be
of effectively boundless size. The catch is that if storage is used as if it
were boundless, the time taken to run programs will be equally boundless.
Thus, irrespective of whether virtual storage is available, you do well to
be miserly with your storage." -- P.J.Brown, "Writing Interactive Compilers
and Interpreters", Wiley 1979 [written in the days of MULTICS: for "number
of logically separate segments" substitute "linear address space"]

And another:

"Garbage collection is a feature of the run-time support for some imperative
languages (such as Ada) ..."
-- David A. Watt "Programming Language Processors", Prentice Hall 1993

In practice, full GC isn't a feature of Ada - but I reckon it should be (at
least as an option). So, like Captain Picard, let's "make it so"!

Nick Roberts







  parent reply	other threads:[~1999-02-05  0:00 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-14  0:00 Fixed point multiplication ambiguity Marc A. Criley
1999-01-14  0:00 ` Matthew Heaney
1999-01-14  0:00 ` Tucker Taft
1999-01-15  0:00   ` robert_dewar
1999-01-28  0:00   ` Nick Roberts
1999-01-28  0:00     ` Tucker Taft
1999-01-28  0:00       ` robert_dewar
1999-01-29  0:00       ` Nick Roberts
1999-01-29  0:00         ` Tucker Taft
1999-01-29  0:00           ` Nick Roberts
1999-01-29  0:00             ` Tucker Taft
1999-02-01  0:00               ` Robert I. Eachus
1999-02-02  0:00               ` Building a compiler (was: Fixed point multiplication ambiguity) Nick Roberts
1999-02-03  0:00                 ` Chris Morgan
1999-02-04  0:00                   ` robert_dewar
1999-02-04  0:00                     ` Garbage collection - was " news.oxy.com
1999-02-04  0:00                       ` robert_dewar
1999-02-05  0:00                         ` David Botton
1999-02-05  0:00                         ` Tom Moran
1999-02-18  0:00                         ` news.oxy.com
1999-02-18  0:00                           ` Garbage collection - was Re: Building a compiler Samuel Mize
1999-02-19  0:00                             ` Samuel Mize
1999-02-18  0:00                           ` Garbage collection - was Re: Building a compiler (was: Fixed point multiplication ambiguity) David Botton
1999-02-18  0:00                           ` dewar
1999-02-18  0:00                           ` AdaHag
1999-02-19  0:00                           ` Steven Hovater
1999-02-20  0:00                           ` A Modest Defense of ACT (though they are big boys and can take care of themselves) Steve Quinlan
1999-02-21  0:00                             ` dewar
1999-02-22  0:00                               ` Matthew Heaney
1999-02-21  0:00                                 ` bill
1999-02-22  0:00                                   ` Larry Kilgallen
1999-02-22  0:00                                 ` dennison
1999-02-22  0:00                             ` dennison
1999-02-24  0:00                               ` Steve Quinlan
1999-02-25  0:00                                 ` dewar
1999-02-25  0:00                                   ` Steve Quinlan
1999-02-25  0:00                                     ` robert_dewar
1999-02-25  0:00                                 ` dennison
1999-02-26  0:00                                   ` Steve Quinlan
1999-02-26  0:00                                     ` dennison
1999-02-27  0:00                                       ` Simon Wright
1999-02-27  0:00                                         ` Dave Taylor
1999-02-28  0:00                                       ` dewar
1999-02-05  0:00                     ` Nick Roberts [this message]
     [not found]                       ` <m33e4jvs1n.fsf@muc.de>
1999-02-06  0:00                         ` GC+FSD for GNAT/GCC Nick Roberts
1999-02-07  0:00                           ` robert_dewar
1999-02-05  0:00                   ` Building a compiler Nick Roberts
1999-02-05  0:00                     ` Tucker Taft
1999-02-06  0:00                       ` Nick Roberts
1999-02-03  0:00                 ` Building a compiler (was: Fixed point multiplication ambiguity) dennison
1999-01-30  0:00             ` Fixed point multiplication ambiguity robert_dewar
1999-02-02  0:00               ` Building a compiler (was: Fixed point multiplication ambiguity) Nick Roberts
1999-02-03  0:00                 ` Tucker Taft
1999-02-03  0:00                 ` robert_dewar
1999-01-28  0:00     ` Fixed point multiplication ambiguity robert_dewar
1999-01-14  0:00 ` Tom Moran
1999-01-14  0:00 ` bob
1999-01-14  0:00 ` David C. Hoos, Sr.
1999-01-14  0:00 ` Robert I. Eachus
replies disabled

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