Refactor code in inliner.

- Code refactoring to dissociate CHA attempts and devirtualization
attemps
- Only devirtualize (currently invoke-interface -> invoke-virtual) when
the target can be statically resolved. The benefits for CHA and inline
caches are less clear.

Test: test.py
Change-Id: I2d41cef8143ab1ce66b2c2e149674eaf228d15a3
3 files changed