[PATCH] D64537: [WebAssembly] Implement thread-local storage (local-exec model)

Guanzhong Chen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 12 17:19:39 PDT 2019


quantum added a comment.

In D64537#1584069 <https://reviews.llvm.org/D64537#1584069>, @dschuff wrote:

> Oh, btw, any reason these have to be passive segments? Why can't we just make them active segments and let the VM initialize them for us?


These need to be passive segments so that we can initialize it in different locations in linear memory for every thread.

If we had multiple memories, TLS could have been implemented as a separate linear memory, but we are stuck with `malloc`ing and initializing for now.

In D64537#1584067 <https://reviews.llvm.org/D64537#1584067>, @dschuff wrote:

> If there's any chance this TLS ABI could be useful for WASI (I don't know if there's been any WASI work on threads yet, but it seems like there's no reason it couldn't be), then we should start a doc in tool-conventions for it. If not then we should get it behind the emscripten OS in LLVM. (and document it anyway; either in tool-conventions or somewhere in the emscripten site).


Documenting this in tool-conventions is planned.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64537/new/

https://reviews.llvm.org/D64537





More information about the cfe-commits mailing list