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: lars.farm@ite.mh.se (Lars Farm) Subject: Re: Garbage Collection in Ada Date: 1996/10/16 Message-ID: <19961016113936528855@dialup120-4-1.swipnet.se>#1/1 X-Deja-AN: 189779981 references: <01bbb910$f1e73f60$829d6482@joy.ericsson.se> <199610132138291604607@dialup101-6-14.swipnet.se> <19961014235451303023@dialup118-1-7.swipnet.se> organization: pv nntp-posting-user: s-49817 newsgroups: comp.lang.ada Date: 1996-10-16T00:00:00+00:00 List-Id: Robert A Duff wrote: > Ah, but nothing requires the compiler to represent a pointer to one of > those legal places as the address of that place. A C or C++ compiler > could play games similar to the virtual origin trick, and then the Boehm > GC might not work. There is the "as if" rule. As long as the program behaves "as if" the pointer requirements are met, such an optimization is probably ok. That is, as long as no program can detect that it's there. A conservative collector might detect that and report its findings through a premature reuse of memory so it's not allowed;-) OTOH a conservative collector (written in C or C++) must play games with pointers that are in principle unportable too to detect the optimizer-bug so some might perhaps say that this doesn't count. -- Lars Farm, lars.farm@ite.mh.se