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,ca9eef4d5e2078ea X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Beware: Rep spec on an enumeration type causes code explosion Date: 1997/12/06 Message-ID: #1/1 X-Deja-AN: 295723009 References: X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 881405064 9452 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1997-12-06T00:00:00+00:00 List-Id: Joe says <> The issue of implicit heap access is a critical one in any Ada technology. This is *especially* true of embedded use. In the design of GNAT, we have followed the general philosophy of minimizing implicit heap use. The only times that the heap is used implicitly are the following: 1. Creation of tasks 2. Allocation of the secondary stack for tasks We specifically do NOT use the heap for management of variant records. Instead, we always allocate the maximum size where appropriate. Note that an implementation (at least one that conforms to annex H) is required to document where it uses the heap implicitly, see RM D.7: 8 No_Implicit_Heap_Allocations There are no operations that implicitly require heap storage allocation to be performed by the implementation. The operations that implicitly require heap storage allocation are implementation defined.