Home | History | Annotate | Download | only in memory

Lines Matching refs:base

9 #include "base/at_exit.h"
10 #include "base/atomicops.h"
11 #include "base/third_party/dynamic_annotations/dynamic_annotations.h"
12 #include "base/threading/platform_thread.h"
13 #include "base/threading/thread_restrictions.h"
79 if (base::subtle::NoBarrier_AtomicExchange(&dead_, 1))
89 base::subtle::NoBarrier_Store(&dead_, 1);
90 base::subtle::MemoryBarrier();
100 base::subtle::NoBarrier_Store(&dead_, 0);
109 static base::subtle::Atomic32 dead_;
114 template <typename Type> base::subtle::Atomic32
129 // #include "base/memory/singleton.h"
166 // process exit. More precisely it uses base::AtExitManager which requires an
200 base::ThreadRestrictions::AssertSingletonAllowed();
204 static const base::subtle::AtomicWord kBeingCreatedMarker = 1;
206 base::subtle::AtomicWord value = base::subtle::NoBarrier_Load(&instance_);
214 if (base::subtle::Acquire_CompareAndSwap(&instance_,
226 base::subtle::Release_Store(
227 &instance_, reinterpret_cast<base::subtle::AtomicWord>(newval));
230 base::AtExitManager::RegisterCallback(OnExit, NULL);
243 value = base::subtle::NoBarrier_Load(&instance_);
246 base::PlatformThread::YieldCurrentThread();
261 reinterpret_cast<Type*>(base::subtle::NoBarrier_Load(&instance_)));
264 static base::subtle::AtomicWord instance_;
268 base::subtle::AtomicWord Singleton<Type, Traits, DifferentiatingType>::