This typedefs to std::atomic<> when building with true threading, and uses a dummy implementation without. This lets us use the full range of atomic operations offered by C++11, including explicit specification of memory fences. Using barriers lets the compiler generate more optimal code since currently we are using the quite strict sequential-consistent memory ordering for all operations. ReferenceCount has been changed to use the correct barriers (I hope). This may especially make a difference on weak ordering systems such as ARM. Over time we should gradually replace the use of AtomicAdjust with the new patomic file. |
||
|---|---|---|
| .. | ||
| metalibs | ||
| src | ||
| CMakeLists.txt | ||
| CompilerFlags.cmake | ||
| Config.cmake | ||
| LocalSetup.cmake | ||
| Package.cmake | ||
| PandaVersion.cmake | ||
| dtool_config.h.in | ||