On Wednesday, 5 April 2017 at 16:08:33 UTC, David Nadlinger wrote:
On Wednesday, 5 April 2017 at 14:35:18 UTC, Guillaume Piolat
wrote:
But those of us with the runtime disabled don't have TLS.
This is only true on DMD/OS X x86, where TLS is emulated in
druntime. On other platforms, TLS is implemented by the linker
and/or C runtime, so it works without druntime just fine.
TIL, thanks.
Regular thread-local module constructors (static this) of
course won't work without druntime support, as they are
mediated through ModuleInfo.
— David
Sure.
This means TLS is here but uninitialized and eg. core.cpuid has
to be duplicated.
Fragmentation ensues.