[comp.lang.ada] A belated discovery re: garbage collection

wtwolfe@hubcap.UUCP (Bill Wolfe) (01/15/89)

   While reading my trusty ANSI/MIL-STD-1815A, I belatedly discovered 
   section 4.8 (10), which states:

      The pragma CONTROLLED informs the implementation that automatic
      storage reclamation must not be performed for objects designated
      by values of the access type, except upon leaving the innermost
      block statement, subprogram body, or task body that encloses the
      access type declaration, or after leaving the main program.

         pragma CONTROLLED (access_type_simple_name);

   My apologies to anyone who might have concluded from my articles
   that such a capability did not currently exist.

   In the interests of standardization, and in light of Barry's statements
   regarding the advanced nature of recent GC algorithms (which I shall
   accept at face value despite his failure to send me a description of
   these algorithms, or at least references to the literature), I do
   support the idea that GC should be mandatory in Ada, in conjunction
   with the continued presence of the pragma CONTROLLED.  There remains
   a need to completely define the storage consumption associated with
   parameter passing, and to provide integration of ADT deallocation
   procedures into the block exit mechanism.



                                         Bill Wolfe

                                  wtwolfe@hubcap.clemson.edu

carol@hpclove.HP.COM (Carol Thompson) (01/16/89)

Barry Margolin writes:
>I don't know what the references for generational GC's are; recent
>Lisp and Functional Programming Conference proceedings are probably a
>good place to look.
David Ungar did a great deal of work on Generation GC (I think he may
have originated the idea).  The paper "Generation Scavenging:  A
Non-disruptive High Performance Storage Reclamation Algorithm" is in
the Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium
on Practical Software Development Environments, April 23-25, 1984, which
was published as the May 1984 issue of both Software Engineering Notes and
SIGPLAN Notices.  I hope that helps.

Carol Thompson