From: Keith Thompson <kst@cts.com>
Subject: Re: garbage collection
Date: 1999/08/20
Date: 1999-08-20T07:49:30+00:00 [thread overview]
Message-ID: <yec9076vqly.fsf@king.cts.com> (raw)
In-Reply-To: 37BB3C67.64DC8383@mitre.org
"Robert I. Eachus" <eachus@mitre.org> writes:
[...]
> I could go into all the gory details, but that about sums it up. The
> validation tests do include several tests to insure that storage is not
> lost in many common situations, but there is no requirement that storage
> be freed the moment their are no more references. Many Ada compilers
> instead free the storage when the access type goes out of scope for some
> or all types.
>
> Why? Three reasons. Freeing the storage when the type goes out of
> scope allows for predictable storage reclamation which is very useful in
> real-time code. Second, the user can easily manage storage for any type
> the way he wants to. Insisting on "full" garbage collection would limit
> the user's choices.
[...]
BTW, in my experience most access types don't go out of scope until
the program terminates, because they're declared in library-level
packages. The automated reclamation can only take place if the access
type is declared directly or indirectly within a subprogram or a task
body (there may be other cases).
(I'm not sure how typical my experience is; how common is it to
declare an access type within a subprogram?)
Note that declaring an access *object* within a subprogram doesn't let
the storage it refers to be reclaimed; the access value could have
been copied to an object in an outer scope before the subprogram
completed.
> And finally, Ada allows return values from functions which are
> unbounded, and for which the storage is "automagically" managed. If you
> define a function which returns a string in Ada, there is no need for
> explicit alloc and free calls or the equivalent. So in ninety percent
> or more of the cases where you need garbage collection in other
> languages, you don't even need explicit allocations in Ada.
Right, I think this is the biggest reason that the lack of garbage
collection in most Ada implementations isn't (much of) a problem.
--
Keith Thompson (The_Other_Keith) kst@cts.com <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://www.sdsc.edu/~kst>
One of the great tragedies of ancient history is that Helen of Troy
lived before the invention of the champagne bottle.
next prev parent reply other threads:[~1999-08-20 0:00 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-18 0:00 garbage collection Ronald Ayoub
1999-08-18 0:00 ` Robert I. Eachus
1999-08-19 0:00 ` Gautier
1999-08-19 0:00 ` Robert I. Eachus
1999-08-20 0:00 ` Keith Thompson [this message]
1999-08-20 0:00 ` Robert Dewar
1999-08-18 0:00 ` Pascal MALAISE
1999-08-20 0:00 ` David Botton
1999-08-18 0:00 ` Gisle S�lensminde
1999-08-18 0:00 ` tmoran
1999-08-18 0:00 ` Keith Thompson
1999-08-19 0:00 ` Tucker Taft
1999-08-19 0:00 ` Robert Dewar
1999-08-19 0:00 ` Robert Dewar
1999-08-20 0:00 ` tmoran
1999-08-20 0:00 ` Keith Thompson
1999-08-20 0:00 ` Matthew Heaney
1999-08-20 0:00 ` Keith Thompson
1999-08-21 0:00 ` Robert Dewar
1999-08-21 0:00 ` Matthew Heaney
1999-08-21 0:00 ` Matthew Heaney
1999-08-21 0:00 ` Robert Dewar
1999-08-21 0:00 ` garbage collection [storage pools] Robert Dewar
1999-08-21 0:00 ` Simon Wright
1999-08-21 0:00 ` garbage collection Brian Rogoff
1999-08-21 0:00 ` Robert Dewar
1999-08-21 0:00 ` Default Storage Pool (was Re: garbage collection) Simon Wright
1999-08-23 0:00 ` Robert A Duff
-- strict thread matches above, loose matches on Subject: below --
1996-10-24 0:00 Garbage Collection H Brett Bolen
1989-01-10 19:16 Erland Sommarskog
1989-01-11 16:10 ` William Thomas Wolfe,2847,
1989-01-06 22:17 Erland Sommarskog
1989-01-08 18:40 ` William Thomas Wolfe,2847,
1989-01-09 3:56 ` Barry Margolin
1989-01-09 16:22 ` William Thomas Wolfe,2847,
1989-01-09 19:00 ` Barry Margolin
1989-01-10 2:50 ` William Thomas Wolfe,2847,
1989-01-11 9:22 ` Barry Margolin
1989-01-11 16:01 ` William Thomas Wolfe,2847,
1989-01-11 18:21 ` Barry Margolin
1989-01-12 2:43 ` William Thomas Wolfe,2847,
1989-01-15 7:14 ` Barry Margolin
1989-01-05 23:26 Erland Sommarskog
1988-12-31 0:04 Erland Sommarskog
1989-01-05 8:13 ` William Thomas Wolfe,2847,
1988-12-28 19:20 Erland Sommarskog
1988-12-30 0:52 ` Bill Wolfe
1988-12-26 23:37 Erland Sommarskog
1988-12-27 21:24 ` William Thomas Wolfe,2847,
1988-12-28 16:09 ` Snorri Agnarsson
1988-12-30 0:46 ` Bill Wolfe
1988-12-27 22:24 ` Bob Hathaway
1988-12-18 20:12 Erland Sommarskog
1988-12-20 19:04 ` Bill Wolfe
1988-12-13 20:07 Erland Sommarskog
1988-12-15 19:13 ` William Thomas Wolfe,2847,
1988-12-07 15:22 Collective response to := messa ron
1988-12-11 19:11 ` Garbage Collection William Thomas Wolfe,2847,
1988-12-12 5:29 ` John Gateley
1988-12-12 18:19 ` William Thomas Wolfe,2847,
1988-12-13 1:02 ` Alexander Klaiber
1988-12-13 18:37 ` William Thomas Wolfe,2847,
1988-12-13 23:36 ` Alexander Klaiber
1988-12-14 3:26 ` William Thomas Wolfe,2847,
1988-12-14 17:16 ` Stephe Leake
1988-12-15 14:43 ` Thomas P. Morris
1988-12-14 23:30 ` John Gateley
1988-12-15 19:25 ` William Thomas Wolfe,2847,
1988-12-19 16:12 ` John Gateley
1988-12-20 19:34 ` Bill Wolfe
1988-12-13 20:22 ` William Thomas Wolfe,2847,
1988-12-14 6:40 ` Richard A. O'Keefe
1988-12-14 17:43 ` William Thomas Wolfe,2847,
1989-01-02 17:51 ` ryer
1989-01-05 8:31 ` William Thomas Wolfe,2847,
1989-01-06 16:58 ` ryer
1989-01-08 19:24 ` William Thomas Wolfe,2847,
[not found] <145@krafla.rhi.hi.is>
[not found] ` <272@fang.ATT.COM>
1988-03-29 13:47 ` From Modula to Oberon Denis Fortin
1988-03-30 15:32 ` Lawrence Crowl
1988-03-30 22:41 ` Hans Boehm
1988-03-31 6:27 ` Garbage Collection Richard Harter
1988-03-31 19:49 ` Hans Boehm
1988-04-01 5:43 ` Richard Harter
1988-04-01 18:43 ` Hans Boehm
1988-04-04 23:14 ` 00704a-Liber
1986-03-16 22:24 Garbage collection "Alexander L. Wolf"
[not found] <1979@mit-eddi.UUCP>
[not found] ` <2144@mit-eddie.UUCP>
1984-06-18 19:28 ` Abstraction In Ada Jon Mauney
1984-06-22 7:47 ` Doug Alan
1984-06-25 2:15 ` brad
1984-07-17 10:34 ` garbage collection Eric Smith
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox