美文网首页iOS技术专题
非指针型ISA(NONPOINTER_ISA)

非指针型ISA(NONPOINTER_ISA)

作者: 滨滨_57b5 | 来源:发表于2019-01-23 09:29 被阅读0次

在arm64架构下,指针在内存中占8个字节/byte,即64位/bit(1byte=8bit),64比特位中存储的内容有:

  • 标记是否是纯的ISA指针,还是非指针型的NOPOINTER_ISA指针indexed
  • 标记是否有关联对象has_assoc
  • 标记对象是否使用到的C++相关内容,在ARC环境下标记对象是否通过ARC来管理的has_cxx_dtor
  • 标记当前对象的类对象的指针地址shiftcls
  • magic
  • 标记对象是否有弱引用指针weakly_referenced
  • 标记对象是否正在进行dealloc操作deallocating
  • 标记是否有sitetable结构用于存储引用计数has_sidetable_rc
  • 标记对象的引用计数(首先会存储在该字段中,当到达上限后,在存入对应的引用计数表中)extra_rc
从第0位到第15位
从第16位到第31位
32位到47位
48位到最后

相关文章

网友评论

    本文标题:非指针型ISA(NONPOINTER_ISA)

    本文链接:https://www.haomeiwen.com/subject/ivzdjqtx.html