| 4787 | } |
| 4788 | |
| 4789 | mspace create_mspace_with_base(void* base, size_t capacity, int locked) { |
| 4790 | mstate m = 0; |
| 4791 | size_t msize = pad_request(sizeof(struct malloc_state)); |
| 4792 | init_mparams(); /* Ensure pagesize etc initialized */ |
| 4793 | |
| 4794 | if (capacity > msize + TOP_FOOT_SIZE && |
| 4795 | capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) { |
| 4796 | m = init_user_mstate((char*)base, capacity); |
| 4797 | m->seg.sflags = EXTERN_BIT; |
| 4798 | set_lock(m, locked); |
| 4799 | } |
| 4800 | return (mspace)m; |
| 4801 | } |
| 4802 | |
| 4803 | size_t destroy_mspace(mspace msp) { |
| 4804 | size_t freed = 0; |
no test coverage detected