OC底层原理(九):objc_msgSend消息的慢速查找分析

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

消息的慢速查找_objc_msgSend_uncached

由于上一章里我们是第一次进入快速查找,没有找到方法后,它进入了_objc_msgSend_uncached慢速查找。

cache内查找bucket_t的过程中,如果查找了所有的缓存也无法命中的时候,接下来就要进入消息的慢速查找流程了,也就是由汇编查找 -> C/C++代码查找。

慢速查找流程的图解:

__objc_msgSend_uncached
此方法是进入慢速查找流程的起因,此方法是作为参数传递进CacheLookup的,如果CacheLookup查找不到imp的时候会执行MissLabelDynamic,也就是执行了__objc_msgSend_uncached

汇编语言

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享