MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / init_user_mstate

Function init_user_mstate

system/lib/dlmalloc.c:5501–5522  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5499#if MSPACES
5500
5501static mstate init_user_mstate(char* tbase, size_t tsize) {
5502 size_t msize = pad_request(sizeof(struct malloc_state));
5503 mchunkptr mn;
5504 mchunkptr msp = align_as_chunk(tbase);
5505 mstate m = (mstate)(chunk2mem(msp));
5506 memset(m, 0, msize);
5507 (void)INITIAL_LOCK(&m->mutex);
5508 msp->head = (msize|INUSE_BITS);
5509 m->seg.base = m->least_addr = tbase;
5510 m->seg.size = m->footprint = m->max_footprint = tsize;
5511 m->magic = mparams.magic;
5512 m->release_checks = MAX_RELEASE_CHECK_RATE;
5513 m->mflags = mparams.default_mflags;
5514 m->extp = 0;
5515 m->exts = 0;
5516 disable_contiguous(m);
5517 init_bins(m);
5518 mn = next_chunk(mem2chunk(m));
5519 init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) - TOP_FOOT_SIZE);
5520 check_top_chunk(m, m->top);
5521 return m;
5522}
5523
5524mspace create_mspace(size_t capacity, int locked) {
5525 mstate m = 0;

Callers 2

create_mspaceFunction · 0.85
create_mspace_with_baseFunction · 0.85

Calls 3

memsetFunction · 0.85
init_binsFunction · 0.85
init_topFunction · 0.85

Tested by

no test coverage detected