The provided pseudocode outlines a modified implementation of jemalloc’s memory mapping routines, adapted to work with a custom malloc(sz) allocator. Instead of relying on traditional operating system mechanisms like mmap, the memory allocation is handled using MALLOC(size), which refers to a simplified allocator defined earlier. This custom allocator manages a preallocated memory region, aligns the requested size, decrements a memory counter, and returns a pointer with enforced bounds for memory safety. This approach is especially suited for constrained or security-focused environments such as CHERI, where strict control over memory access and deterministic allocation behavior is essential. The os_pages_map function simulates jemalloc’s low-level page mapping routine. It first checks if a specific address is requested—a case relevant to CheriABI where such behavior is disallowed—and returns NULL if so. If memory overcommitment is allowed, it forces the commit flag to true. It then allocates memory using the custom MALLOC(size) function and validates whether the returned pointer matches the requested address (if one was provided). If there’s a mismatch, it unmaps the memory and returns NULL; otherwise, it returns the allocated pointer. The pages_map function is a simplified variant that ignores alignment and address constraints. It directly allocates the requested memory size using the internal allocator and returns the result. This is appropriate in scenarios where alignment is either managed elsewhere or not critical. The pages_commit_impl function emulates memory commitment, a feature in systems that support lazy memory allocation. It reallocates memory using MALLOC(size) and checks whether the returned pointer matches the expected address. If not, it unmaps the memory and signals failure by returning true; otherwise, it indicates success by returning false. Collectively, these routines demonstrate how jemalloc can be adapted to operate atop a custom memory allocator instead of relying on the OS. This enables jemalloc to function in specialized environments that require stricter memory controls, such as embedded systems or capability-based architectures, while still maintaining its structure and allocation policies.