内存管理:引用计数的存储

引用计数的存储

isa

  • 从arm64架构开始,对isa进行了优化,变成了一个共用体(union)结构,还使用位域来存储更多的信息


    image.png
  • extra_rc
    里面存储的值是引用计数器减1

  • has_sidetable_rc
    引用计数器是否过大无法存储在isa中
    如果为1,那么引用计数会存储在一个叫SideTable的类的属性中

引用计数器

在64bit中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中


image.png

在64bit中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中

底层源码

image.png

你可能感兴趣的:(内存管理:引用计数的存储)