[Gc] Re: [bdwgc] Export mark-bit manipulation functions. (9d07ead)

Petter Urkedal urkedal at nbi.dk
Tue Jan 17 00:10:40 PST 2012

On 2012-01-17, Ivan Maidanski wrote:
> The only argument against could be source incompatibility in case some one gets address of such a function.

That would break C++ compilation.  C would give a warning, unless
-Werror (which I don't think should be used in released code).

> GC_finalized_malloc - is a new function so it's ok to change.


Aside:  I'd normally let the callback receive a pointer to the closure
structure, rather than a pointer contained in it, e.g.

struct some_closure {
    void (*callback)(int some_arg, struct some_closure *);

where the client extends "some_closure", so that the enclosed variables
are packed into the same object.  I didn't do that here, since there is
no precedence in the current GC sources, and I'm also using some support
macros to deal with the inheritance.

> GC_[debug_]end_change_stubborn - are unimplemented, so not used (really no sense to change but could do).

IIRC, the stubborn API is deprecated as well, though I though it was a
good idea.

> static roots manipulation - wizards only (lets leave their API as is).


More information about the Gc mailing list