3 ms·
hmm i've always just mentally modelled TLS as "yeah the OS slaps a pointer to an array in this one register". but i guess the difference between "pointer to an
by Gankra 5y ago
hmm i've always just mentally modelled TLS as "yeah the OS slaps a pointer to an array in this one register".
but i guess the difference between "pointer to an array" and "a segment of memory" isn't actually that big?
- amluto 5y agoIt’s a funny register: you don’t want to read it (and before Ivy Bridge, user code couldn’t read it). The base is added by the CPU when you dereference the pointer. So code like: __thread int array[100]; array[n] += 5: Effectively computes the offset portion of array+n and then, using CPU assistance, accesses that memory relative to the segment.