From cff30a0bfa3c4212f304caef24236884e144375d Mon Sep 17 00:00:00 2001 From: Alex Light Date: Thu, 25 Mar 2021 17:33:32 -0700 Subject: 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 --- test/ProfileTestMultiDex/main.list | 1 + 1 file changed, 1 insertion(+) (limited to 'test/ProfileTestMultiDex/main.list') diff --git a/test/ProfileTestMultiDex/main.list b/test/ProfileTestMultiDex/main.list index 8ef9280c9e..023f948d0f 100644 --- a/test/ProfileTestMultiDex/main.list +++ b/test/ProfileTestMultiDex/main.list @@ -1,5 +1,6 @@ Main.class TestInline.class +TestInlineSubtype.class Secret.class Super.class SubA.class -- cgit v1.2.3