Hard-to-reproduce GC bug

Leandro Lucarella llucax at gmail.com
Mon Dec 8 05:32:48 PST 2008


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?

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

Thank you.

[1] http://www.dsource.org/projects/druntime/changeset/57
[2] http://www.dsource.org/projects/druntime/wiki/RuntimeSpec

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
La máquina de la moneda, mirá como te queda!
	-- Sidharta Kiwi



More information about the Digitalmars-d mailing list