On Thu, 23 Jul 2015 08:56:05 +0200, Sönke Ludwig wrote:

the isolated reference is passed between threads. That, or isolated
values would live on their own or on the shared heap until they are made
thread-local mutable or immutable.

What I would do next, is migrate the current druntime GC to a shared GC, like you say.

Allocations to this GC would be made with new shared or new immutable. Or TLS data copied to the shared GC with .sdup

I tried using thread-local allocators with a shared GC, it leaked because GC calls destructors from any thread. Using scoped pools would be the only way to allow thread-local heap to co-exist at the moment..