quantum added a comment. In D64537#1586577 <https://reviews.llvm.org/D64537#1586577>, @dschuff wrote:
> Another high-level question (based just on reading the CL description): The > TLS-size intrinsic is per-function, does that mean that the tls-init function > is called for every function? are there just multiple TLS sections per object > file? The TLS-size intrinsic returns the total size of TLS for the module it's called from. The initialization function initializes the TLS for the entire module. In D64537#1586556 <https://reviews.llvm.org/D64537#1586556>, @dschuff wrote: > The `offset` field of a segment can be a constant expression > <https://webassembly.github.io/spec/core/valid/instructions.html#constant-expressions> > which can be a `global.get` of an imported global. So we could have an > imported global `__tls_base` which is different for each thread, and have an > active segment with that as its segment offset? I didn't know that it could have been a constant expression. I don't think this would have worked very well on the main thread though, since we need to run `malloc` before we can compute `__tls_base`. I think this requires the global to be mutable, if only because we need to be able to initialize it on the main thread. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64537/new/ https://reviews.llvm.org/D64537 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits