クラス TCMalloc_ThreadCache

TCMalloc_ThreadCacheのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

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_ThreadCacheGetCache ()
static TCMalloc_ThreadCacheGetCacheIfPresent ()
static void * CreateCacheIfNecessary ()
static void DeleteCache (void *ptr)
static void RecomputeThreadCacheSize ()
static void InitModule ()
static void InitTSD ()
static TCMalloc_ThreadCacheGetThreadHeap ()
static TCMalloc_ThreadCacheGetCache ()
static TCMalloc_ThreadCacheGetCacheIfPresent ()
static TCMalloc_ThreadCacheCreateCacheIfNecessary ()
static void DeleteCache (TCMalloc_ThreadCache *heap)
static void BecomeIdle ()
static void RecomputeThreadCacheSize ()

Public 変数

TCMalloc_ThreadCachenext_
TCMalloc_ThreadCacheprev_

Private 型

typedef
TCMalloc_ThreadCache_FreeList 
FreeList
typedef
TCMalloc_ThreadCache_FreeList 
FreeList

Static Private メソッド

static TCMalloc_ThreadCacheNewHeap (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.cc1094 行で定義されています。


型定義

tcmalloc-0.8/tcmalloc.cc1096 行で定義されています。

tcmalloc-0.93/tcmalloc.cc1415 行で定義されています。


関数

void TCMalloc_ThreadCache::Init ( pthread_t  tid  ) 

void TCMalloc_ThreadCache::Cleanup (  ) 

tcmalloc-0.8/tcmalloc.cc1585 行で定義されています。

参照先 kNumClasses, length, list_, と ReleaseToCentralCache().

参照元 DeleteCache().

int TCMalloc_ThreadCache::freelist_length ( size_t  cl  )  const [inline]

tcmalloc-0.8/tcmalloc.cc1116 行で定義されています。

size_t TCMalloc_ThreadCache::Size (  )  const [inline]

tcmalloc-0.8/tcmalloc.cc1119 行で定義されています。

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.cc1836 行で定義されています。

参照先 ByteSizeForClass(), kNumClasses, length, list_, MESSAGE, と PRIuS.

bool TCMalloc_ThreadCache::SampleAllocation ( size_t  k  )  [inline]

tcmalloc-0.8/tcmalloc.cc1558 行で定義されています。

参照先 bytes_until_sample_, と PickNextSample().

参照元 do_malloc().

void TCMalloc_ThreadCache::PickNextSample (  ) 

tcmalloc-0.8/tcmalloc.cc1692 行で定義されています。

参照先 bytes_until_sample_, primes_list, rnd_, と sample_period.

参照元 Init(), と SampleAllocation().

void TCMalloc_ThreadCache::InitModule (  )  [static]

void TCMalloc_ThreadCache::InitTSD (  )  [static]

TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetCache (  )  [inline, static]

TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetCacheIfPresent (  )  [inline, static]

tcmalloc-0.8/tcmalloc.cc1686 行で定義されています。

参照先 heap_key, perftools_pthread_getspecific(), と tsd_inited.

参照元 do_free().

TCMalloc_ThreadCache * TCMalloc_ThreadCache::CreateCacheIfNecessary (  )  [static]

void TCMalloc_ThreadCache::DeleteCache ( void *  ptr  )  [static]

void TCMalloc_ThreadCache::RecomputeThreadCacheSize (  )  [static]

TCMalloc_ThreadCache * TCMalloc_ThreadCache::NewHeap ( pthread_t  tid  )  [inline, static, private]

void TCMalloc_ThreadCache::DestroyThreadCache ( void *  ptr  )  [static, private]

tcmalloc-0.93/tcmalloc.cc2210 行で定義されています。

参照先 DeleteCache().

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.cc1440 行で定義されています。

size_t TCMalloc_ThreadCache::Size (  )  const [inline]

tcmalloc-0.93/tcmalloc.cc1443 行で定義されています。

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  ) 

tcmalloc-0.93/tcmalloc.cc2015 行で定義されています。

参照先 bytes_until_sample_, rnd_, と sample_period_lock.

static void TCMalloc_ThreadCache::InitModule (  )  [static]

static void TCMalloc_ThreadCache::InitTSD (  )  [static]

TCMalloc_ThreadCache * TCMalloc_ThreadCache::GetThreadHeap (  )  [inline, static]

tcmalloc-0.93/tcmalloc.cc2098 行で定義されています。

参照先 perftools_pthread_getspecific().

参照元 BecomeIdle().

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]

void TCMalloc_ThreadCache::BecomeIdle (  )  [static]

static void TCMalloc_ThreadCache::RecomputeThreadCacheSize (  )  [static]


変数

size_t TCMalloc_ThreadCache::size_ [private]

pthread_t TCMalloc_ThreadCache::tid_ [private]

tcmalloc-0.8/tcmalloc.cc1099 行で定義されています。

参照元 Init().

tcmalloc-0.8/tcmalloc.cc1100 行で定義されています。

参照元 BecomeIdle(), CreateCacheIfNecessary(), と Init().

uint32_t TCMalloc_ThreadCache::rnd_ [private]

tcmalloc-0.8/tcmalloc.cc1104 行で定義されています。

参照元 Init(), と PickNextSample().

tcmalloc-0.8/tcmalloc.cc1105 行で定義されています。

参照元 PickNextSample(), と SampleAllocation().

tcmalloc-0.8/tcmalloc.cc1109 行で定義されています。

参照元 CreateCacheIfNecessary(), DeleteCache(), Init(), と NewHeap().

tcmalloc-0.8/tcmalloc.cc1110 行で定義されています。

参照元 CreateCacheIfNecessary(), DeleteCache(), Init(), と NewHeap().


このクラスの説明は次のファイルから生成されました:

Thu Oct 8 05:01:14 2009に生成されました。  doxygen 1.5.6