diff options
author | 2016-07-06 14:02:13 +0000 | |
---|---|---|
committer | 2016-07-06 14:02:13 +0000 | |
commit | a5f0a1ab3f632f1e9c0bc048604aa0c0e98a4a93 (patch) | |
tree | f6d9d057c9c55a7ef8de4afc29635f3cb550128b /test/609-checker-inline-interface/src/Main.java | |
parent | 4f3438fb8141fb4c557b74a587db07c95656c8dc (diff) | |
parent | 19dc255bf94a4229de8627a2079ee6f0e9005e2d (diff) |
Merge "Revert "Inline and optimize interface calls.""
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(); -} |