blob: 978cb2c6fdffb5f941fa39b3e92d9610673bcc36 [file] [log] [blame]
Calin Juravle877fd962016-01-05 14:29:29 +00001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17class Main {
18 public String getA() {
19 return "A";
20 }
21 public String getB() {
22 return "B";
23 }
24 public String getC() {
25 return "C";
26 }
27}
Calin Juravlee0ac1152017-02-13 19:03:47 -080028
29class TestInline {
30 public int inlineMonomorphic(Super s) {
31 return s.getValue();
32 }
33
34 public int inlinePolymorphic(Super s) {
35 return s.getValue();
36 }
37
38 public int inlineMegamorphic(Super s) {
39 return s.getValue();
40 }
41
Calin Juravle589e71e2017-03-03 16:05:05 -080042 public int inlineMissingTypes(Super s) {
43 return s.getValue();
44 }
45
Calin Juravlee0ac1152017-02-13 19:03:47 -080046 public int noInlineCache(Super s) {
47 return s.getValue();
48 }
49}
50
51abstract class Super {
52 abstract int getValue();
53}
54
55class SubA extends Super {
56 int getValue() { return 42; }
57}
58
59class SubB extends Super {
60 int getValue() { return 38; };
61}
62
63class SubD extends Super {
64 int getValue() { return 20; };
65}
66
67class SubE extends Super {
68 int getValue() { return 16; };
69}
Calin Juravle1061c7d2019-09-23 21:00:29 -040070
71// Add a class with lots of methods so we can test profile guided compilation triggers.
72class ZLotsOfMethods {
73 public void m1() {}
74 public void m2() {}
75 public void m3() {}
76 public void m4() {}
77 public void m5() {}
78 public void m6() {}
79 public void m7() {}
80 public void m8() {}
81 public void m9() {}
82 public void m10() {}
83 public void m11() {}
84 public void m12() {}
85 public void m13() {}
86 public void m14() {}
87 public void m15() {}
88 public void m16() {}
89 public void m17() {}
90 public void m18() {}
91 public void m19() {}
92 public void m20() {}
93 public void m21() {}
94 public void m22() {}
95 public void m23() {}
96 public void m24() {}
97 public void m25() {}
98 public void m26() {}
99 public void m27() {}
100 public void m28() {}
101 public void m29() {}
102 public void m30() {}
103 public void m31() {}
104 public void m32() {}
105 public void m33() {}
106 public void m34() {}
107 public void m35() {}
108 public void m36() {}
109 public void m37() {}
110 public void m38() {}
111 public void m39() {}
112 public void m40() {}
113 public void m41() {}
114 public void m42() {}
115 public void m43() {}
116 public void m44() {}
117 public void m45() {}
118 public void m46() {}
119 public void m47() {}
120 public void m48() {}
121 public void m49() {}
122 public void m50() {}
123 public void m51() {}
124 public void m52() {}
125 public void m53() {}
126 public void m54() {}
127 public void m55() {}
128 public void m56() {}
129 public void m57() {}
130 public void m58() {}
131 public void m59() {}
132 public void m60() {}
133 public void m61() {}
134 public void m62() {}
135 public void m63() {}
136 public void m64() {}
137 public void m65() {}
138 public void m66() {}
139 public void m67() {}
140 public void m68() {}
141 public void m69() {}
142 public void m70() {}
143 public void m71() {}
144 public void m72() {}
145 public void m73() {}
146 public void m74() {}
147 public void m75() {}
148 public void m76() {}
149 public void m77() {}
150 public void m78() {}
151 public void m79() {}
152 public void m80() {}
153 public void m81() {}
154 public void m82() {}
155 public void m83() {}
156 public void m84() {}
157 public void m85() {}
158 public void m86() {}
159 public void m87() {}
160 public void m88() {}
161 public void m89() {}
162 public void m90() {}
163 public void m91() {}
164 public void m92() {}
165 public void m93() {}
166 public void m94() {}
167 public void m95() {}
168 public void m96() {}
169 public void m97() {}
170 public void m98() {}
171 public void m99() {}
172 public void m100() {}
173 public void m101() {}
174 public void m102() {}
175 public void m103() {}
176 public void m104() {}
177 public void m105() {}
178 public void m106() {}
179 public void m107() {}
180 public void m108() {}
181 public void m109() {}
182 public void m110() {}
183 public void m111() {}
184 public void m112() {}
185 public void m113() {}
186 public void m114() {}
187 public void m115() {}
188 public void m116() {}
189 public void m117() {}
190 public void m118() {}
191 public void m119() {}
192 public void m120() {}
193 public void m121() {}
194 public void m122() {}
195 public void m123() {}
196 public void m124() {}
197 public void m125() {}
198 public void m126() {}
199 public void m127() {}
200 public void m128() {}
201 public void m129() {}
202 public void m130() {}
203 public void m131() {}
204 public void m132() {}
205 public void m133() {}
206 public void m134() {}
207 public void m135() {}
208 public void m136() {}
209 public void m137() {}
210 public void m138() {}
211 public void m139() {}
212 public void m140() {}
213 public void m141() {}
214 public void m142() {}
215 public void m143() {}
216 public void m144() {}
217 public void m145() {}
218 public void m146() {}
219 public void m147() {}
220 public void m148() {}
221 public void m149() {}
222 public void m150() {}
223}