If you ever want to allow parking a fiber with a native method on the stack

Florian Weimer fw at deneb.enyo.de
Wed Aug 15 08:04:25 UTC 2018


* Stephane Epardaud:

> TLS meaning thread-local storage, right?

Yes.

> It's possible to still support TLS on those special stacks, via an
> indirection. It'd be more expensive.

You can't change the ABI for native code.

> As for the GNU/Linux limitation, I don't think it's a problem because in
> the worst case you can dedicate a special thread for that reentering
> native computation. And pool them. Remember they have to be explicitly
> marked so you only pay the price of sync when you are sure to be
> reentering. And again I assume it's rare enough. And also again, that's
> all assuming it'd even be useful in the first place to support this.

Stack frames for native code can cache the address of TLS variables,
which is why they cannot be moved between threads.


More information about the loom-dev mailing list