是否可以使用jemalloc设置一个仅从虚拟内存的保留2 ^ 32字节区域分配页面的竞技场
@synchronized(self) {
self.validLock = @YES;
}
这样,使用NSLock
选项为竞技场分配的void* arena_start =
mmap(nullptr, 1ull<<32,
PROT_NONE,
MAP_PRIVATE | MAP_ANONYMOUS,
-1, 0);
指针可以表示为mallocx
的32位索引。
这样做的动机是为了节省空间而采用数据结构的指针压缩。 (有关类似用例的背景,请参见论文Tranparent Pointer Compression for Linked DataStructures。)
this thread在竞技场上的评论使我认为可以支持这种类型的自定义。