Hard-to-reproduce GC bug

Sean Kelly sean at invisibleduck.org
Mon Dec 8 11:36:36 PST 2008


== Quote from Leandro Lucarella (llucax at gmail.com)'s article
> Walter Bright, el  7 de diciembre a las 16:04 me escribiste:
> > Walter Bright wrote:
> > >Steven Schveighoffer wrote:
> > >>I'd say most likely that the GC doesn't see anything declared as __thread, so when you use that pointer as the only reference to GC
allocated data, it
> > >>doesn't see that it's still in use, and will collect.
> > >Looks like I need to do some research to see how the gc can discover the extent of tls data.
> >
> > I've got this working now for Windows and Linux for the main program (not for dll's or shared libraries).
> I saw the change[1] and I wonder why there are mentions to the DMD
> implementation. Shouldn't that be implementation agnostic, being in the
> "common" part of the runtime? I guess _tlsstart and _tlsend should be
> added to the runtime specification[2] too, right?

That or runtime functions for the equivalent.  Either way, the compiler runtime will have to
define something.

> BTW, the change broke the indentation style of druntime :S

I'll take care of it :p


Sean



More information about the Digitalmars-d mailing list