diff options
author | 2016-07-06 14:01:50 +0000 | |
---|---|---|
committer | 2016-07-06 14:01:50 +0000 | |
commit | 19dc255bf94a4229de8627a2079ee6f0e9005e2d (patch) | |
tree | 38ce4ec6ab0ae5ed99f16c695441135fd36d26dd /test/609-checker-inline-interface/src/Main.java | |
parent | d9faceaa8da92f4a56c2907de949081bd42faf79 (diff) |
Revert "Inline and optimize interface calls."
Went ahead too quickly.
This reverts commit d9faceaa8da92f4a56c2907de949081bd42faf79.
Change-Id: I1610deaf89b38037cf2786d135a59c48b10ced0c
Diffstat (limited to 'test/609-checker-inline-interface/src/Main.java')
-rw-r--r-- | test/609-checker-inline-interface/src/Main.java | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/test/609-checker-inline-interface/src/Main.java b/test/609-checker-inline-interface/src/Main.java deleted file mode 100644 index e9b3e87881..0000000000 --- a/test/609-checker-inline-interface/src/Main.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public final class Main implements Interface { - - static void methodWithInvokeInterface(Interface interf) { - interf.$noinline$doCall(); - } - - public void $noinline$doCall() { - if (doThrow) throw new Error(""); - } - - public static void main(String[] args) { - testInlineInterfaceCall(); - testInterfaceToVirtualCall(); - } - - /// CHECK-START: void Main.testInlineInterfaceCall() inliner (before) - /// CHECK: InvokeStaticOrDirect method_name:Main.methodWithInvokeInterface - - /// CHECK-START: void Main.testInlineInterfaceCall() inliner (before) - /// CHECK-NOT: InvokeInterface - - /// CHECK-START: void Main.testInlineInterfaceCall() inliner (after) - /// CHECK: InvokeInterface method_name:Interface.$noinline$doCall - - /// CHECK-START: void Main.testInlineInterfaceCall() inliner (after) - /// CHECK-NOT: InvokeStaticOrDirect - public static void testInlineInterfaceCall() { - methodWithInvokeInterface(itf); - } - - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (before) - /// CHECK: InvokeStaticOrDirect method_name:Main.methodWithInvokeInterface - - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (before) - /// CHECK-NOT: InvokeInterface - - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (after) - /// CHECK: InvokeVirtual method_name:Main.$noinline$doCall - - /// CHECK-START: void Main.testInterfaceToVirtualCall() inliner (after) - /// CHECK-NOT: InvokeStaticOrDirect - /// CHECK-NOT: InvokeInterface - public static void testInterfaceToVirtualCall() { - methodWithInvokeInterface(m); - } - - static Interface itf = new Main(); - static Main m = new Main(); - static boolean doThrow = false; -} - -interface Interface { - public void $noinline$doCall(); -} |