Classes | Namespaces | Functions | Variables
low_level_alloc.cc File Reference
#include "absl/base/internal/low_level_alloc.h"
#include <type_traits>
#include "absl/base/call_once.h"
#include "absl/base/config.h"
#include "absl/base/internal/direct_mmap.h"
#include "absl/base/internal/scheduling_mode.h"
#include "absl/base/macros.h"
#include "absl/base/thread_annotations.h"
#include <pthread.h>
#include <signal.h>
#include <sys/mman.h>
#include <unistd.h>
#include <string.h>
#include <algorithm>
#include <atomic>
#include <cerrno>
#include <cstddef>
#include <new>
#include "absl/base/dynamic_annotations.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/internal/spinlock.h"
Include dependency graph for low_level_alloc.cc:

Go to the source code of this file.

Classes

struct  absl::base_internal::LowLevelAlloc::Arena

Namespaces

namespace  absl
namespace  absl::base_internal

Functions

static void absl::base_internal::AddToFreelist (void *v, LowLevelAlloc::Arena *arena)
static uintptr_t absl::base_internal::CheckedAdd (uintptr_t a, uintptr_t b)
static void absl::base_internal::Coalesce (AllocList *a)
static void * absl::base_internal::DoAllocWithArena (size_t request, LowLevelAlloc::Arena *arena)
static int absl::base_internal::IntLog2 (size_t size, size_t base)
static void absl::base_internal::LLA_SkiplistDelete (AllocList *head, AllocList *e, AllocList **prev)
static void absl::base_internal::LLA_SkiplistInsert (AllocList *head, AllocList *e, AllocList **prev)
static int absl::base_internal::LLA_SkiplistLevels (size_t size, size_t base, uint32_t *random)
static AllocList * absl::base_internal::LLA_SkiplistSearch (AllocList *head, AllocList *e, AllocList **prev)
static uintptr_t absl::base_internal::Magic (uintptr_t magic, AllocList::Header *ptr)
static AllocList * absl::base_internal::Next (int i, AllocList *prev, LowLevelAlloc::Arena *arena)
static int absl::base_internal::Random (uint32_t *state)
static uintptr_t absl::base_internal::RoundUp (uintptr_t addr, uintptr_t align)

Variables

static const uintptr_t absl::base_internal::kMagicAllocated = 0x4c833e95U
static const uintptr_t absl::base_internal::kMagicUnallocated = ~kMagicAllocated
static const int absl::base_internal::kMaxLevel = 30

Variable Documentation

LowLevelAlloc::Arena* arena

Definition at line 85 of file low_level_alloc.cc.

LowLevelAlloc::Arena* arena_

Definition at line 312 of file low_level_alloc.cc.

Definition at line 88 of file low_level_alloc.cc.

struct { ... } ::AllocList::Header header [static]
bool left_ = false

Definition at line 307 of file low_level_alloc.cc.

int levels

Definition at line 95 of file low_level_alloc.cc.

uintptr_t magic

Definition at line 82 of file low_level_alloc.cc.

sigset_t mask_

Definition at line 310 of file low_level_alloc.cc.

bool mask_valid_ = false

Definition at line 309 of file low_level_alloc.cc.

AllocList* next[kMaxLevel]

Definition at line 99 of file low_level_alloc.cc.

uintptr_t size

Definition at line 79 of file low_level_alloc.cc.



abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:42:16