summaryrefslogtreecommitdiff
path: root/test/609-checker-inline-interface/src/Main.java
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-07-06 14:02:13 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-07-06 14:02:13 +0000
commita5f0a1ab3f632f1e9c0bc048604aa0c0e98a4a93 (patch)
treef6d9d057c9c55a7ef8de4afc29635f3cb550128b /test/609-checker-inline-interface/src/Main.java
parent4f3438fb8141fb4c557b74a587db07c95656c8dc (diff)
parent19dc255bf94a4229de8627a2079ee6f0e9005e2d (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.java70
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();
-}