#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"
Go to the source code of this file.
|
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) |
|
LowLevelAlloc::Arena* arena |
LowLevelAlloc::Arena* arena_ |
|
private |
void* dummy_for_alignment |
struct { ... } ::AllocList::Header header |
AllocList* next[kMaxLevel] |