[Gc] Re: Determining alignment constraints

Ludovic Courtès ludovic.courtes at laas.fr
Tue May 9 04:30:36 PDT 2006


"Boehm, Hans" <hans.boehm at hp.com> writes:

> The problem is that in 6.X much of the information I think you want is
> dependent on GC_all_interior_pointers, which can be changed at
> startup.  Thus I'm not sure what a macro could tell you.  And I'm
> trying to avoid doing much more work on 6.X anyway.

Right, ok.

> In 7.0, everything is 2*sizeof(void *) aligned anyway.  And objects
> between 9 and 15 bytes in size will be 16 byte aligned, everywhere.
> (The latter is somewhat of an accident, but sufficiently inherent to
> the allocation strategy that I wouldn't be afraid of documenting it.)

I guess I'm going to have a look at 7.0 then.

> Are there other properties that it would be useful to export as a macro?

Yes: the version number.  Ideally, both via macro(s) and C symbol(s) so
that one can check that the headers that were used correspond to the
shared library at hand (zlib uses this technique).

> I guess my view is that you shouldn't install a nongeneric build
> someplace where autoconf can find it.  On the other hand, the
> build-time options do seem to be useful for some applications that
> include the library, and do not install it separately (of which we
> currently probably have too many).

For 7.x, are there plans to limit compile-time switches in order to
reduce the need to bundle the library within application packages?


More information about the Gc mailing list