autorelease 的原理

2019-08-27  本文已影响0人  yulekwok

autorelease 的内部使用的双向链表
class AutoreleasePoolPage
{
// 内存是4096
magic_t const magic;
id *next;
pthread_t const thread;
AutoreleasePoolPage * const parent;
AutoreleasePoolPage *child;
uint32_t const depth;
uint32_t hiwat;

 id * begin() {
    return (id *) ((uint8_t *)this+sizeof(*this));// 起始地址加上自己
}

id * end() {
    return (id *) ((uint8_t *)this+SIZE);
}

push POOL_BOUNDARY 

}

上一篇下一篇

猜你喜欢

热点阅读