diff options
author | 2021-04-28 14:42:09 +0100 | |
---|---|---|
committer | 2021-05-06 10:37:17 +0000 | |
commit | 5024ddfd125b5c3b59d7f359ae33cf7f0255b048 (patch) | |
tree | b625ed5aa1c4976e4cd2de5732543d5d1eb34a0f /test/609-checker-inline-interface/src/Main.java | |
parent | 5859b689d4fdd36711187715c04e2e095f7975c0 (diff) |
Devirtualize to HInvokeStaticOrDirect.
When we statically know the target method, devirtualize an
HInvokeInterface or an HInvokeVirtual to a HInvokeStaticOrDirect.
Test: test.py
Bug: 182538502
Change-Id: Ie3a58603cde300fca9ca4972d4dfbbd20918f5ba
Diffstat (limited to 'test/609-checker-inline-interface/src/Main.java')
-rw-r--r-- | test/609-checker-inline-interface/src/Main.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/test/609-checker-inline-interface/src/Main.java b/test/609-checker-inline-interface/src/Main.java index 249b7781f0..07709ea216 100644 --- a/test/609-checker-inline-interface/src/Main.java +++ b/test/609-checker-inline-interface/src/Main.java @@ -32,7 +32,7 @@ public final class Main implements Interface { // Expected } try { - testInterfaceToVirtualCall(); + testInterfaceToDirectCall(); } catch (Error e) { // Expected. } @@ -53,19 +53,19 @@ public final class Main implements Interface { methodWithInvokeInterface(itf); } - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (before) + /// CHECK-START: void Main.testInterfaceToDirectCall() inliner (before) /// CHECK: InvokeStaticOrDirect method_name:Main.methodWithInvokeInterface - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (before) + /// CHECK-START: void Main.testInterfaceToDirectCall() inliner (before) /// CHECK-NOT: InvokeInterface - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (after) - /// CHECK: InvokeVirtual method_name:Main.doCall + /// CHECK-START: void Main.testInterfaceToDirectCall() inliner (after) + /// CHECK: InvokeStaticOrDirect method_name:Main.doCall - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (after) - /// CHECK-NOT: InvokeStaticOrDirect + /// CHECK-START: void Main.testInterfaceToDirectCall() inliner (after) + /// CHECK-NOT: InvokeVirtual /// CHECK-NOT: InvokeInterface - public static void testInterfaceToVirtualCall() { + public static void testInterfaceToDirectCall() { methodWithInvokeInterface(m); } |