collect per-call-site receiver type information as a side-effect of optimizing program execution led to the development of inSelf, where the run-time optimizes "hot spots" in the program using the type information in inline caches to guide speculative inl