クラス TCMalloc_Central_FreeList

TCMalloc_Central_FreeListに対する継承グラフ

Inheritance graph
[凡例]
TCMalloc_Central_FreeListのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

void Init (size_t cl)
void InsertRange (void *start, void *end, int N)
void RemoveRange (void **start, void **end, int *N)
int length ()
int tc_length ()
void Init (size_t cl)
void InsertRange (void *start, void *end, int N)
void RemoveRange (void **start, void **end, int *N)
int length ()
int tc_length ()

Private メソッド

void * FetchFromSpans ()
void * FetchFromSpansSafe ()
void ReleaseListToSpans (void *start)
void ReleaseToSpans (void *object)
void Populate ()
bool MakeCacheSpace ()
bool ShrinkCache (int locked_size_class, bool force)
void * FetchFromSpans ()
void * FetchFromSpansSafe ()
void ReleaseListToSpans (void *start)
void ReleaseToSpans (void *object)
void Populate ()
bool MakeCacheSpace ()
bool ShrinkCache (int locked_size_class, bool force)

Static Private メソッド

static bool EvictRandomSizeClass (int locked_size_class, bool force)
static bool EvictRandomSizeClass (int locked_size_class, bool force)

Private 変数

SpinLock lock_
size_t size_class_
Span empty_
Span nonempty_
size_t counter_
TCEntry tc_slots_ [kNumTransferEntries]
int32_t used_slots_
int32_t cache_size_


説明

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


関数

void TCMalloc_Central_FreeList::Init ( size_t  cl  ) 

void TCMalloc_Central_FreeList::InsertRange ( void *  start,
void *  end,
int  N 
)

void TCMalloc_Central_FreeList::RemoveRange ( void **  start,
void **  end,
int *  N 
)

int TCMalloc_Central_FreeList::length (  )  [inline]

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

参照元 ExtractStats().

int TCMalloc_Central_FreeList::tc_length (  )  [inline]

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

参照先 num_objects_to_move.

参照元 ExtractStats().

void * TCMalloc_Central_FreeList::FetchFromSpans (  )  [private]

void * TCMalloc_Central_FreeList::FetchFromSpansSafe (  )  [private]

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

参照先 FetchFromSpans(), と Populate().

参照元 RemoveRange().

void TCMalloc_Central_FreeList::ReleaseListToSpans ( void *  start  )  [private]

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

参照先 ReleaseToSpans(), と SLL_Next().

参照元 InsertRange(), と ShrinkCache().

void TCMalloc_Central_FreeList::ReleaseToSpans ( void *  object  )  [private]

void TCMalloc_Central_FreeList::Populate (  )  [private]

bool TCMalloc_Central_FreeList::MakeCacheSpace (  )  [private]

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

参照先 cache_size_, EvictRandomSizeClass(), kNumTransferEntries, size_class_, と used_slots_.

参照元 InsertRange().

bool TCMalloc_Central_FreeList::EvictRandomSizeClass ( int  locked_size_class,
bool  force 
) [static, private]

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

参照先 ASSERT, と kNumClasses.

参照元 MakeCacheSpace().

bool TCMalloc_Central_FreeList::ShrinkCache ( int  locked_size_class,
bool  force 
) [private]

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

参照先 ASSERT, cache_size_, lock_, ReleaseListToSpans(), tc_slots_, と used_slots_.

void TCMalloc_Central_FreeList::Init ( size_t  cl  ) 

void TCMalloc_Central_FreeList::InsertRange ( void *  start,
void *  end,
int  N 
)

void TCMalloc_Central_FreeList::RemoveRange ( void **  start,
void **  end,
int *  N 
)

int TCMalloc_Central_FreeList::length (  )  [inline]

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

int TCMalloc_Central_FreeList::tc_length (  )  [inline]

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

void* TCMalloc_Central_FreeList::FetchFromSpans (  )  [private]

void* TCMalloc_Central_FreeList::FetchFromSpansSafe (  )  [private]

void TCMalloc_Central_FreeList::ReleaseListToSpans ( void *  start  )  [private]

void TCMalloc_Central_FreeList::ReleaseToSpans ( void *  object  )  [private]

void TCMalloc_Central_FreeList::Populate (  )  [private]

bool TCMalloc_Central_FreeList::MakeCacheSpace (  )  [private]

static bool TCMalloc_Central_FreeList::EvictRandomSizeClass ( int  locked_size_class,
bool  force 
) [static, private]

bool TCMalloc_Central_FreeList::ShrinkCache ( int  locked_size_class,
bool  force 
) [private]


変数

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

参照元 Init(), InsertRange(), Populate(), ReleaseToSpans(), RemoveRange(), と ShrinkCache().

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

参照元 Init(), InsertRange(), MakeCacheSpace(), Populate(), と RemoveRange().

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

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

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

参照元 FetchFromSpans(), Init(), Populate(), と ReleaseToSpans().

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

参照元 FetchFromSpans(), Init(), Populate(), と ReleaseToSpans().

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

参照元 InsertRange(), RemoveRange(), と ShrinkCache().

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

参照元 Init(), InsertRange(), MakeCacheSpace(), RemoveRange(), と ShrinkCache().

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

参照元 Init(), MakeCacheSpace(), と ShrinkCache().


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

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