美文网首页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