这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战
消息的慢速查找_objc_msgSend_uncached
由于上一章里我们是第一次进入快速查找,没有找到方法后,它进入了
_objc_msgSend_uncached
慢速查找。
在cache
内查找bucket_t
的过程中,如果查找了所有的缓存也无法命中的时候,接下来就要进入消息的慢速查找流程了,也就是由汇编
查找 -> C/C++
代码查找。
慢速查找流程的图解:
__objc_msgSend_uncached
此方法是进入慢速查找流程的起因,此方法是作为参数传递进CacheLookup
的,如果CacheLookup
查找不到imp
的时候会执行MissLabelDynamic
,也就是执行了__objc_msgSend_uncached
。
喜欢就支持一下吧
相关推荐