mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 16:04:34 +00:00
b0fc0d5dcc
The C++11 spec states in [basic.stc.thread] thread storage duration: 2. A variable with thread storage duration shall be initialized before its first odr-use (3.2) and, if constructed, shall be destroyed on thread exit. Previously Tracy relied on the TLS data being initialized: - During thread creation (MSVC). - Or during first use in a thread, but the initialization was performed for the whole TLS block. It seems that new compilers are more granular with how they perform the initialization, hence rpmalloc init has to be checked before each allocation, as it cannot be "folded" into, for example, initialization of the profiler itself. |
||
---|---|---|
.. | ||
tracy_concurrentqueue.h | ||
tracy_rpmalloc.cpp | ||
tracy_rpmalloc.hpp | ||
TracyArmCpuTable.hpp | ||
TracyCallstack.cpp | ||
TracyCallstack.h | ||
TracyCallstack.hpp | ||
TracyDxt1.cpp | ||
TracyDxt1.hpp | ||
TracyFastVector.hpp | ||
TracyLock.hpp | ||
TracyProfiler.cpp | ||
TracyProfiler.hpp | ||
TracyRingBuffer.hpp | ||
TracyScoped.hpp | ||
TracySysTime.cpp | ||
TracySysTime.hpp | ||
TracySysTrace.cpp | ||
TracySysTrace.hpp | ||
TracySysTracePayload.hpp | ||
TracyThread.hpp |