NCBI C++ ToolKit
|
#include <ncbi_pch.hpp>
#include <corelib/ncbiobj.hpp>
#include <corelib/ncbimtx.hpp>
#include <corelib/ncbi_param.hpp>
#include <corelib/ncbimempool.hpp>
#include <corelib/ncbithr.hpp>
#include <vector>
#include <corelib/error_codes.hpp>
Go to the source code of this file.
Go to the SVN repository for this file.
Classes | |
struct | SEraseLastNewPtrMultiple |
class | CLocksMonitor |
struct | CLocksMonitor::SLocks |
Macros | |
#define | USE_HEAPOBJ_LIST 0 |
#define | USE_TLS_PTR 1 |
#define | NCBI_USE_ERRCODE_X Corelib_Object |
#define | ALLOC_FILL_MODE_INIT CObject::eAllocFillPattern |
#define | ALLOC_FILL_MODE_DEFAULT CObject::eAllocFillPattern |
#define | ALLOC_FILL_BYTE_PATTERN 0xaa |
#define | ObjFatal Fatal |
Typedefs | |
typedef pair< void *, CAtomicCounter::TValue > | TLastNewPtrMultipleInfo |
typedef vector< TLastNewPtrMultipleInfo > | TLastNewPtrMultiple |
#define ALLOC_FILL_BYTE_PATTERN 0xaa |
Definition at line 406 of file ncbiobj.cpp.
#define ALLOC_FILL_MODE_DEFAULT CObject::eAllocFillPattern |
Definition at line 398 of file ncbiobj.cpp.
#define ALLOC_FILL_MODE_INIT CObject::eAllocFillPattern |
Definition at line 397 of file ncbiobj.cpp.
#define NCBI_USE_ERRCODE_X Corelib_Object |
Definition at line 99 of file ncbiobj.cpp.
#define ObjFatal Fatal |
Definition at line 639 of file ncbiobj.cpp.
#define USE_HEAPOBJ_LIST 0 |
Definition at line 78 of file ncbiobj.cpp.
#define USE_TLS_PTR 1 |
Definition at line 79 of file ncbiobj.cpp.
typedef vector<TLastNewPtrMultipleInfo> TLastNewPtrMultiple |
Definition at line 183 of file ncbiobj.cpp.
typedef pair<void*, CAtomicCounter::TValue> TLastNewPtrMultipleInfo |
Definition at line 182 of file ncbiobj.cpp.
|
static |
|
static |
DEFINE_STATIC_FAST_MUTEX | ( | s_WeakRefMutex | ) |
Referenced by sx_GetLastNewPtrMultipleKey().
Definition at line 1138 of file ncbiobj.cpp.
References sx_MonitorType.
Referenced by CObjectCounterLocker::Lock(), CObjectCounterLocker::TransferLock(), CObjectCounterLocker::Unlock(), and CObjectCounterLocker::UnlockRelease().
NCBI_PARAM_DEF_EX | ( | bool | , |
NCBI | , | ||
ABORT_ON_COBJECT_THROW | , | ||
false | , | ||
eParam_NoThread | , | ||
NCBI_ABORT_ON_COBJECT_THROW | |||
) |
NCBI_PARAM_DEF_EX | ( | bool | , |
NCBI | , | ||
ABORT_ON_NULL | , | ||
false | , | ||
eParam_NoThread | , | ||
NCBI_ABORT_ON_NULL | |||
) |
typedef NCBI_PARAM_TYPE | ( | NCBI | , |
ABORT_ON_NULL | |||
) |
Referenced by CObjectException::x_InitErrCode().
|
inlinestatic |
Definition at line 457 of file ncbiobj.cpp.
References ALLOC_FILL_BYTE_PATTERN, CObject::eAllocFillPattern, CObject::eAllocFillZero, ncbi::grid::netcache::search::fields::size, sm_AllocFillMode, and sx_InitFillNewMemoryMode().
Referenced by CObject::operator new(), and CObject::operator new[]().
|
static |
Definition at line 245 of file ncbiobj.cpp.
References ncbi::grid::netcache::search::fields::key, s_Cleanup(), and sx_GetLastNewPtrMultipleKey().
Referenced by sx_PopLastNewPtrMultiple(), and sx_PushLastNewPtrMultiple().
Definition at line 190 of file ncbiobj.cpp.
References s_LastNewPtrMultiple_key.
Referenced by SEraseLastNewPtrMultiple::sx_Cleanup(), sx_GetLastNewPtrMultipleKey(), and SEraseLastNewPtrMultiple::~SEraseLastNewPtrMultiple().
Definition at line 218 of file ncbiobj.cpp.
References _VERIFY, DEFINE_STATIC_FAST_MUTEX(), ncbi::grid::netcache::search::fields::key, s_LastNewPtrMultiple_key, SEraseLastNewPtrMultiple::sx_Cleanup(), and sx_GetLastNewPtrMultipleCurrentKey().
Referenced by sx_GetLastNewPtrMultiple().
|
static |
Definition at line 409 of file ncbiobj.cpp.
References ALLOC_FILL_MODE_INIT, NStr::CompareNocase(), CObject::eAllocFillNone, CObject::eAllocFillPattern, CObject::eAllocFillZero, env, sm_AllocFillMode, and sm_AllocFillMode_IsSet.
Referenced by sx_FillNewMemory().
|
inlinestatic |
Definition at line 322 of file ncbiobj.cpp.
References kLastNewTypeMultiple, and sx_PopLastNewPtrMultiple().
Referenced by CObject::InitCounter(), and CObject::operator delete().
|
static |
Definition at line 288 of file ncbiobj.cpp.
References set< Key, Compare >::empty(), NON_CONST_ITERATE, swap(), and sx_GetLastNewPtrMultiple().
Referenced by sx_PopLastNewPtr().
|
inlinestatic |
Definition at line 309 of file ncbiobj.cpp.
References sx_PushLastNewPtrMultiple(), and type.
Referenced by CObject::operator new().
|
static |
Definition at line 276 of file ncbiobj.cpp.
References _ASSERT, kLastNewTypeMultiple, and sx_GetLastNewPtrMultiple().
Referenced by sx_PushLastNewPtr().
|
static |
Initial counter value for in-heap objects.
Definition at line 113 of file ncbiobj.cpp.
Referenced by CObject::DeleteThis(), and CObject::InitCounter().
|
static |
Initial counter value for objects allocated in memory pool.
Definition at line 110 of file ncbiobj.cpp.
Referenced by CObject::DeleteThis(), and CObject::InitCounter().
|
static |
Initial counter value for non-heap objects.
Definition at line 107 of file ncbiobj.cpp.
Referenced by CObject::InitCounter().
|
static |
All magic counter values should have all their state bits off.
Magic counter value for deleted objects
Definition at line 142 of file ncbiobj.cpp.
Referenced by CObject::CheckReferenceOverflow(), CObject::DoDeleteThisObject(), CObject::DoNotDeleteThisObject(), CObject::operator delete(), CObject::ReleaseReference(), CObject::RemoveLastReference(), and CObject::~CObject().
|
static |
Magic counter value for object allocated in heap.
Definition at line 145 of file ncbiobj.cpp.
Referenced by CObject::InitCounter(), CObject::operator delete(), and CObject::operator new().
|
static |
Magic counter value for deleted object allocated in memory pool.
Definition at line 148 of file ncbiobj.cpp.
Referenced by CObject::CheckReferenceOverflow(), CObject::DoDeleteThisObject(), CObject::DoNotDeleteThisObject(), CObject::operator delete(), CObject::ReleaseReference(), CObject::RemoveLastReference(), and CObject::~CObject().
|
static |
Magic counter value for objects allocated in memory pool.
Definition at line 151 of file ncbiobj.cpp.
Referenced by CObject::InitCounter(), CObject::operator delete(), and CObject::operator new().
|
static |
Definition at line 179 of file ncbiobj.cpp.
Referenced by sx_PopLastNewPtr(), and sx_PushLastNewPtrMultiple().
|
static |
Definition at line 187 of file ncbiobj.cpp.
Referenced by sx_GetLastNewPtrMultipleCurrentKey(), and sx_GetLastNewPtrMultipleKey().
|
static |
Definition at line 394 of file ncbiobj.cpp.
Referenced by CObject::GetAllocFillMode(), CObject::SetAllocFillMode(), sx_FillNewMemory(), and sx_InitFillNewMemoryMode().
|
static |
Definition at line 395 of file ncbiobj.cpp.
Referenced by CObject::SetAllocFillMode(), and sx_InitFillNewMemoryMode().
|
static |
Definition at line 1136 of file ncbiobj.cpp.
Referenced by CObjectCounterLocker::Lock(), CObjectCounterLocker::ReportLockedObjects(), CObjectCounterLocker::TransferLock(), CObjectCounterLocker::Unlock(), and CObjectCounterLocker::UnlockRelease().
|
static |
Definition at line 1035 of file ncbiobj.cpp.
Referenced by CLocksMonitor::SLocks::Dump(), MonitoredType(), CObjectCounterLocker::MonitorObjectType(), and CObjectCounterLocker::StopMonitoring().