system-alloc.cc

#include "config.h"
#include <stdint.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include "system-alloc.h"
#include "internal_spinlock.h"
#include "internal_logging.h"
#include "base/commandlineflags.h"

tcmalloc-0.8/system-alloc.ccのインクルード依存関係図

ソースコードを見る。

構成

union  MemoryAligner

関数

 DEFINE_int32 (malloc_devmem_start, 0,"Physical memory starting location in MB for /dev/mem allocation."" Setting this to 0 disables /dev/mem allocation")
 DEFINE_int32 (malloc_devmem_limit, 0,"Physical memory limit location in MB for /dev/mem allocation."" Setting this to 0 means no limit.")
static void * TrySbrk (size_t size, size_t alignment)
static void * TryMmap (size_t size, size_t alignment)
static void * TryDevMem (size_t size, size_t alignment)
void * TCMalloc_SystemAlloc (size_t size, size_t alignment)

変数

static SpinLock spinlock = SPINLOCK_INITIALIZER
static size_t pagesize = 0
static bool use_devmem = true
static bool use_sbrk = true
static bool use_mmap = true
static bool devmem_failure = false
static bool sbrk_failure = false
static bool mmap_failure = false


関数

DEFINE_int32 ( malloc_devmem_limit  ,
,
"Physical memory limit location in MB for /dev/mem allocation."" Setting this to 0 means no limit."   
)

DEFINE_int32 ( malloc_devmem_start  ,
,
"Physical memory starting location in MB for /dev/mem allocation."" Setting this to 0 disables /dev/mem allocation"   
)

void* TCMalloc_SystemAlloc ( size_t  size,
size_t  alignment 
)

static void* TryDevMem ( size_t  size,
size_t  alignment 
) [static]

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

参照先 adjust(), devmem_failure, と pagesize.

参照元 TCMalloc_SystemAlloc().

static void* TryMmap ( size_t  size,
size_t  alignment 
) [static]

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

参照先 adjust(), mmap_failure, と pagesize.

参照元 TCMalloc_SystemAlloc().

static void* TrySbrk ( size_t  size,
size_t  alignment 
) [static]

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

参照先 sbrk_failure.

参照元 TCMalloc_SystemAlloc().


変数

bool devmem_failure = false [static]

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

参照元 TCMalloc_SystemAlloc(), と TryDevMem().

bool mmap_failure = false [static]

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

参照元 TCMalloc_SystemAlloc(), と TryMmap().

size_t pagesize = 0 [static]

bool sbrk_failure = false [static]

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

参照元 TCMalloc_SystemAlloc(), と TrySbrk().

SpinLock spinlock = SPINLOCK_INITIALIZER [static]

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

参照元 RegisterSystemAllocator(), と TCMalloc_SystemAlloc().

bool use_devmem = true [static]

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

参照元 TCMalloc_SystemAlloc().

bool use_mmap = true [static]

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

参照元 TCMalloc_SystemAlloc().

bool use_sbrk = true [static]

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

参照元 TCMalloc_SystemAlloc().


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