Better support ICs on virtual calls

Due to the way we implement profiles InlineCaches are only valid on
methods with implementations. Unfortunately due to the rather slow way
we update boot profile definitions code refactorings can lead to
inline-caches being lost. This change makes profman more resilient to
this error by searching up the superclass resolutions to try to find a
method the inline-caches can be attached to. This should ensure that
boot-profile definitions fall out of date more slowly.

Test: ./test.py --host
Bug: 168941430

Change-Id: I5f6096500fa6f17e285b5a7bab21ad8216221966
7 files changed