LLVM API Documentation
ManagedStaticBase - Common base class for ManagedStatic instances. More...
#include <ManagedStatic.h>
Public Member Functions | |
bool | isConstructed () const |
isConstructed - Return true if this object has not been created yet. | |
void | destroy () const |
Protected Member Functions | |
void | RegisterManagedStatic (void *(*creator)(), void(*deleter)(void *)) const |
Protected Attributes | |
void * | Ptr |
void(* | DeleterFn )(void *) |
const ManagedStaticBase * | Next |
ManagedStaticBase - Common base class for ManagedStatic instances.
Definition at line 39 of file ManagedStatic.h.
void ManagedStaticBase::destroy | ( | ) | const |
Definition at line 68 of file ManagedStatic.cpp.
References DeleterFn, Next, Ptr, and StaticList.
Referenced by llvm::llvm_shutdown().
bool llvm::ManagedStaticBase::isConstructed | ( | ) | const [inline] |
isConstructed - Return true if this object has not been created yet.
Definition at line 50 of file ManagedStatic.h.
References Ptr.
Referenced by llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
void ManagedStaticBase::RegisterManagedStatic | ( | void *(*)() | creator, |
void(*)(void *) | deleter | ||
) | const [protected] |
Definition at line 32 of file ManagedStatic.cpp.
References DeleterFn, getManagedStaticMutex(), llvm::llvm_is_multithreaded(), Lock, llvm::sys::MemoryFence(), Next, Ptr, StaticList, TsanHappensBefore, TsanIgnoreWritesBegin, and TsanIgnoreWritesEnd.
Referenced by llvm::ManagedStatic< C >::operator*(), and llvm::ManagedStatic< C >::operator->().
void(* llvm::ManagedStaticBase::DeleterFn)(void *) [mutable, protected] |
Definition at line 44 of file ManagedStatic.h.
Referenced by destroy(), and RegisterManagedStatic().
const ManagedStaticBase* llvm::ManagedStaticBase::Next [mutable, protected] |
Definition at line 45 of file ManagedStatic.h.
Referenced by destroy(), and RegisterManagedStatic().
void* llvm::ManagedStaticBase::Ptr [mutable, protected] |
Definition at line 43 of file ManagedStatic.h.
Referenced by destroy(), isConstructed(), llvm::ManagedStatic< C >::operator*(), llvm::ManagedStatic< C >::operator->(), and RegisterManagedStatic().