4 ms·
Optimising out TLS isn't going to be a good example of compiler capability. Whether another thread exists is a global property of a process, and beyond that the
by dwattttt 9mo ago
Optimising out TLS isn't going to be a good example of compiler capability. Whether another thread exists is a global property of a process, and beyond that the system that process operates in.
The compiler isn't going to know for instance that an LD_PRELOAD variable won't be set that would create a thread.
- oguz-ismail2 9mo ago> Whether another thread exists is a global property of a process, and beyond that the system that process operates in. TLS is a language feature. Whether another thread exists doesn't mean it has to use the same facilities as the main program. > The compiler isn't going to know for instance that an LD_PRELOAD variable won't be set that would create a thread. Say the program is not dynamically linked. Still no?
- dwattttt 9mo ago> Say the program is not dynamically linked. Still no? Whether the program has dynamic dependencies does not dictate whether a thread can be created, that's a property of the OS. Windows has CreateRemoteThread, and I'd be shocked if similar capabilities didn't exist elsewhere. If I mark something as thread-local, I want it to be thread-local.