Remove the test for whether the uninstalled dtable is present from
objc_msgSend(). If the class does have the uninstalled dtable, then every method will be the nil slot and so, after navigating the dtable we will discover that it is nil and go into the slow path. The cost of this change is a slight slowdown in the first message sent to every class. The benefit is that every subsequent message send needs one fewer memory access and one fewer conditional jump.main
parent
a6b6a9779c
commit
d80689e3e4
Loading…
Reference in New Issue