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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3498dd887729ed19 X-Google-Attributes: gid103376,public From: John Howard Subject: Re: Garbage Collection in Ada Date: 1996/10/17 Message-ID: #1/1 X-Deja-AN: 190180139 references: <01bbb910$f1e73f60$829d6482@joy.ericsson.se><199610132138291604607@dialup101-6-14.swipnet.se><1996Oct13.194807.1@eisner> content-type: TEXT/PLAIN; charset=US-ASCII organization: Abest Network Services Inc. http://www.abest.com mime-version: 1.0 newsgroups: comp.lang.ada Date: 1996-10-17T00:00:00+00:00 List-Id: On 15 Oct 1996, R.I.E. wrote: > Adding support for a storage pool that supports GC would probably > be EXTREMELY low cost. Doesn't GCC already use "fat" pointers under > some circumstances? All that would be needed is a pragma that > indicates that a certain storage pool uses fat pointers. [snip] pragma Cess_Pool(storage_pool_type) ;) [Sorry about the stupid pun but it seems almost appropriate] Designating storage pools for a conservative GC is how I'd want to enable GC. I think a task should be programmer controlled to periodically manage a Cess_Pool that implements a conservative GC. The priority of GC could be changed to suit the application. Routines for a conservative GC model might be instantiated from a generic package. This model would not be as useful to implement non-conservative GC's because they are highly compiler specific and most likely transparent if enabled. Programs written for a non-conservative GC are brittle. They leak memory if you disable GC and they cause trouble for porting to another compiler. The most portable option is to disable GC via pragma Controlled and code presuming no GC will be available. Adopting a Cess_Pool model for such a program would cause minimal conflict and it would offer a less brittle solution. ... if only somebody could find the time... -- John Howard -- Team Ada Team OS/2 --