On 18 February 2015 at 14:54, Liran Zvibel via D.gnu <d.gnu@puremagic.com> wrote: > On Wednesday, 18 February 2015 at 13:07:12 UTC, Iain Buclaw wrote: >> >> It may be a better solution to have a static TLS pointer that gets >> new'd upon thread start. Perhaps even make it a pre-allocated array >> so we might be able to get chained exceptions working in GDC runtime. >> >> Iain > > > I like the idea of static TLS array that gets initialized at each thread. > Memory/startup time impact should be minimal, but it will allow throwing > exceptions without touching the GC. > Some of our code is very latency sensitive, so we try very hard not to use > the GC at all in these parts.
Yah. The only gotcha is if you fill up the chain, and it needs to realloc/grow the memory. Would only ever happen if you have deep levels of try { } catch(e) { throw e; } though.... Iain