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

Function create_mspace

system/lib/dlmalloc.c:5524–5541  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5522}
5523
5524mspace create_mspace(size_t capacity, int locked) {
5525 mstate m = 0;
5526 size_t msize;
5527 ensure_initialization();
5528 msize = pad_request(sizeof(struct malloc_state));
5529 if (capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) {
5530 size_t rs = ((capacity == 0)? mparams.granularity :
5531 (capacity + TOP_FOOT_SIZE + msize));
5532 size_t tsize = granularity_align(rs);
5533 char* tbase = (char*)(CALL_MMAP(tsize));
5534 if (tbase != CMFAIL) {
5535 m = init_user_mstate(tbase, tsize);
5536 m->seg.sflags = USE_MMAP_BIT;
5537 set_lock(m, locked);
5538 }
5539 }
5540 return (mspace)m;
5541}
5542
5543mspace create_mspace_with_base(void* base, size_t capacity, int locked) {
5544 mstate m = 0;

Callers

nothing calls this directly

Calls 1

init_user_mstateFunction · 0.85

Tested by

no test coverage detected