On Tuesday, 10 April 2018 at 06:10:10 UTC, David Bennett wrote:
I was thinking about messing with the GC in my free time just
yesterday... how hard would it be:
[snip]
The idea is it works like it does currently unless something is
invisible to other threads, Or am i missing something obvious?
(quite likely)
Forgot to mention that a non-thread local mark/sweep would still
scan all thread stacks and pages like it does currently as a
thread local could hold a pointer the the global data (ie a copy
of __gshared, void*).
The only why I can think of to break this idea is using cast() or
sending something to a C function that then does and adds
pointers in global data to the thread local stuff...