MCPcopy Create free account
hub / github.com/beefytech/Beef / NewArena

Method NewArena

BeefTools/BeefMem/gperftools/src/base/low_level_alloc.cc:295–311  ·  view source on GitHub ↗

L < meta_data_arena->mu

Source from the content-addressed store, hash-verified

293
294// L < meta_data_arena->mu
295LowLevelAlloc::Arena *LowLevelAlloc::NewArena(int32 flags,
296 Arena *meta_data_arena) {
297 RAW_CHECK(meta_data_arena != 0, "must pass a valid arena");
298 if (meta_data_arena == &default_arena) {
299 if ((flags & LowLevelAlloc::kAsyncSignalSafe) != 0) {
300 meta_data_arena = &unhooked_async_sig_safe_arena;
301 } else if ((flags & LowLevelAlloc::kCallMallocHook) == 0) {
302 meta_data_arena = &unhooked_arena;
303 }
304 }
305 // Arena(0) uses the constructor for non-static contexts
306 Arena *result =
307 new (AllocWithArena(sizeof (*result), meta_data_arena)) Arena(0);
308 ArenaInit(result);
309 result->flags = flags;
310 return result;
311}
312
313// L < arena->mu, L < arena->arena->mu
314bool LowLevelAlloc::DeleteArena(Arena *arena) {

Callers

nothing calls this directly

Calls 1

ArenaInitFunction · 0.70

Tested by

no test coverage detected