comp.lang.ada
 help / color / mirror / Atom feed
* State of memory management in GNAT?
@ 2001-02-13 21:31 Andrew Berg
  2001-02-14 11:20 ` Florian Weimer
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Berg @ 2001-02-13 21:31 UTC (permalink / raw)



I have not used ADA for anything substantial since I was an
undergraduate CS student, back in the '91-93 timeframe.  (When it was
still in vogue at the University of Washington.)  

At that time, I was somewhat unimpressed with the "state of the art" in
ADA memory management, which as I recall was at such a state that noone
that I talked to had any idea what it was.

According to my memory, the design of the language was such that it was
not impossible to implement a garbage collector, but for a particular
implementation of the compiler+libraries it was not required.  As a
result we ended up using something like "unchecked deallocation" to
release heap memory.

In the last few years, I have been (sadly) doing mostly C++ and PERL
programming, and have gotten used to the STL's automatic-but-inefficient
memory management, and PERL's
automatic-but-interpreted-so-it's-not-a-fair-comparison memory
management.

The essence of my question:

For C++ there is the Bohem-mumble-dash-somebody garbage collector, which
basically implements a conservative mark-sweep (I think, please don't
flame me if it's something else, because in this context it just doesn't
matter) garbage collector for C++'s heap.  I've used this in a couple of
little projects, and rather like the results. 

Has anyone implemented such a thing for GNAT?  Would it be possible? 
Would it be hard to adapt the Bohem one?  Is there any interest in such
a thing?  

-andrew



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-02-14 11:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-13 21:31 State of memory management in GNAT? Andrew Berg
2001-02-14 11:20 ` Florian Weimer

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