Emit block in uncommon exit path when inside an inlined block
Setup type guards for reading and writing ivars

We must ensure that the self object we see is actually of the same class
that we optimized for. These types can be different, for example for
subclasses of a certain class that might end up with a different memory
layout for variables.