Skip to content

Support fast thread local by adding a StgPtr to TSO

Motivation

Thread local is useful in practice, but very hard to be used correctly, while Haskell could make it safe by tagging IO with thread local's type, the current implementations on hackage are using a concurrent map from thread id to value, which is slow.

Proposal

I propose to add thread local support by directly adding a StgPtr field to the TSO object and providing read and writing primitives.

Edited by winterland
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information