1 /*
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 
17 public class ConstClassBenchmark {
18     // Define 1025 classes with consecutive type indexes in the dex file.
19     // The tests below rely on the knowledge that ART uses the low 10 bits
20     // of the type index as the hash into DexCache types array.
21     // Note: n == n + 1024 (mod 2^10), n + 1 != n + 1023 (mod 2^10).
22     public static class TestClass_0000 {}
23     public static class TestClass_0001 {}
24     public static class TestClass_0002 {}
25     public static class TestClass_0003 {}
26     public static class TestClass_0004 {}
27     public static class TestClass_0005 {}
28     public static class TestClass_0006 {}
29     public static class TestClass_0007 {}
30     public static class TestClass_0008 {}
31     public static class TestClass_0009 {}
32     public static class TestClass_0010 {}
33     public static class TestClass_0011 {}
34     public static class TestClass_0012 {}
35     public static class TestClass_0013 {}
36     public static class TestClass_0014 {}
37     public static class TestClass_0015 {}
38     public static class TestClass_0016 {}
39     public static class TestClass_0017 {}
40     public static class TestClass_0018 {}
41     public static class TestClass_0019 {}
42     public static class TestClass_0020 {}
43     public static class TestClass_0021 {}
44     public static class TestClass_0022 {}
45     public static class TestClass_0023 {}
46     public static class TestClass_0024 {}
47     public static class TestClass_0025 {}
48     public static class TestClass_0026 {}
49     public static class TestClass_0027 {}
50     public static class TestClass_0028 {}
51     public static class TestClass_0029 {}
52     public static class TestClass_0030 {}
53     public static class TestClass_0031 {}
54     public static class TestClass_0032 {}
55     public static class TestClass_0033 {}
56     public static class TestClass_0034 {}
57     public static class TestClass_0035 {}
58     public static class TestClass_0036 {}
59     public static class TestClass_0037 {}
60     public static class TestClass_0038 {}
61     public static class TestClass_0039 {}
62     public static class TestClass_0040 {}
63     public static class TestClass_0041 {}
64     public static class TestClass_0042 {}
65     public static class TestClass_0043 {}
66     public static class TestClass_0044 {}
67     public static class TestClass_0045 {}
68     public static class TestClass_0046 {}
69     public static class TestClass_0047 {}
70     public static class TestClass_0048 {}
71     public static class TestClass_0049 {}
72     public static class TestClass_0050 {}
73     public static class TestClass_0051 {}
74     public static class TestClass_0052 {}
75     public static class TestClass_0053 {}
76     public static class TestClass_0054 {}
77     public static class TestClass_0055 {}
78     public static class TestClass_0056 {}
79     public static class TestClass_0057 {}
80     public static class TestClass_0058 {}
81     public static class TestClass_0059 {}
82     public static class TestClass_0060 {}
83     public static class TestClass_0061 {}
84     public static class TestClass_0062 {}
85     public static class TestClass_0063 {}
86     public static class TestClass_0064 {}
87     public static class TestClass_0065 {}
88     public static class TestClass_0066 {}
89     public static class TestClass_0067 {}
90     public static class TestClass_0068 {}
91     public static class TestClass_0069 {}
92     public static class TestClass_0070 {}
93     public static class TestClass_0071 {}
94     public static class TestClass_0072 {}
95     public static class TestClass_0073 {}
96     public static class TestClass_0074 {}
97     public static class TestClass_0075 {}
98     public static class TestClass_0076 {}
99     public static class TestClass_0077 {}
100     public static class TestClass_0078 {}
101     public static class TestClass_0079 {}
102     public static class TestClass_0080 {}
103     public static class TestClass_0081 {}
104     public static class TestClass_0082 {}
105     public static class TestClass_0083 {}
106     public static class TestClass_0084 {}
107     public static class TestClass_0085 {}
108     public static class TestClass_0086 {}
109     public static class TestClass_0087 {}
110     public static class TestClass_0088 {}
111     public static class TestClass_0089 {}
112     public static class TestClass_0090 {}
113     public static class TestClass_0091 {}
114     public static class TestClass_0092 {}
115     public static class TestClass_0093 {}
116     public static class TestClass_0094 {}
117     public static class TestClass_0095 {}
118     public static class TestClass_0096 {}
119     public static class TestClass_0097 {}
120     public static class TestClass_0098 {}
121     public static class TestClass_0099 {}
122     public static class TestClass_0100 {}
123     public static class TestClass_0101 {}
124     public static class TestClass_0102 {}
125     public static class TestClass_0103 {}
126     public static class TestClass_0104 {}
127     public static class TestClass_0105 {}
128     public static class TestClass_0106 {}
129     public static class TestClass_0107 {}
130     public static class TestClass_0108 {}
131     public static class TestClass_0109 {}
132     public static class TestClass_0110 {}
133     public static class TestClass_0111 {}
134     public static class TestClass_0112 {}
135     public static class TestClass_0113 {}
136     public static class TestClass_0114 {}
137     public static class TestClass_0115 {}
138     public static class TestClass_0116 {}
139     public static class TestClass_0117 {}
140     public static class TestClass_0118 {}
141     public static class TestClass_0119 {}
142     public static class TestClass_0120 {}
143     public static class TestClass_0121 {}
144     public static class TestClass_0122 {}
145     public static class TestClass_0123 {}
146     public static class TestClass_0124 {}
147     public static class TestClass_0125 {}
148     public static class TestClass_0126 {}
149     public static class TestClass_0127 {}
150     public static class TestClass_0128 {}
151     public static class TestClass_0129 {}
152     public static class TestClass_0130 {}
153     public static class TestClass_0131 {}
154     public static class TestClass_0132 {}
155     public static class TestClass_0133 {}
156     public static class TestClass_0134 {}
157     public static class TestClass_0135 {}
158     public static class TestClass_0136 {}
159     public static class TestClass_0137 {}
160     public static class TestClass_0138 {}
161     public static class TestClass_0139 {}
162     public static class TestClass_0140 {}
163     public static class TestClass_0141 {}
164     public static class TestClass_0142 {}
165     public static class TestClass_0143 {}
166     public static class TestClass_0144 {}
167     public static class TestClass_0145 {}
168     public static class TestClass_0146 {}
169     public static class TestClass_0147 {}
170     public static class TestClass_0148 {}
171     public static class TestClass_0149 {}
172     public static class TestClass_0150 {}
173     public static class TestClass_0151 {}
174     public static class TestClass_0152 {}
175     public static class TestClass_0153 {}
176     public static class TestClass_0154 {}
177     public static class TestClass_0155 {}
178     public static class TestClass_0156 {}
179     public static class TestClass_0157 {}
180     public static class TestClass_0158 {}
181     public static class TestClass_0159 {}
182     public static class TestClass_0160 {}
183     public static class TestClass_0161 {}
184     public static class TestClass_0162 {}
185     public static class TestClass_0163 {}
186     public static class TestClass_0164 {}
187     public static class TestClass_0165 {}
188     public static class TestClass_0166 {}
189     public static class TestClass_0167 {}
190     public static class TestClass_0168 {}
191     public static class TestClass_0169 {}
192     public static class TestClass_0170 {}
193     public static class TestClass_0171 {}
194     public static class TestClass_0172 {}
195     public static class TestClass_0173 {}
196     public static class TestClass_0174 {}
197     public static class TestClass_0175 {}
198     public static class TestClass_0176 {}
199     public static class TestClass_0177 {}
200     public static class TestClass_0178 {}
201     public static class TestClass_0179 {}
202     public static class TestClass_0180 {}
203     public static class TestClass_0181 {}
204     public static class TestClass_0182 {}
205     public static class TestClass_0183 {}
206     public static class TestClass_0184 {}
207     public static class TestClass_0185 {}
208     public static class TestClass_0186 {}
209     public static class TestClass_0187 {}
210     public static class TestClass_0188 {}
211     public static class TestClass_0189 {}
212     public static class TestClass_0190 {}
213     public static class TestClass_0191 {}
214     public static class TestClass_0192 {}
215     public static class TestClass_0193 {}
216     public static class TestClass_0194 {}
217     public static class TestClass_0195 {}
218     public static class TestClass_0196 {}
219     public static class TestClass_0197 {}
220     public static class TestClass_0198 {}
221     public static class TestClass_0199 {}
222     public static class TestClass_0200 {}
223     public static class TestClass_0201 {}
224     public static class TestClass_0202 {}
225     public static class TestClass_0203 {}
226     public static class TestClass_0204 {}
227     public static class TestClass_0205 {}
228     public static class TestClass_0206 {}
229     public static class TestClass_0207 {}
230     public static class TestClass_0208 {}
231     public static class TestClass_0209 {}
232     public static class TestClass_0210 {}
233     public static class TestClass_0211 {}
234     public static class TestClass_0212 {}
235     public static class TestClass_0213 {}
236     public static class TestClass_0214 {}
237     public static class TestClass_0215 {}
238     public static class TestClass_0216 {}
239     public static class TestClass_0217 {}
240     public static class TestClass_0218 {}
241     public static class TestClass_0219 {}
242     public static class TestClass_0220 {}
243     public static class TestClass_0221 {}
244     public static class TestClass_0222 {}
245     public static class TestClass_0223 {}
246     public static class TestClass_0224 {}
247     public static class TestClass_0225 {}
248     public static class TestClass_0226 {}
249     public static class TestClass_0227 {}
250     public static class TestClass_0228 {}
251     public static class TestClass_0229 {}
252     public static class TestClass_0230 {}
253     public static class TestClass_0231 {}
254     public static class TestClass_0232 {}
255     public static class TestClass_0233 {}
256     public static class TestClass_0234 {}
257     public static class TestClass_0235 {}
258     public static class TestClass_0236 {}
259     public static class TestClass_0237 {}
260     public static class TestClass_0238 {}
261     public static class TestClass_0239 {}
262     public static class TestClass_0240 {}
263     public static class TestClass_0241 {}
264     public static class TestClass_0242 {}
265     public static class TestClass_0243 {}
266     public static class TestClass_0244 {}
267     public static class TestClass_0245 {}
268     public static class TestClass_0246 {}
269     public static class TestClass_0247 {}
270     public static class TestClass_0248 {}
271     public static class TestClass_0249 {}
272     public static class TestClass_0250 {}
273     public static class TestClass_0251 {}
274     public static class TestClass_0252 {}
275     public static class TestClass_0253 {}
276     public static class TestClass_0254 {}
277     public static class TestClass_0255 {}
278     public static class TestClass_0256 {}
279     public static class TestClass_0257 {}
280     public static class TestClass_0258 {}
281     public static class TestClass_0259 {}
282     public static class TestClass_0260 {}
283     public static class TestClass_0261 {}
284     public static class TestClass_0262 {}
285     public static class TestClass_0263 {}
286     public static class TestClass_0264 {}
287     public static class TestClass_0265 {}
288     public static class TestClass_0266 {}
289     public static class TestClass_0267 {}
290     public static class TestClass_0268 {}
291     public static class TestClass_0269 {}
292     public static class TestClass_0270 {}
293     public static class TestClass_0271 {}
294     public static class TestClass_0272 {}
295     public static class TestClass_0273 {}
296     public static class TestClass_0274 {}
297     public static class TestClass_0275 {}
298     public static class TestClass_0276 {}
299     public static class TestClass_0277 {}
300     public static class TestClass_0278 {}
301     public static class TestClass_0279 {}
302     public static class TestClass_0280 {}
303     public static class TestClass_0281 {}
304     public static class TestClass_0282 {}
305     public static class TestClass_0283 {}
306     public static class TestClass_0284 {}
307     public static class TestClass_0285 {}
308     public static class TestClass_0286 {}
309     public static class TestClass_0287 {}
310     public static class TestClass_0288 {}
311     public static class TestClass_0289 {}
312     public static class TestClass_0290 {}
313     public static class TestClass_0291 {}
314     public static class TestClass_0292 {}
315     public static class TestClass_0293 {}
316     public static class TestClass_0294 {}
317     public static class TestClass_0295 {}
318     public static class TestClass_0296 {}
319     public static class TestClass_0297 {}
320     public static class TestClass_0298 {}
321     public static class TestClass_0299 {}
322     public static class TestClass_0300 {}
323     public static class TestClass_0301 {}
324     public static class TestClass_0302 {}
325     public static class TestClass_0303 {}
326     public static class TestClass_0304 {}
327     public static class TestClass_0305 {}
328     public static class TestClass_0306 {}
329     public static class TestClass_0307 {}
330     public static class TestClass_0308 {}
331     public static class TestClass_0309 {}
332     public static class TestClass_0310 {}
333     public static class TestClass_0311 {}
334     public static class TestClass_0312 {}
335     public static class TestClass_0313 {}
336     public static class TestClass_0314 {}
337     public static class TestClass_0315 {}
338     public static class TestClass_0316 {}
339     public static class TestClass_0317 {}
340     public static class TestClass_0318 {}
341     public static class TestClass_0319 {}
342     public static class TestClass_0320 {}
343     public static class TestClass_0321 {}
344     public static class TestClass_0322 {}
345     public static class TestClass_0323 {}
346     public static class TestClass_0324 {}
347     public static class TestClass_0325 {}
348     public static class TestClass_0326 {}
349     public static class TestClass_0327 {}
350     public static class TestClass_0328 {}
351     public static class TestClass_0329 {}
352     public static class TestClass_0330 {}
353     public static class TestClass_0331 {}
354     public static class TestClass_0332 {}
355     public static class TestClass_0333 {}
356     public static class TestClass_0334 {}
357     public static class TestClass_0335 {}
358     public static class TestClass_0336 {}
359     public static class TestClass_0337 {}
360     public static class TestClass_0338 {}
361     public static class TestClass_0339 {}
362     public static class TestClass_0340 {}
363     public static class TestClass_0341 {}
364     public static class TestClass_0342 {}
365     public static class TestClass_0343 {}
366     public static class TestClass_0344 {}
367     public static class TestClass_0345 {}
368     public static class TestClass_0346 {}
369     public static class TestClass_0347 {}
370     public static class TestClass_0348 {}
371     public static class TestClass_0349 {}
372     public static class TestClass_0350 {}
373     public static class TestClass_0351 {}
374     public static class TestClass_0352 {}
375     public static class TestClass_0353 {}
376     public static class TestClass_0354 {}
377     public static class TestClass_0355 {}
378     public static class TestClass_0356 {}
379     public static class TestClass_0357 {}
380     public static class TestClass_0358 {}
381     public static class TestClass_0359 {}
382     public static class TestClass_0360 {}
383     public static class TestClass_0361 {}
384     public static class TestClass_0362 {}
385     public static class TestClass_0363 {}
386     public static class TestClass_0364 {}
387     public static class TestClass_0365 {}
388     public static class TestClass_0366 {}
389     public static class TestClass_0367 {}
390     public static class TestClass_0368 {}
391     public static class TestClass_0369 {}
392     public static class TestClass_0370 {}
393     public static class TestClass_0371 {}
394     public static class TestClass_0372 {}
395     public static class TestClass_0373 {}
396     public static class TestClass_0374 {}
397     public static class TestClass_0375 {}
398     public static class TestClass_0376 {}
399     public static class TestClass_0377 {}
400     public static class TestClass_0378 {}
401     public static class TestClass_0379 {}
402     public static class TestClass_0380 {}
403     public static class TestClass_0381 {}
404     public static class TestClass_0382 {}
405     public static class TestClass_0383 {}
406     public static class TestClass_0384 {}
407     public static class TestClass_0385 {}
408     public static class TestClass_0386 {}
409     public static class TestClass_0387 {}
410     public static class TestClass_0388 {}
411     public static class TestClass_0389 {}
412     public static class TestClass_0390 {}
413     public static class TestClass_0391 {}
414     public static class TestClass_0392 {}
415     public static class TestClass_0393 {}
416     public static class TestClass_0394 {}
417     public static class TestClass_0395 {}
418     public static class TestClass_0396 {}
419     public static class TestClass_0397 {}
420     public static class TestClass_0398 {}
421     public static class TestClass_0399 {}
422     public static class TestClass_0400 {}
423     public static class TestClass_0401 {}
424     public static class TestClass_0402 {}
425     public static class TestClass_0403 {}
426     public static class TestClass_0404 {}
427     public static class TestClass_0405 {}
428     public static class TestClass_0406 {}
429     public static class TestClass_0407 {}
430     public static class TestClass_0408 {}
431     public static class TestClass_0409 {}
432     public static class TestClass_0410 {}
433     public static class TestClass_0411 {}
434     public static class TestClass_0412 {}
435     public static class TestClass_0413 {}
436     public static class TestClass_0414 {}
437     public static class TestClass_0415 {}
438     public static class TestClass_0416 {}
439     public static class TestClass_0417 {}
440     public static class TestClass_0418 {}
441     public static class TestClass_0419 {}
442     public static class TestClass_0420 {}
443     public static class TestClass_0421 {}
444     public static class TestClass_0422 {}
445     public static class TestClass_0423 {}
446     public static class TestClass_0424 {}
447     public static class TestClass_0425 {}
448     public static class TestClass_0426 {}
449     public static class TestClass_0427 {}
450     public static class TestClass_0428 {}
451     public static class TestClass_0429 {}
452     public static class TestClass_0430 {}
453     public static class TestClass_0431 {}
454     public static class TestClass_0432 {}
455     public static class TestClass_0433 {}
456     public static class TestClass_0434 {}
457     public static class TestClass_0435 {}
458     public static class TestClass_0436 {}
459     public static class TestClass_0437 {}
460     public static class TestClass_0438 {}
461     public static class TestClass_0439 {}
462     public static class TestClass_0440 {}
463     public static class TestClass_0441 {}
464     public static class TestClass_0442 {}
465     public static class TestClass_0443 {}
466     public static class TestClass_0444 {}
467     public static class TestClass_0445 {}
468     public static class TestClass_0446 {}
469     public static class TestClass_0447 {}
470     public static class TestClass_0448 {}
471     public static class TestClass_0449 {}
472     public static class TestClass_0450 {}
473     public static class TestClass_0451 {}
474     public static class TestClass_0452 {}
475     public static class TestClass_0453 {}
476     public static class TestClass_0454 {}
477     public static class TestClass_0455 {}
478     public static class TestClass_0456 {}
479     public static class TestClass_0457 {}
480     public static class TestClass_0458 {}
481     public static class TestClass_0459 {}
482     public static class TestClass_0460 {}
483     public static class TestClass_0461 {}
484     public static class TestClass_0462 {}
485     public static class TestClass_0463 {}
486     public static class TestClass_0464 {}
487     public static class TestClass_0465 {}
488     public static class TestClass_0466 {}
489     public static class TestClass_0467 {}
490     public static class TestClass_0468 {}
491     public static class TestClass_0469 {}
492     public static class TestClass_0470 {}
493     public static class TestClass_0471 {}
494     public static class TestClass_0472 {}
495     public static class TestClass_0473 {}
496     public static class TestClass_0474 {}
497     public static class TestClass_0475 {}
498     public static class TestClass_0476 {}
499     public static class TestClass_0477 {}
500     public static class TestClass_0478 {}
501     public static class TestClass_0479 {}
502     public static class TestClass_0480 {}
503     public static class TestClass_0481 {}
504     public static class TestClass_0482 {}
505     public static class TestClass_0483 {}
506     public static class TestClass_0484 {}
507     public static class TestClass_0485 {}
508     public static class TestClass_0486 {}
509     public static class TestClass_0487 {}
510     public static class TestClass_0488 {}
511     public static class TestClass_0489 {}
512     public static class TestClass_0490 {}
513     public static class TestClass_0491 {}
514     public static class TestClass_0492 {}
515     public static class TestClass_0493 {}
516     public static class TestClass_0494 {}
517     public static class TestClass_0495 {}
518     public static class TestClass_0496 {}
519     public static class TestClass_0497 {}
520     public static class TestClass_0498 {}
521     public static class TestClass_0499 {}
522     public static class TestClass_0500 {}
523     public static class TestClass_0501 {}
524     public static class TestClass_0502 {}
525     public static class TestClass_0503 {}
526     public static class TestClass_0504 {}
527     public static class TestClass_0505 {}
528     public static class TestClass_0506 {}
529     public static class TestClass_0507 {}
530     public static class TestClass_0508 {}
531     public static class TestClass_0509 {}
532     public static class TestClass_0510 {}
533     public static class TestClass_0511 {}
534     public static class TestClass_0512 {}
535     public static class TestClass_0513 {}
536     public static class TestClass_0514 {}
537     public static class TestClass_0515 {}
538     public static class TestClass_0516 {}
539     public static class TestClass_0517 {}
540     public static class TestClass_0518 {}
541     public static class TestClass_0519 {}
542     public static class TestClass_0520 {}
543     public static class TestClass_0521 {}
544     public static class TestClass_0522 {}
545     public static class TestClass_0523 {}
546     public static class TestClass_0524 {}
547     public static class TestClass_0525 {}
548     public static class TestClass_0526 {}
549     public static class TestClass_0527 {}
550     public static class TestClass_0528 {}
551     public static class TestClass_0529 {}
552     public static class TestClass_0530 {}
553     public static class TestClass_0531 {}
554     public static class TestClass_0532 {}
555     public static class TestClass_0533 {}
556     public static class TestClass_0534 {}
557     public static class TestClass_0535 {}
558     public static class TestClass_0536 {}
559     public static class TestClass_0537 {}
560     public static class TestClass_0538 {}
561     public static class TestClass_0539 {}
562     public static class TestClass_0540 {}
563     public static class TestClass_0541 {}
564     public static class TestClass_0542 {}
565     public static class TestClass_0543 {}
566     public static class TestClass_0544 {}
567     public static class TestClass_0545 {}
568     public static class TestClass_0546 {}
569     public static class TestClass_0547 {}
570     public static class TestClass_0548 {}
571     public static class TestClass_0549 {}
572     public static class TestClass_0550 {}
573     public static class TestClass_0551 {}
574     public static class TestClass_0552 {}
575     public static class TestClass_0553 {}
576     public static class TestClass_0554 {}
577     public static class TestClass_0555 {}
578     public static class TestClass_0556 {}
579     public static class TestClass_0557 {}
580     public static class TestClass_0558 {}
581     public static class TestClass_0559 {}
582     public static class TestClass_0560 {}
583     public static class TestClass_0561 {}
584     public static class TestClass_0562 {}
585     public static class TestClass_0563 {}
586     public static class TestClass_0564 {}
587     public static class TestClass_0565 {}
588     public static class TestClass_0566 {}
589     public static class TestClass_0567 {}
590     public static class TestClass_0568 {}
591     public static class TestClass_0569 {}
592     public static class TestClass_0570 {}
593     public static class TestClass_0571 {}
594     public static class TestClass_0572 {}
595     public static class TestClass_0573 {}
596     public static class TestClass_0574 {}
597     public static class TestClass_0575 {}
598     public static class TestClass_0576 {}
599     public static class TestClass_0577 {}
600     public static class TestClass_0578 {}
601     public static class TestClass_0579 {}
602     public static class TestClass_0580 {}
603     public static class TestClass_0581 {}
604     public static class TestClass_0582 {}
605     public static class TestClass_0583 {}
606     public static class TestClass_0584 {}
607     public static class TestClass_0585 {}
608     public static class TestClass_0586 {}
609     public static class TestClass_0587 {}
610     public static class TestClass_0588 {}
611     public static class TestClass_0589 {}
612     public static class TestClass_0590 {}
613     public static class TestClass_0591 {}
614     public static class TestClass_0592 {}
615     public static class TestClass_0593 {}
616     public static class TestClass_0594 {}
617     public static class TestClass_0595 {}
618     public static class TestClass_0596 {}
619     public static class TestClass_0597 {}
620     public static class TestClass_0598 {}
621     public static class TestClass_0599 {}
622     public static class TestClass_0600 {}
623     public static class TestClass_0601 {}
624     public static class TestClass_0602 {}
625     public static class TestClass_0603 {}
626     public static class TestClass_0604 {}
627     public static class TestClass_0605 {}
628     public static class TestClass_0606 {}
629     public static class TestClass_0607 {}
630     public static class TestClass_0608 {}
631     public static class TestClass_0609 {}
632     public static class TestClass_0610 {}
633     public static class TestClass_0611 {}
634     public static class TestClass_0612 {}
635     public static class TestClass_0613 {}
636     public static class TestClass_0614 {}
637     public static class TestClass_0615 {}
638     public static class TestClass_0616 {}
639     public static class TestClass_0617 {}
640     public static class TestClass_0618 {}
641     public static class TestClass_0619 {}
642     public static class TestClass_0620 {}
643     public static class TestClass_0621 {}
644     public static class TestClass_0622 {}
645     public static class TestClass_0623 {}
646     public static class TestClass_0624 {}
647     public static class TestClass_0625 {}
648     public static class TestClass_0626 {}
649     public static class TestClass_0627 {}
650     public static class TestClass_0628 {}
651     public static class TestClass_0629 {}
652     public static class TestClass_0630 {}
653     public static class TestClass_0631 {}
654     public static class TestClass_0632 {}
655     public static class TestClass_0633 {}
656     public static class TestClass_0634 {}
657     public static class TestClass_0635 {}
658     public static class TestClass_0636 {}
659     public static class TestClass_0637 {}
660     public static class TestClass_0638 {}
661     public static class TestClass_0639 {}
662     public static class TestClass_0640 {}
663     public static class TestClass_0641 {}
664     public static class TestClass_0642 {}
665     public static class TestClass_0643 {}
666     public static class TestClass_0644 {}
667     public static class TestClass_0645 {}
668     public static class TestClass_0646 {}
669     public static class TestClass_0647 {}
670     public static class TestClass_0648 {}
671     public static class TestClass_0649 {}
672     public static class TestClass_0650 {}
673     public static class TestClass_0651 {}
674     public static class TestClass_0652 {}
675     public static class TestClass_0653 {}
676     public static class TestClass_0654 {}
677     public static class TestClass_0655 {}
678     public static class TestClass_0656 {}
679     public static class TestClass_0657 {}
680     public static class TestClass_0658 {}
681     public static class TestClass_0659 {}
682     public static class TestClass_0660 {}
683     public static class TestClass_0661 {}
684     public static class TestClass_0662 {}
685     public static class TestClass_0663 {}
686     public static class TestClass_0664 {}
687     public static class TestClass_0665 {}
688     public static class TestClass_0666 {}
689     public static class TestClass_0667 {}
690     public static class TestClass_0668 {}
691     public static class TestClass_0669 {}
692     public static class TestClass_0670 {}
693     public static class TestClass_0671 {}
694     public static class TestClass_0672 {}
695     public static class TestClass_0673 {}
696     public static class TestClass_0674 {}
697     public static class TestClass_0675 {}
698     public static class TestClass_0676 {}
699     public static class TestClass_0677 {}
700     public static class TestClass_0678 {}
701     public static class TestClass_0679 {}
702     public static class TestClass_0680 {}
703     public static class TestClass_0681 {}
704     public static class TestClass_0682 {}
705     public static class TestClass_0683 {}
706     public static class TestClass_0684 {}
707     public static class TestClass_0685 {}
708     public static class TestClass_0686 {}
709     public static class TestClass_0687 {}
710     public static class TestClass_0688 {}
711     public static class TestClass_0689 {}
712     public static class TestClass_0690 {}
713     public static class TestClass_0691 {}
714     public static class TestClass_0692 {}
715     public static class TestClass_0693 {}
716     public static class TestClass_0694 {}
717     public static class TestClass_0695 {}
718     public static class TestClass_0696 {}
719     public static class TestClass_0697 {}
720     public static class TestClass_0698 {}
721     public static class TestClass_0699 {}
722     public static class TestClass_0700 {}
723     public static class TestClass_0701 {}
724     public static class TestClass_0702 {}
725     public static class TestClass_0703 {}
726     public static class TestClass_0704 {}
727     public static class TestClass_0705 {}
728     public static class TestClass_0706 {}
729     public static class TestClass_0707 {}
730     public static class TestClass_0708 {}
731     public static class TestClass_0709 {}
732     public static class TestClass_0710 {}
733     public static class TestClass_0711 {}
734     public static class TestClass_0712 {}
735     public static class TestClass_0713 {}
736     public static class TestClass_0714 {}
737     public static class TestClass_0715 {}
738     public static class TestClass_0716 {}
739     public static class TestClass_0717 {}
740     public static class TestClass_0718 {}
741     public static class TestClass_0719 {}
742     public static class TestClass_0720 {}
743     public static class TestClass_0721 {}
744     public static class TestClass_0722 {}
745     public static class TestClass_0723 {}
746     public static class TestClass_0724 {}
747     public static class TestClass_0725 {}
748     public static class TestClass_0726 {}
749     public static class TestClass_0727 {}
750     public static class TestClass_0728 {}
751     public static class TestClass_0729 {}
752     public static class TestClass_0730 {}
753     public static class TestClass_0731 {}
754     public static class TestClass_0732 {}
755     public static class TestClass_0733 {}
756     public static class TestClass_0734 {}
757     public static class TestClass_0735 {}
758     public static class TestClass_0736 {}
759     public static class TestClass_0737 {}
760     public static class TestClass_0738 {}
761     public static class TestClass_0739 {}
762     public static class TestClass_0740 {}
763     public static class TestClass_0741 {}
764     public static class TestClass_0742 {}
765     public static class TestClass_0743 {}
766     public static class TestClass_0744 {}
767     public static class TestClass_0745 {}
768     public static class TestClass_0746 {}
769     public static class TestClass_0747 {}
770     public static class TestClass_0748 {}
771     public static class TestClass_0749 {}
772     public static class TestClass_0750 {}
773     public static class TestClass_0751 {}
774     public static class TestClass_0752 {}
775     public static class TestClass_0753 {}
776     public static class TestClass_0754 {}
777     public static class TestClass_0755 {}
778     public static class TestClass_0756 {}
779     public static class TestClass_0757 {}
780     public static class TestClass_0758 {}
781     public static class TestClass_0759 {}
782     public static class TestClass_0760 {}
783     public static class TestClass_0761 {}
784     public static class TestClass_0762 {}
785     public static class TestClass_0763 {}
786     public static class TestClass_0764 {}
787     public static class TestClass_0765 {}
788     public static class TestClass_0766 {}
789     public static class TestClass_0767 {}
790     public static class TestClass_0768 {}
791     public static class TestClass_0769 {}
792     public static class TestClass_0770 {}
793     public static class TestClass_0771 {}
794     public static class TestClass_0772 {}
795     public static class TestClass_0773 {}
796     public static class TestClass_0774 {}
797     public static class TestClass_0775 {}
798     public static class TestClass_0776 {}
799     public static class TestClass_0777 {}
800     public static class TestClass_0778 {}
801     public static class TestClass_0779 {}
802     public static class TestClass_0780 {}
803     public static class TestClass_0781 {}
804     public static class TestClass_0782 {}
805     public static class TestClass_0783 {}
806     public static class TestClass_0784 {}
807     public static class TestClass_0785 {}
808     public static class TestClass_0786 {}
809     public static class TestClass_0787 {}
810     public static class TestClass_0788 {}
811     public static class TestClass_0789 {}
812     public static class TestClass_0790 {}
813     public static class TestClass_0791 {}
814     public static class TestClass_0792 {}
815     public static class TestClass_0793 {}
816     public static class TestClass_0794 {}
817     public static class TestClass_0795 {}
818     public static class TestClass_0796 {}
819     public static class TestClass_0797 {}
820     public static class TestClass_0798 {}
821     public static class TestClass_0799 {}
822     public static class TestClass_0800 {}
823     public static class TestClass_0801 {}
824     public static class TestClass_0802 {}
825     public static class TestClass_0803 {}
826     public static class TestClass_0804 {}
827     public static class TestClass_0805 {}
828     public static class TestClass_0806 {}
829     public static class TestClass_0807 {}
830     public static class TestClass_0808 {}
831     public static class TestClass_0809 {}
832     public static class TestClass_0810 {}
833     public static class TestClass_0811 {}
834     public static class TestClass_0812 {}
835     public static class TestClass_0813 {}
836     public static class TestClass_0814 {}
837     public static class TestClass_0815 {}
838     public static class TestClass_0816 {}
839     public static class TestClass_0817 {}
840     public static class TestClass_0818 {}
841     public static class TestClass_0819 {}
842     public static class TestClass_0820 {}
843     public static class TestClass_0821 {}
844     public static class TestClass_0822 {}
845     public static class TestClass_0823 {}
846     public static class TestClass_0824 {}
847     public static class TestClass_0825 {}
848     public static class TestClass_0826 {}
849     public static class TestClass_0827 {}
850     public static class TestClass_0828 {}
851     public static class TestClass_0829 {}
852     public static class TestClass_0830 {}
853     public static class TestClass_0831 {}
854     public static class TestClass_0832 {}
855     public static class TestClass_0833 {}
856     public static class TestClass_0834 {}
857     public static class TestClass_0835 {}
858     public static class TestClass_0836 {}
859     public static class TestClass_0837 {}
860     public static class TestClass_0838 {}
861     public static class TestClass_0839 {}
862     public static class TestClass_0840 {}
863     public static class TestClass_0841 {}
864     public static class TestClass_0842 {}
865     public static class TestClass_0843 {}
866     public static class TestClass_0844 {}
867     public static class TestClass_0845 {}
868     public static class TestClass_0846 {}
869     public static class TestClass_0847 {}
870     public static class TestClass_0848 {}
871     public static class TestClass_0849 {}
872     public static class TestClass_0850 {}
873     public static class TestClass_0851 {}
874     public static class TestClass_0852 {}
875     public static class TestClass_0853 {}
876     public static class TestClass_0854 {}
877     public static class TestClass_0855 {}
878     public static class TestClass_0856 {}
879     public static class TestClass_0857 {}
880     public static class TestClass_0858 {}
881     public static class TestClass_0859 {}
882     public static class TestClass_0860 {}
883     public static class TestClass_0861 {}
884     public static class TestClass_0862 {}
885     public static class TestClass_0863 {}
886     public static class TestClass_0864 {}
887     public static class TestClass_0865 {}
888     public static class TestClass_0866 {}
889     public static class TestClass_0867 {}
890     public static class TestClass_0868 {}
891     public static class TestClass_0869 {}
892     public static class TestClass_0870 {}
893     public static class TestClass_0871 {}
894     public static class TestClass_0872 {}
895     public static class TestClass_0873 {}
896     public static class TestClass_0874 {}
897     public static class TestClass_0875 {}
898     public static class TestClass_0876 {}
899     public static class TestClass_0877 {}
900     public static class TestClass_0878 {}
901     public static class TestClass_0879 {}
902     public static class TestClass_0880 {}
903     public static class TestClass_0881 {}
904     public static class TestClass_0882 {}
905     public static class TestClass_0883 {}
906     public static class TestClass_0884 {}
907     public static class TestClass_0885 {}
908     public static class TestClass_0886 {}
909     public static class TestClass_0887 {}
910     public static class TestClass_0888 {}
911     public static class TestClass_0889 {}
912     public static class TestClass_0890 {}
913     public static class TestClass_0891 {}
914     public static class TestClass_0892 {}
915     public static class TestClass_0893 {}
916     public static class TestClass_0894 {}
917     public static class TestClass_0895 {}
918     public static class TestClass_0896 {}
919     public static class TestClass_0897 {}
920     public static class TestClass_0898 {}
921     public static class TestClass_0899 {}
922     public static class TestClass_0900 {}
923     public static class TestClass_0901 {}
924     public static class TestClass_0902 {}
925     public static class TestClass_0903 {}
926     public static class TestClass_0904 {}
927     public static class TestClass_0905 {}
928     public static class TestClass_0906 {}
929     public static class TestClass_0907 {}
930     public static class TestClass_0908 {}
931     public static class TestClass_0909 {}
932     public static class TestClass_0910 {}
933     public static class TestClass_0911 {}
934     public static class TestClass_0912 {}
935     public static class TestClass_0913 {}
936     public static class TestClass_0914 {}
937     public static class TestClass_0915 {}
938     public static class TestClass_0916 {}
939     public static class TestClass_0917 {}
940     public static class TestClass_0918 {}
941     public static class TestClass_0919 {}
942     public static class TestClass_0920 {}
943     public static class TestClass_0921 {}
944     public static class TestClass_0922 {}
945     public static class TestClass_0923 {}
946     public static class TestClass_0924 {}
947     public static class TestClass_0925 {}
948     public static class TestClass_0926 {}
949     public static class TestClass_0927 {}
950     public static class TestClass_0928 {}
951     public static class TestClass_0929 {}
952     public static class TestClass_0930 {}
953     public static class TestClass_0931 {}
954     public static class TestClass_0932 {}
955     public static class TestClass_0933 {}
956     public static class TestClass_0934 {}
957     public static class TestClass_0935 {}
958     public static class TestClass_0936 {}
959     public static class TestClass_0937 {}
960     public static class TestClass_0938 {}
961     public static class TestClass_0939 {}
962     public static class TestClass_0940 {}
963     public static class TestClass_0941 {}
964     public static class TestClass_0942 {}
965     public static class TestClass_0943 {}
966     public static class TestClass_0944 {}
967     public static class TestClass_0945 {}
968     public static class TestClass_0946 {}
969     public static class TestClass_0947 {}
970     public static class TestClass_0948 {}
971     public static class TestClass_0949 {}
972     public static class TestClass_0950 {}
973     public static class TestClass_0951 {}
974     public static class TestClass_0952 {}
975     public static class TestClass_0953 {}
976     public static class TestClass_0954 {}
977     public static class TestClass_0955 {}
978     public static class TestClass_0956 {}
979     public static class TestClass_0957 {}
980     public static class TestClass_0958 {}
981     public static class TestClass_0959 {}
982     public static class TestClass_0960 {}
983     public static class TestClass_0961 {}
984     public static class TestClass_0962 {}
985     public static class TestClass_0963 {}
986     public static class TestClass_0964 {}
987     public static class TestClass_0965 {}
988     public static class TestClass_0966 {}
989     public static class TestClass_0967 {}
990     public static class TestClass_0968 {}
991     public static class TestClass_0969 {}
992     public static class TestClass_0970 {}
993     public static class TestClass_0971 {}
994     public static class TestClass_0972 {}
995     public static class TestClass_0973 {}
996     public static class TestClass_0974 {}
997     public static class TestClass_0975 {}
998     public static class TestClass_0976 {}
999     public static class TestClass_0977 {}
1000     public static class TestClass_0978 {}
1001     public static class TestClass_0979 {}
1002     public static class TestClass_0980 {}
1003     public static class TestClass_0981 {}
1004     public static class TestClass_0982 {}
1005     public static class TestClass_0983 {}
1006     public static class TestClass_0984 {}
1007     public static class TestClass_0985 {}
1008     public static class TestClass_0986 {}
1009     public static class TestClass_0987 {}
1010     public static class TestClass_0988 {}
1011     public static class TestClass_0989 {}
1012     public static class TestClass_0990 {}
1013     public static class TestClass_0991 {}
1014     public static class TestClass_0992 {}
1015     public static class TestClass_0993 {}
1016     public static class TestClass_0994 {}
1017     public static class TestClass_0995 {}
1018     public static class TestClass_0996 {}
1019     public static class TestClass_0997 {}
1020     public static class TestClass_0998 {}
1021     public static class TestClass_0999 {}
1022     public static class TestClass_1000 {}
1023     public static class TestClass_1001 {}
1024     public static class TestClass_1002 {}
1025     public static class TestClass_1003 {}
1026     public static class TestClass_1004 {}
1027     public static class TestClass_1005 {}
1028     public static class TestClass_1006 {}
1029     public static class TestClass_1007 {}
1030     public static class TestClass_1008 {}
1031     public static class TestClass_1009 {}
1032     public static class TestClass_1010 {}
1033     public static class TestClass_1011 {}
1034     public static class TestClass_1012 {}
1035     public static class TestClass_1013 {}
1036     public static class TestClass_1014 {}
1037     public static class TestClass_1015 {}
1038     public static class TestClass_1016 {}
1039     public static class TestClass_1017 {}
1040     public static class TestClass_1018 {}
1041     public static class TestClass_1019 {}
1042     public static class TestClass_1020 {}
1043     public static class TestClass_1021 {}
1044     public static class TestClass_1022 {}
1045     public static class TestClass_1023 {}
1046     public static class TestClass_1024 {}
1047 
timeConstClassWithConflict(int count)1048     public void timeConstClassWithConflict(int count) {
1049         Class<?> class0001 = TestClass_0001.class;
1050         for (int i = 0; i < count; ++i) {
1051             $noinline$foo(class0001);  // Prevent LICM on the TestClass_xxxx.class below.
1052             $noinline$foo(TestClass_0000.class);
1053             $noinline$foo(TestClass_1024.class);
1054         }
1055     }
1056 
timeConstClassWithoutConflict(int count)1057     public void timeConstClassWithoutConflict(int count) {
1058         Class<?> class0000 = TestClass_0000.class;
1059         for (int i = 0; i < count; ++i) {
1060             $noinline$foo(class0000);  // Prevent LICM on the TestClass_xxxx.class below.
1061             $noinline$foo(TestClass_0001.class);
1062             $noinline$foo(TestClass_1023.class);
1063         }
1064     }
1065 
$noinline$foo(Class<?> s)1066     static void $noinline$foo(Class<?> s) {
1067         if (doThrow) { throw new Error(); }
1068     }
1069 
1070     public static boolean doThrow = false;
1071 }
1072