November 08, 2010
druntime commit, revision 414


user: schveiguy

msg:
Fixed cyclic dependency algorithm, as well as printing the cycle that has occurred.  Fixes bugzilla http://d.puremagic.com/issues/show_bug.cgi?id=4384

http://www.dsource.org/projects/druntime/changeset/414

November 08, 2010
Notes:

One thing I didn't mention is that I fixed a performance issue WRT thread local static constructors.  The issue is that the algorithm to detect cycles was being run every time a thread was created, but the moduleinfo data is static -- you only need to try and detect cycles once.  So I changed the way TLS constructors are called to follow the order as laid out in the dtor array (was already being constructed anyways).

Fawzi, you may want to incorporate this in Tango, the current algorithm to detect cycles will not detect certain cycles (as evidenced by a cycle existing for a long time undetected in phobos 2).  It's also nice to have the cycle printed out :)

-Steve



----- Original Message ----
> From: dsource.org <noreply at dsource.org>
> To: d-runtime at puremagic.com
> Sent: Mon, November 8, 2010 9:29:27 AM
> Subject: [D-runtime] druntime commit, revision 414
> 
> druntime commit, revision 414
> 
> 
> user: schveiguy
> 
> msg:
> Fixed  cyclic dependency algorithm, as well as printing the cycle that has
>occurred.  Fixes bugzilla  http://d.puremagic.com/issues/show_bug.cgi?id=4384
> 
> http://www.dsource.org/projects/druntime/changeset/414
> 
> _______________________________________________
> D-runtime  mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
>