On 5/12/2011 11:05 PM, Walter Bright wrote:


On 5/12/2011 8:01 PM, David Simcha wrote:
I'm looking to get rid of the global malloc lock for small memory allocations. A major barrier to pulling this off within the current GC design is the fact that Gcx is a struct, which suggests the possibility of having more than one instance and makes it more difficult to create thread-local objects. Is there any reason why we would ever want more than one garbage collector instance? If not, why is Gcx a struct instead of just a bunch of __gshared variables?


You can get multiple Gcx instances when you're connecting DLL instances together. That's why the druntime allows you the means to pick one.

Also, grouping them together in a single struct is good encapsulation practice, rather than a random distributed collection of globals.


Crap. This means I'm going to have to get creative and figure out a way to get storage that's local to both a Gcx instance and a thread. Definitely do-able, but not pretty.

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to