| 5522 | } |
| 5523 | |
| 5524 | mspace 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 | |
| 5543 | mspace create_mspace_with_base(void* base, size_t capacity, int locked) { |
| 5544 | mstate m = 0; |
nothing calls this directly
no test coverage detected