Re: Ada GC (Richard A. O'Keefe)
9 Feb 1996 12:05:02 -0500

          From comp.compilers

Related articles
[9 earlier articles]
Re: Ada GC (1996-02-04)
Re: Ada GC (1996-02-04)
Re: Ada GC (1996-02-04)
Re: Ada GC (Ken & Virginia Garlington) (1996-02-04)
Re: Ada GC rogoff@sccm.Stanford.EDU (1996-02-09)
Re: Ada GC lph@SEI.CMU.EDU (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
Re: Ada GC (1996-02-09)
[8 later articles]
| List of all articles for this month |

From: (Richard A. O'Keefe)
Newsgroups: comp.compilers,comp.lang.ada
Date: 9 Feb 1996 12:05:02 -0500
Organization: Comp Sci, RMIT, Melbourne, Australia
References: 96-01-037 96-01-146 96-02-003 96-02-023
Keywords: Ada, GC, realtime (Robert A Duff) writes:
>Henry Baker decries the fact that real-time GC has been around for 20
>years, and yet Ada still doesn't require its use. Well, it may have
>been around for 20 years, but the fact is that it is not in widespread
>use among real-time folks (though there are exceptions).

Chicken-and-egg. They didn't use it because it wasn't supported and
it isn't supported because they didn't use it. Now, if there's a
program my life depends on, I want to be _sure_ that it won't run out
of memory, so there are places I don't want to see GC being used.
Apart from that, try giving real-time programmers a programming
*system* that supports GC with guaranteed bounds, and *then* draw
conclusions if they don't use it. Erlang has already been mentioned.

By the way, there is a possible compromise. Scheme is a language
which normally uses a garbage collected heap. The Stalin compiler
tries to turn as much of this into stack allocation as it can. One
could imagine writing in Scheme, then saying "this bit is safety
critical; turn 'had to use heap allocation' into an error message".
This brings us back to the theme of comp.compilers: garbage collection
is not just a RTS issue, it is not something could can bolt onto the
back of any old C compiler (pace Boehm, to whom be braise) because a C
compiler can legally do all sorts of horrible things to you. A
GC-aware compiler, like the Stalin compiler, can turn source heap
allocation into object static or stack allocation sometimes; can
generate code that relies on knowing what the garbage collector will
do (e.g. not bothering to initialise a field if the garbage collector
won't run until after the next assignment to that field), &c.
Richard A. O'Keefe;; RMIT Comp.Sci.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.