On Thursday, 11 September 2014 at 16:26:37 UTC, Marco Leise wrote:
Shared/unshared may affect implementations that provide thread local GC. E.g. only shared data needs to be handled by a global stop the world GC. I'm not sure though.
Also a certain discipline is required to construct shared/immutable object from the start instead of casting from thread-local mutable. And then how to add an object to a shared collection?
//callable without lock void add(shared Object) shared; //allocated thread-local object void add(Object); //but unshared collection contains unshared objects void add(shared Object); //thread-local object again void add(Object) shared; ?
