From 5024ddfd125b5c3b59d7f359ae33cf7f0255b048 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 28 Apr 2021 14:42:09 +0100 Subject: 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 --- test/609-checker-inline-interface/src/Main.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'test/609-checker-inline-interface/src/Main.java') 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); } -- cgit v1.2.3-59-g8ed1b