MCPcopy Create free account
hub / github.com/F-Stack/f-stack / arenas_i_impl

Function arenas_i_impl

app/redis-6.2.6/deps/jemalloc/src/ctl.c:641–675  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

639}
640
641static ctl_arena_t *
642arenas_i_impl(tsd_t *tsd, size_t i, bool compat, bool init) {
643 ctl_arena_t *ret;
644
645 assert(!compat || !init);
646
647 ret = ctl_arenas->arenas[arenas_i2a_impl(i, compat, false)];
648 if (init && ret == NULL) {
649 if (config_stats) {
650 struct container_s {
651 ctl_arena_t ctl_arena;
652 ctl_arena_stats_t astats;
653 };
654 struct container_s *cont =
655 (struct container_s *)base_alloc(tsd_tsdn(tsd),
656 b0get(), sizeof(struct container_s), QUANTUM);
657 if (cont == NULL) {
658 return NULL;
659 }
660 ret = &cont->ctl_arena;
661 ret->astats = &cont->astats;
662 } else {
663 ret = (ctl_arena_t *)base_alloc(tsd_tsdn(tsd), b0get(),
664 sizeof(ctl_arena_t), QUANTUM);
665 if (ret == NULL) {
666 return NULL;
667 }
668 }
669 ret->arena_ind = (unsigned)i;
670 ctl_arenas->arenas[arenas_i2a_impl(i, compat, false)] = ret;
671 }
672
673 assert(ret == NULL || arenas_i2a(ret->arena_ind) == arenas_i2a(i));
674 return ret;
675}
676
677static ctl_arena_t *
678arenas_i(size_t i) {

Callers 3

arenas_iFunction · 0.85
ctl_arena_initFunction · 0.85
ctl_initFunction · 0.85

Calls 5

arenas_i2a_implFunction · 0.85
base_allocFunction · 0.85
tsd_tsdnFunction · 0.85
b0getFunction · 0.85
arenas_i2aFunction · 0.85

Tested by

no test coverage detected