This saves one load on the message send path for each tree depth (2
loads in the common case, 3 if you have a lot of selectors), which
should improve cache usage considerably.
Note: This is a checkpoint commit. Currently, every objc_msgSend()
implementation except for x86-64 is broken.
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.