Public メソッド | |
void | Init (pthread_t tid) |
void | Cleanup () |
int | freelist_length (size_t cl) const |
size_t | Size () const |
void * | Allocate (size_t size) |
void | Deallocate (void *ptr, size_t size_class) |
void | FetchFromCentralCache (size_t cl) |
void | ReleaseToCentralCache (size_t cl, int N) |
void | Scavenge () |
void | Print () const |
bool | SampleAllocation (size_t k) |
void | PickNextSample () |
void | Init (pthread_t tid) |
void | Cleanup () |
int | freelist_length (size_t cl) const |
size_t | Size () const |
void * | Allocate (size_t size) |
void | Deallocate (void *ptr, size_t size_class) |
void | FetchFromCentralCache (size_t cl) |
void | ReleaseToCentralCache (size_t cl, int N) |
void | Scavenge () |
void | Print () const |
bool | SampleAllocation (size_t k) |
void | PickNextSample (size_t k) |
Static Public メソッド | |
static void | InitModule () |
static void | InitTSD () |
static TCMalloc_ThreadCache * | GetCache () |
static TCMalloc_ThreadCache * | GetCacheIfPresent () |
static void * | CreateCacheIfNecessary () |
static void | DeleteCache (void *ptr) |
static void | RecomputeThreadCacheSize () |
static void | InitModule () |
static void | InitTSD () |
static TCMalloc_ThreadCache * | GetThreadHeap () |
static TCMalloc_ThreadCache * | GetCache () |
static TCMalloc_ThreadCache * | GetCacheIfPresent () |
static TCMalloc_ThreadCache * | CreateCacheIfNecessary () |
static void | DeleteCache (TCMalloc_ThreadCache *heap) |
static void | BecomeIdle () |
static void | RecomputeThreadCacheSize () |
Public 変数 | |
TCMalloc_ThreadCache * | next_ |
TCMalloc_ThreadCache * | prev_ |
Private 型 | |
typedef TCMalloc_ThreadCache_FreeList | FreeList |
typedef TCMalloc_ThreadCache_FreeList | FreeList |
Static Private メソッド | |
static TCMalloc_ThreadCache * | NewHeap (pthread_t tid) |
static void | DestroyThreadCache (void *ptr) |
Private 変数 | |
size_t | size_ |
pthread_t | tid_ |
bool | in_setspecific_ |
FreeList | list_ [kNumClasses] |
uint32_t | rnd_ |
size_t | bytes_until_sample_ |
tcmalloc-0.8/tcmalloc.cc の 1094 行で定義されています。
typedef TCMalloc_ThreadCache_FreeList TCMalloc_ThreadCache::FreeList [private] |
tcmalloc-0.8/tcmalloc.cc の 1096 行で定義されています。
typedef TCMalloc_ThreadCache_FreeList TCMalloc_ThreadCache::FreeList [private] |
tcmalloc-0.93/tcmalloc.cc の 1415 行で定義されています。
void TCMalloc_ThreadCache::Init | ( | pthread_t | tid | ) |
tcmalloc-0.8/tcmalloc.cc の 1568 行で定義されています。
参照先 in_setspecific_, TCMalloc_ThreadCache_FreeList::Init(), kNumClasses, list_, next_, PickNextSample(), prev_, rnd_, size_, と tid_.
参照元 CreateCacheIfNecessary(), と NewHeap().
void TCMalloc_ThreadCache::Cleanup | ( | ) |
tcmalloc-0.8/tcmalloc.cc の 1585 行で定義されています。
参照先 kNumClasses, length, list_, と ReleaseToCentralCache().
参照元 DeleteCache().
int TCMalloc_ThreadCache::freelist_length | ( | size_t | cl | ) | const [inline] |
tcmalloc-0.8/tcmalloc.cc の 1116 行で定義されています。
size_t TCMalloc_ThreadCache::Size | ( | ) | const [inline] |
tcmalloc-0.8/tcmalloc.cc の 1119 行で定義されています。
void * TCMalloc_ThreadCache::Allocate | ( | size_t | size | ) | [inline] |
void TCMalloc_ThreadCache::Deallocate | ( | void * | ptr, | |
size_t | size_class | |||
) | [inline] |
void TCMalloc_ThreadCache::FetchFromCentralCache | ( | size_t | cl | ) |
void TCMalloc_ThreadCache::ReleaseToCentralCache | ( | size_t | cl, | |
int | N | |||
) |
void TCMalloc_ThreadCache::Scavenge | ( | ) |
void TCMalloc_ThreadCache::Print | ( | ) | const |
tcmalloc-0.8/tcmalloc.cc の 1836 行で定義されています。
参照先 ByteSizeForClass(), kNumClasses, length, list_, MESSAGE, と PRIuS.
bool TCMalloc_ThreadCache::SampleAllocation | ( | size_t | k | ) | [inline] |
tcmalloc-0.8/tcmalloc.cc の 1558 行で定義されています。
参照先 bytes_until_sample_, と PickNextSample().
参照元 do_malloc().
void TCMalloc_ThreadCache::PickNextSample | ( | ) |
tcmalloc-0.8/tcmalloc.cc の 1692 行で定義されています。
参照先 bytes_until_sample_, primes_list, rnd_, と sample_period.
参照元 Init(), と SampleAllocation().
void TCMalloc_ThreadCache::InitModule | ( | ) | [static] |
void TCMalloc_ThreadCache::InitTSD | ( | ) | [static] |
tcmalloc-0.8/tcmalloc.cc の 1742 行で定義されています。
参照先 ASSERT, DeleteCache(), heap_key, perftools_pthread_key_create(), と tsd_inited.
TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetCache | ( | ) | [inline, static] |
tcmalloc-0.8/tcmalloc.cc の 1672 行で定義されています。
参照先 CreateCacheIfNecessary(), heap_key, InitModule(), perftools_pthread_getspecific(), と tsd_inited.
参照元 do_malloc(), と do_memalign().
TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetCacheIfPresent | ( | ) | [inline, static] |
tcmalloc-0.8/tcmalloc.cc の 1686 行で定義されています。
参照先 heap_key, perftools_pthread_getspecific(), と tsd_inited.
参照元 do_free().
TCMalloc_ThreadCache * TCMalloc_ThreadCache::CreateCacheIfNecessary | ( | ) | [static] |
void TCMalloc_ThreadCache::DeleteCache | ( | void * | ptr | ) | [static] |
tcmalloc-0.8/tcmalloc.cc の 1807 行で定義されています。
参照先 Cleanup(), PageHeapAllocator< T >::Delete(), next_, prev_, RecomputeThreadCacheSize(), と thread_heap_count.
参照元 BecomeIdle(), DestroyThreadCache(), と InitTSD().
void TCMalloc_ThreadCache::RecomputeThreadCacheSize | ( | ) | [static] |
TCMalloc_ThreadCache * TCMalloc_ThreadCache::NewHeap | ( | pthread_t | tid | ) | [inline, static, private] |
tcmalloc-0.93/tcmalloc.cc の 2085 行で定義されています。
参照先 Init(), PageHeapAllocator< T >::New(), next_, prev_, と RecomputeThreadCacheSize().
void TCMalloc_ThreadCache::DestroyThreadCache | ( | void * | ptr | ) | [static, private] |
void TCMalloc_ThreadCache::Init | ( | pthread_t | tid | ) |
void TCMalloc_ThreadCache::Cleanup | ( | ) |
int TCMalloc_ThreadCache::freelist_length | ( | size_t | cl | ) | const [inline] |
tcmalloc-0.93/tcmalloc.cc の 1440 行で定義されています。
size_t TCMalloc_ThreadCache::Size | ( | ) | const [inline] |
tcmalloc-0.93/tcmalloc.cc の 1443 行で定義されています。
void* TCMalloc_ThreadCache::Allocate | ( | size_t | size | ) |
void TCMalloc_ThreadCache::Deallocate | ( | void * | ptr, | |
size_t | size_class | |||
) |
void TCMalloc_ThreadCache::FetchFromCentralCache | ( | size_t | cl | ) |
void TCMalloc_ThreadCache::ReleaseToCentralCache | ( | size_t | cl, | |
int | N | |||
) |
void TCMalloc_ThreadCache::Scavenge | ( | ) |
void TCMalloc_ThreadCache::Print | ( | ) | const |
bool TCMalloc_ThreadCache::SampleAllocation | ( | size_t | k | ) |
void TCMalloc_ThreadCache::PickNextSample | ( | size_t | k | ) |
static void TCMalloc_ThreadCache::InitModule | ( | ) | [static] |
static void TCMalloc_ThreadCache::InitTSD | ( | ) | [static] |
TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetThreadHeap | ( | ) | [inline, static] |
static TCMalloc_ThreadCache* TCMalloc_ThreadCache::GetCache | ( | ) | [static] |
static TCMalloc_ThreadCache* TCMalloc_ThreadCache::GetCacheIfPresent | ( | ) | [static] |
static TCMalloc_ThreadCache* TCMalloc_ThreadCache::CreateCacheIfNecessary | ( | ) | [static] |
void TCMalloc_ThreadCache::DeleteCache | ( | TCMalloc_ThreadCache * | heap | ) | [static] |
tcmalloc-0.93/tcmalloc.cc の 2222 行で定義されています。
参照先 Cleanup(), PageHeapAllocator< T >::Delete(), next_, pageheap_lock, prev_, と RecomputeThreadCacheSize().
void TCMalloc_ThreadCache::BecomeIdle | ( | ) | [static] |
static void TCMalloc_ThreadCache::RecomputeThreadCacheSize | ( | ) | [static] |
size_t TCMalloc_ThreadCache::size_ [private] |
tcmalloc-0.8/tcmalloc.cc の 1098 行で定義されています。
参照元 Allocate(), Deallocate(), FetchFromCentralCache(), Init(), と ReleaseToCentralCache().
pthread_t TCMalloc_ThreadCache::tid_ [private] |
bool TCMalloc_ThreadCache::in_setspecific_ [private] |
FreeList TCMalloc_ThreadCache::list_ [private] |
tcmalloc-0.8/tcmalloc.cc の 1101 行で定義されています。
参照元 Allocate(), Cleanup(), Deallocate(), FetchFromCentralCache(), Init(), Print(), ReleaseToCentralCache(), と Scavenge().
uint32_t TCMalloc_ThreadCache::rnd_ [private] |
size_t TCMalloc_ThreadCache::bytes_until_sample_ [private] |
tcmalloc-0.8/tcmalloc.cc の 1109 行で定義されています。
参照元 CreateCacheIfNecessary(), DeleteCache(), Init(), と NewHeap().
tcmalloc-0.8/tcmalloc.cc の 1110 行で定義されています。
参照元 CreateCacheIfNecessary(), DeleteCache(), Init(), と NewHeap().