This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ObjC configured --with-objc-gc needs external Boehm gc
- To: "Boehm, Hans" <hans_boehm at hp dot com>
- Subject: Re: ObjC configured --with-objc-gc needs external Boehm gc
- From: Jeff Sturm <jeff dot sturm at appnet dot com>
- Date: Wed, 17 Jan 2001 13:43:10 -0500
- CC: "'Helge Hess'" <helge dot hess at skyrix dot com>, "'Matthias Klose'" <doko at cs dot tu-berlin dot de>, gcc at gcc dot gnu dot org, java-discuss at sources dot redhat dot com, ovidiu at cup dot hp dot com
- Organization: Commerce One
- References: <140D21516EC2D3119EE700902787664401E3A83E@hplex1.hpl.hp.com>
- Reply-To: jeff dot sturm at commerceone dot com
"Boehm, Hans" wrote:
> > From: Helge Hess [mailto:helge.hess@skyrix.com]
> > Hm, I don't remember - all-interior-ptrs are required for
> > untyped memory
> > ? The ObjC runtime uses typed allocation, so it might not require
> > all-interior-ptrs.
>
> The question is really whether the last pointer to an object can point to
> the inside of the object. If you can get and save a pointer to a field in
> object A, save it inside object B, and then drop the pointer to A, you need
> ALL_INTERIOR_POINTERS. Thus C/C++ more or less need it, while Java doesn't.
> If you can embed C structs inside Objective C objects, I suspect Objective C
> also needs it?
I'm sure I read somewhere (in one of your papers, perhaps) that some compiler
optimizations can hide base pointers and necessitate ALL_INTERIOR_POINTERS even
if interior objects are not explicitly accessed in code.
I believe the java frontend always maintains base pointers to live objects, not
sure about objc.
--
Jeff Sturm
jeff.sturm@commerceone.com