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,fd63afa4dc364b7e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-03-16 14:07:39 PST Newsgroups: comp.lang.ada Path: supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!209.50.235.254!europa.netcrusader.net!63.208.208.143!feed2.onemain.com!feed1.onemain.com!uunet!dca.uu.net!ash.uu.net!world!bobduff From: Robert A Duff Subject: Re: Better support for garbage collection Sender: bobduff@world.std.com (Robert A Duff) Message-ID: Date: Fri, 16 Mar 2001 20:10:13 GMT References: <98m938$2iod0$1@ID-25716.news.dfncis.de> <861ys03t2f.fsf@acm.org> <86bsr15wft.fsf@acm.org> Organization: The World Public Access UNIX, Brookline, MA X-Newsreader: Gnus v5.3/Emacs 19.34 Xref: supernews.google.com comp.lang.ada:5774 Date: 2001-03-16T20:10:13+00:00 List-Id: Laurent Guerby writes: > I'm even surprised it's possible to implement at all. How do you > manage to get one pool per file in Ada My plan is to have a package that keeps track of the "current pool", with a Set_Current_Pool operation, or some such. And a storage pool that redirects Allocate requests to the current pool. This is somewhat error prone. It is also not task safe, and adding locks would be too inefficient (I think). If Ada had task-local storage, I could make it task safe, but still error prone. I haven't actually got this working -- I'm still designing. I can imagine other ways involving low-level tricks. >... (I assume a dynamic number of > file)? Right. However many source files are in the program being analyzed, which changes over time. > You also need a new version of Unchecked_Deallocation with an > additional parameter, but no new syntax needed here (and with > overloading, no new name). U_D is a generic, and is a library unit, and overloading is not allowed for generics, nor for lib units. - Bob