comp.lang.ada
 help / color / mirror / Atom feed
From: macrakis@HARVARD.HARVARD.EDU (Stavros Macrakis)
Subject: GC in Ada
Date: Tue, 1-Apr-86 17:00:09 EST	[thread overview]
Date: Tue Apr  1 17:00:09 1986
Message-ID: <8604012341.AA00699@ucbvax.berkeley.edu> (raw)

A few weeks ago, there was a query about garbage collection in Ada.
I've assembled a few notes on the subject.

Several Ada systems appear to have garbage collectors (GC) in
development environments (e.g. Rational, Symbolics).  As far as I have
been able to ascertain, no production Ada environment provides garbage
collection in the target computer.

The usual argument is that embedded applications shouldn't GC, because
GC is inefficient and episodic.  This is spurious for several reasons:

 1. Prototypes and early development versions may prefer to sacrifice
    efficiency for simplicity and speed of programming.

 2. Many Ada applications will in fact not be embedded.

 3. If you have GC, it is very easy to add a capability to detect and
    report undeallocated objects and dangling pointers.

 4. Embedded applications may even want GC.  Traditional episodic GC
    will do for some; others will need real-time GC algorithms.

 5. GC may not be as expensive as is thought, especially if currently
    known advanced implementation techniques are used.

 6. Given Ada's typing, scoping, and tasking, much processing can
    continue even during episodic GC.

However, implementing a GC for Ada is not entirely trivial.  Although
Ada's semantics certainly allow GC, some compiler-writers may have
chosen runtime models which make it impractical or impossible.  Not
only must pointers in memory be traceable, but transient `hazards'
must be avoided.  The conditions are even more stringent for
relocating/compacting GC, of course.

The only current compilers I know the internals of, the Intermetrics
Byron Ada compiler family, have their runtime model carefully designed
to in fact make GC practical.  However, no customer so far has
specified GC.  I'm sure Intermetrics would be happy to sell a GC
option as soon as the market demand became sufficient.

	-s

	Stavros Macrakis
	Harvard Univ. and Intermetrics, Inc.

             reply	other threads:[~1986-04-01 22:00 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1986-04-01 22:00 Stavros Macrakis [this message]
  -- strict thread matches above, loose matches on Subject: below --
1986-04-02  3:02 GC in Ada Rick Conn
1986-04-02 17:50 Stavros Macrakis
1986-04-04  3:41 Rick Conn
2007-01-24 11:06 How come Ada isn't more popular? gautier_niouzes
2007-01-24 19:25 ` tmoran
2007-01-25  4:46   ` Gautier
2007-01-25  9:29     ` Markus E Leypold
2007-01-27 16:59       ` Stephen Leake
2007-01-27 20:40         ` Markus E Leypold
2007-01-29  8:56           ` Maciej Sobczak
2007-01-29 14:21             ` Markus E Leypold
2007-01-31  9:23               ` Maciej Sobczak
2007-01-31 10:24                 ` Markus E Leypold
2007-02-02  8:42                   ` Maciej Sobczak
2007-02-02 13:57                     ` Markus E Leypold
2007-02-05  9:59                       ` Maciej Sobczak
2007-02-05 13:43                         ` Markus E Leypold
2007-02-06  9:15                           ` Maciej Sobczak
2007-02-06 11:45                             ` Markus E Leypold
2007-02-06 14:16                               ` Maciej Sobczak
2007-02-06 15:44                                 ` Markus E Leypold
2007-02-07  8:55                                   ` Maciej Sobczak
2007-02-07  9:30                                     ` GC in Ada Martin Krischik
2007-02-07 11:08                                       ` Markus E Leypold
2007-02-07 11:15                                       ` Maciej Sobczak
2007-02-07 11:53                                         ` Martin Krischik
2007-02-07 12:22                                           ` Markus E Leypold
2007-02-08  7:26                                             ` Martin Krischik
2007-02-08  9:33                                               ` Markus E Leypold
2007-02-09 13:37                                                 ` Martin Krischik
2007-02-09 13:47                                                 ` Georg Bauhaus
2007-02-09 15:29                                                   ` Maciej Sobczak
2007-02-09 20:52                                                     ` Georg Bauhaus
2007-02-08  7:48                                           ` Maciej Sobczak
2007-02-08  8:20                                             ` Martin Krischik
2007-02-08  8:43                                             ` Markus E Leypold
2007-02-09 14:20                                               ` Maciej Sobczak
2007-02-09 16:23                                                 ` Markus E Leypold
2007-02-12  8:52                                                   ` Maciej Sobczak
2007-02-12 12:56                                                     ` Markus E Leypold
2007-02-08 18:24                                             ` Jeffrey R. Carter
2007-02-09  8:57                                               ` Jean-Pierre Rosen
2007-02-09 12:57                                                 ` Robert A Duff
2007-02-09 14:44                                                   ` Jean-Pierre Rosen
2007-02-10 13:38                                                     ` Robert A Duff
2007-02-12  8:47                                                       ` Jean-Pierre Rosen
2007-02-12 15:31                                                         ` Jeffrey R. Carter
2007-02-09 18:35                                                 ` Jeffrey R. Carter
2007-02-10 19:01                                                   ` Martin Krischik
2007-02-11 15:22                                                   ` Pascal Obry
2007-02-11 20:30                                                     ` Jeffrey R. Carter
2007-02-13 18:47                                                       ` Pascal Obry
2007-02-13 23:08                                                         ` Jeffrey R. Carter
2007-02-14 11:13                                                           ` Jean-Pierre Rosen
2007-02-14 16:29                                                             ` Jeffrey R. Carter
2007-02-14 19:47                                                           ` Robert A Duff
2007-02-14 11:10                                                         ` Jean-Pierre Rosen
2007-02-14 16:29                                                           ` Jeffrey R. Carter
2007-02-15  8:39                                                             ` Jean-Pierre Rosen
2007-02-15 17:14                                                               ` Jeffrey R. Carter
2007-02-08 18:38                                           ` Dmitry A. Kazakov
2007-02-09  7:58                                             ` Maciej Sobczak
2007-02-09 10:07                                             ` Martin Krischik
2007-02-09 14:10                                               ` Dmitry A. Kazakov
2007-02-07 12:19                                         ` Markus E Leypold
2007-02-08  7:54                                           ` Maciej Sobczak
2007-02-08  9:49                                             ` Markus E Leypold
replies disabled

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