Fwd: [Gc] Performance of bdwgc7.2 had degraded compared to 6.8 - the patch to test

Bruce Hoult bruce at hoult.org
Tue Dec 14 16:04:07 PST 2010

2010/12/15 Ivan Maidanski <ivmai at mail.ru>:
> I think -D ALL_INTERIOR_POINTERS should present by default when building the collector

I can't see any situation in which -D ALL_INTERIOR_POINTERS is needed
for correctness other than:

- in the presence of multiple inheritance in C++, in which case a
pointer to a base class (other than the first) may be the only pointer
to an object.

- in code in which it is possible to take the address of a struct
member or array element and this is the only reference to the object.

In particular, anyone writing a compiler for a language without these
features (which includes Scheme) should be able to safely turn off -D
ALL_INTERIOR_POINTERS unless they are doing something strange in
hand-written libraries.

More information about the Gc mailing list