From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,29feef66ef3f71cd,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-02-13 15:54:31 PST Path: supernews.google.com!sn-xit-02!supernews.com!isdnet!newsfeed.cwix.com!skin02.micron.net!news03.micron.net.POSTED!not-for-mail Message-ID: <3A89A7C1.8D3CFC4@votehere.net> From: Andrew Berg X-Mailer: Mozilla 4.76 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: State of memory management in GNAT? Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Tue, 13 Feb 2001 13:31:45 -0800 NNTP-Posting-Host: 209.203.248.8 X-Trace: news03.micron.net 982099902 209.203.248.8 (Tue, 13 Feb 2001 14:31:42 MST) NNTP-Posting-Date: Tue, 13 Feb 2001 14:31:42 MST Xref: supernews.google.com comp.lang.ada:5243 Date: 2001-02-13T13:31:45-08:00 List-Id: 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