imp的查找

100 阅读1分钟

cache插入缓存的前期

截屏2021-09-03 上午9.08.44.png 截屏2021-06-28 上午11.09.53.png 截屏2021-06-28 上午11.33.57.png

谁调用了cache里的insert

截屏2021-09-03 上午9.14.29.png 截屏2021-06-28 上午11.43.12.png

运行时

截屏2021-06-28 下午2.38.49.png 截屏2021-06-28 下午3.12.57.png 截屏2021-06-28 下午3.14.14.png 截屏2021-06-28 下午3.24.14.png 截屏2021-06-28 下午4.17.32.png

cache 补充

在lldb中首次调用方法会被扩充为7

截屏2021-06-28 下午10.28.03.png 截屏2021-06-28 下午11.41.45.png

arm64环境下的编译环境

截屏2021-06-29 上午10.09.47.png

查找imp(快速查找)

22.jpg

查找imp(慢速查找)

截屏2021-09-03 上午9.14.29.png 大师班.jpg

动态方法决议

截屏2021-07-02 下午1.42.20.png 截屏2021-07-02 下午1.53.15.png

流程

大师班.jpg

修改resolveInstanceMethod方法后的执行顺序

大师班.jpg

类方法动态决议

截屏2021-07-02 下午5.09.22.png

快速转发流程

截屏2021-07-04 下午7.29.20.png

慢速转发流程

截屏2021-07-04 下午8.05.51.png

快速&慢速转发的调用逻辑

截屏2021-07-04 下午9.20.15.png