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

 absl
 
 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

◆ arena

LowLevelAlloc::Arena* arena

Definition at line 85 of file low_level_alloc.cc.

◆ arena_

LowLevelAlloc::Arena* arena_
private

Definition at line 312 of file low_level_alloc.cc.

◆ dummy_for_alignment

void* dummy_for_alignment

Definition at line 88 of file low_level_alloc.cc.

◆ header

struct { ... } ::AllocList::Header header

◆ left_

bool left_ = false
private

Definition at line 307 of file low_level_alloc.cc.

◆ levels

int levels

Definition at line 95 of file low_level_alloc.cc.

◆ magic

uintptr_t magic

Definition at line 82 of file low_level_alloc.cc.

◆ mask_

sigset_t mask_
private

Definition at line 310 of file low_level_alloc.cc.

◆ mask_valid_

bool mask_valid_ = false
private

Definition at line 309 of file low_level_alloc.cc.

◆ next

AllocList* next[kMaxLevel]

Definition at line 99 of file low_level_alloc.cc.

◆ size

uintptr_t size

Definition at line 79 of file low_level_alloc.cc.



abseil_cpp
Author(s):
autogenerated on Mon Feb 28 2022 21:31:22