xref: /aosp_15_r20/art/test/023-many-interfaces/src/ManyInterfaces.java (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker /*
2*795d594fSAndroid Build Coastguard Worker  * Copyright (C) 2007 The Android Open Source Project
3*795d594fSAndroid Build Coastguard Worker  *
4*795d594fSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*795d594fSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*795d594fSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*795d594fSAndroid Build Coastguard Worker  *
8*795d594fSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*795d594fSAndroid Build Coastguard Worker  *
10*795d594fSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*795d594fSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*795d594fSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*795d594fSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*795d594fSAndroid Build Coastguard Worker  * limitations under the License.
15*795d594fSAndroid Build Coastguard Worker  */
16*795d594fSAndroid Build Coastguard Worker 
17*795d594fSAndroid Build Coastguard Worker /*
18*795d594fSAndroid Build Coastguard Worker Initial:
19*795d594fSAndroid Build Coastguard Worker test001: 2039901us  (4079ns per call)
20*795d594fSAndroid Build Coastguard Worker test049: 3346619us  (6693ns per call)
21*795d594fSAndroid Build Coastguard Worker test099: 4687402us  (9374ns per call)
22*795d594fSAndroid Build Coastguard Worker testInst001: 1327216us  (2654ns per use)
23*795d594fSAndroid Build Coastguard Worker testInst049: 1326995us  (2653ns per use)
24*795d594fSAndroid Build Coastguard Worker testInst099: 1327735us  (2655ns per use)
25*795d594fSAndroid Build Coastguard Worker 
26*795d594fSAndroid Build Coastguard Worker After refactoring cache code: 2871ns per use
27*795d594fSAndroid Build Coastguard Worker After re-refactoring cache code: 2797ns per use
28*795d594fSAndroid Build Coastguard Worker 
29*795d594fSAndroid Build Coastguard Worker After de-inlining invoke-interface:
30*795d594fSAndroid Build Coastguard Worker test001: 2164873us  (4329ns per call)
31*795d594fSAndroid Build Coastguard Worker test049: 3303884us  (6607ns per call)
32*795d594fSAndroid Build Coastguard Worker test099: 4656718us  (9313ns per call)
33*795d594fSAndroid Build Coastguard Worker testInst001: 1401731us  (2803ns per use)
34*795d594fSAndroid Build Coastguard Worker testInst049: 1401120us  (2802ns per use)
35*795d594fSAndroid Build Coastguard Worker testInst099: 1401298us  (2802ns per use)
36*795d594fSAndroid Build Coastguard Worker 
37*795d594fSAndroid Build Coastguard Worker After adding caching for invoke-interface:
38*795d594fSAndroid Build Coastguard Worker testIface001: 1909330us  (3818ns per call)
39*795d594fSAndroid Build Coastguard Worker testIface049: 1905204us  (3810ns per call)
40*795d594fSAndroid Build Coastguard Worker testIface099: 1899012us  (3798ns per call)
41*795d594fSAndroid Build Coastguard Worker testVirt001: 1825001us  (3650ns per call)
42*795d594fSAndroid Build Coastguard Worker testVirt049: 1826161us  (3652ns per call)
43*795d594fSAndroid Build Coastguard Worker testVirt099: 1823915us  (3647ns per call)
44*795d594fSAndroid Build Coastguard Worker testInst001: 1393963us  (2787ns per use)
45*795d594fSAndroid Build Coastguard Worker testInst049: 1393163us  (2786ns per use)
46*795d594fSAndroid Build Coastguard Worker testInst099: 1390496us  (2780ns per use)
47*795d594fSAndroid Build Coastguard Worker 
48*795d594fSAndroid Build Coastguard Worker After repeating each operation 16 times inside the inner loop:
49*795d594fSAndroid Build Coastguard Worker testIface001: 1429472us  (2726ns per call)      * 2382ns
50*795d594fSAndroid Build Coastguard Worker testIface049: 1427847us  (2723ns per call)      * 2396ns
51*795d594fSAndroid Build Coastguard Worker testIface099: 1423707us  (2715ns per call)      * 2387ns
52*795d594fSAndroid Build Coastguard Worker testVirt001: 1277790us  (2437ns per call)       * 2118ns
53*795d594fSAndroid Build Coastguard Worker testVirt049: 1280276us  (2441ns per call)       * 2119ns
54*795d594fSAndroid Build Coastguard Worker testVirt099: 1272640us  (2427ns per call)       * 2118ns
55*795d594fSAndroid Build Coastguard Worker testInst001: 844694us  (1611ns per use)         * 1396ns
56*795d594fSAndroid Build Coastguard Worker testInst049: 845619us  (1612ns per use)         * 1395ns
57*795d594fSAndroid Build Coastguard Worker testInst099: 845526us  (1612ns per use)         * 1394ns
58*795d594fSAndroid Build Coastguard Worker ('*' is with dx optimizations enabled)
59*795d594fSAndroid Build Coastguard Worker */
60*795d594fSAndroid Build Coastguard Worker 
61*795d594fSAndroid Build Coastguard Worker /**
62*795d594fSAndroid Build Coastguard Worker  * Semi-generated class with many interfaces.
63*795d594fSAndroid Build Coastguard Worker  */
64*795d594fSAndroid Build Coastguard Worker public class ManyInterfaces
65*795d594fSAndroid Build Coastguard Worker     implements
66*795d594fSAndroid Build Coastguard Worker         Interface000,
67*795d594fSAndroid Build Coastguard Worker         Interface001,
68*795d594fSAndroid Build Coastguard Worker         Interface002,
69*795d594fSAndroid Build Coastguard Worker         Interface003,
70*795d594fSAndroid Build Coastguard Worker         Interface004,
71*795d594fSAndroid Build Coastguard Worker         Interface005,
72*795d594fSAndroid Build Coastguard Worker         Interface006,
73*795d594fSAndroid Build Coastguard Worker         Interface007,
74*795d594fSAndroid Build Coastguard Worker         Interface008,
75*795d594fSAndroid Build Coastguard Worker         Interface009,
76*795d594fSAndroid Build Coastguard Worker         Interface010,
77*795d594fSAndroid Build Coastguard Worker         Interface011,
78*795d594fSAndroid Build Coastguard Worker         Interface012,
79*795d594fSAndroid Build Coastguard Worker         Interface013,
80*795d594fSAndroid Build Coastguard Worker         Interface014,
81*795d594fSAndroid Build Coastguard Worker         Interface015,
82*795d594fSAndroid Build Coastguard Worker         Interface016,
83*795d594fSAndroid Build Coastguard Worker         Interface017,
84*795d594fSAndroid Build Coastguard Worker         Interface018,
85*795d594fSAndroid Build Coastguard Worker         Interface019,
86*795d594fSAndroid Build Coastguard Worker         Interface020,
87*795d594fSAndroid Build Coastguard Worker         Interface021,
88*795d594fSAndroid Build Coastguard Worker         Interface022,
89*795d594fSAndroid Build Coastguard Worker         Interface023,
90*795d594fSAndroid Build Coastguard Worker         Interface024,
91*795d594fSAndroid Build Coastguard Worker         Interface025,
92*795d594fSAndroid Build Coastguard Worker         Interface026,
93*795d594fSAndroid Build Coastguard Worker         Interface027,
94*795d594fSAndroid Build Coastguard Worker         Interface028,
95*795d594fSAndroid Build Coastguard Worker         Interface029,
96*795d594fSAndroid Build Coastguard Worker         Interface030,
97*795d594fSAndroid Build Coastguard Worker         Interface031,
98*795d594fSAndroid Build Coastguard Worker         Interface032,
99*795d594fSAndroid Build Coastguard Worker         Interface033,
100*795d594fSAndroid Build Coastguard Worker         Interface034,
101*795d594fSAndroid Build Coastguard Worker         Interface035,
102*795d594fSAndroid Build Coastguard Worker         Interface036,
103*795d594fSAndroid Build Coastguard Worker         Interface037,
104*795d594fSAndroid Build Coastguard Worker         Interface038,
105*795d594fSAndroid Build Coastguard Worker         Interface039,
106*795d594fSAndroid Build Coastguard Worker         Interface040,
107*795d594fSAndroid Build Coastguard Worker         Interface041,
108*795d594fSAndroid Build Coastguard Worker         Interface042,
109*795d594fSAndroid Build Coastguard Worker         Interface043,
110*795d594fSAndroid Build Coastguard Worker         Interface044,
111*795d594fSAndroid Build Coastguard Worker         Interface045,
112*795d594fSAndroid Build Coastguard Worker         Interface046,
113*795d594fSAndroid Build Coastguard Worker         Interface047,
114*795d594fSAndroid Build Coastguard Worker         Interface048,
115*795d594fSAndroid Build Coastguard Worker         Interface049,
116*795d594fSAndroid Build Coastguard Worker         Interface050,
117*795d594fSAndroid Build Coastguard Worker         Interface051,
118*795d594fSAndroid Build Coastguard Worker         Interface052,
119*795d594fSAndroid Build Coastguard Worker         Interface053,
120*795d594fSAndroid Build Coastguard Worker         Interface054,
121*795d594fSAndroid Build Coastguard Worker         Interface055,
122*795d594fSAndroid Build Coastguard Worker         Interface056,
123*795d594fSAndroid Build Coastguard Worker         Interface057,
124*795d594fSAndroid Build Coastguard Worker         Interface058,
125*795d594fSAndroid Build Coastguard Worker         Interface059,
126*795d594fSAndroid Build Coastguard Worker         Interface060,
127*795d594fSAndroid Build Coastguard Worker         Interface061,
128*795d594fSAndroid Build Coastguard Worker         Interface062,
129*795d594fSAndroid Build Coastguard Worker         Interface063,
130*795d594fSAndroid Build Coastguard Worker         Interface064,
131*795d594fSAndroid Build Coastguard Worker         Interface065,
132*795d594fSAndroid Build Coastguard Worker         Interface066,
133*795d594fSAndroid Build Coastguard Worker         Interface067,
134*795d594fSAndroid Build Coastguard Worker         Interface068,
135*795d594fSAndroid Build Coastguard Worker         Interface069,
136*795d594fSAndroid Build Coastguard Worker         Interface070,
137*795d594fSAndroid Build Coastguard Worker         Interface071,
138*795d594fSAndroid Build Coastguard Worker         Interface072,
139*795d594fSAndroid Build Coastguard Worker         Interface073,
140*795d594fSAndroid Build Coastguard Worker         Interface074,
141*795d594fSAndroid Build Coastguard Worker         Interface075,
142*795d594fSAndroid Build Coastguard Worker         Interface076,
143*795d594fSAndroid Build Coastguard Worker         Interface077,
144*795d594fSAndroid Build Coastguard Worker         Interface078,
145*795d594fSAndroid Build Coastguard Worker         Interface079,
146*795d594fSAndroid Build Coastguard Worker         Interface080,
147*795d594fSAndroid Build Coastguard Worker         Interface081,
148*795d594fSAndroid Build Coastguard Worker         Interface082,
149*795d594fSAndroid Build Coastguard Worker         Interface083,
150*795d594fSAndroid Build Coastguard Worker         Interface084,
151*795d594fSAndroid Build Coastguard Worker         Interface085,
152*795d594fSAndroid Build Coastguard Worker         Interface086,
153*795d594fSAndroid Build Coastguard Worker         Interface087,
154*795d594fSAndroid Build Coastguard Worker         Interface088,
155*795d594fSAndroid Build Coastguard Worker         Interface089,
156*795d594fSAndroid Build Coastguard Worker         Interface090,
157*795d594fSAndroid Build Coastguard Worker         Interface091,
158*795d594fSAndroid Build Coastguard Worker         Interface092,
159*795d594fSAndroid Build Coastguard Worker         Interface093,
160*795d594fSAndroid Build Coastguard Worker         Interface094,
161*795d594fSAndroid Build Coastguard Worker         Interface095,
162*795d594fSAndroid Build Coastguard Worker         Interface096,
163*795d594fSAndroid Build Coastguard Worker         Interface097,
164*795d594fSAndroid Build Coastguard Worker         Interface098,
165*795d594fSAndroid Build Coastguard Worker         Interface099
166*795d594fSAndroid Build Coastguard Worker {
167*795d594fSAndroid Build Coastguard Worker     /** whether to report timing information */
168*795d594fSAndroid Build Coastguard Worker     private static boolean timing = false;
169*795d594fSAndroid Build Coastguard Worker 
170*795d594fSAndroid Build Coastguard Worker     /**
171*795d594fSAndroid Build Coastguard Worker      * Report on a section.
172*795d594fSAndroid Build Coastguard Worker      */
report(String label, long start, long end, int iter, int rept)173*795d594fSAndroid Build Coastguard Worker     private static void report(String label, long start, long end, int iter,
174*795d594fSAndroid Build Coastguard Worker             int rept) {
175*795d594fSAndroid Build Coastguard Worker         if (timing) {
176*795d594fSAndroid Build Coastguard Worker             System.out.println(label + ": " + (end - start) / 1000 + "us"
177*795d594fSAndroid Build Coastguard Worker                     + "  (" + (end - start) / (iter*rept) + "ns per call)");
178*795d594fSAndroid Build Coastguard Worker         } else {
179*795d594fSAndroid Build Coastguard Worker             System.out.println(label + ": done");
180*795d594fSAndroid Build Coastguard Worker         }
181*795d594fSAndroid Build Coastguard Worker     }
182*795d594fSAndroid Build Coastguard Worker 
183*795d594fSAndroid Build Coastguard Worker     /**
184*795d594fSAndroid Build Coastguard Worker      * Run tests.
185*795d594fSAndroid Build Coastguard Worker      *
186*795d594fSAndroid Build Coastguard Worker      * @param timing whether to print out timing info
187*795d594fSAndroid Build Coastguard Worker      */
run(boolean timing)188*795d594fSAndroid Build Coastguard Worker     public static void run(boolean timing) {
189*795d594fSAndroid Build Coastguard Worker         ManyInterfaces.timing = timing;
190*795d594fSAndroid Build Coastguard Worker         ManyInterfaces obj = new ManyInterfaces();
191*795d594fSAndroid Build Coastguard Worker         Interface001 one;
192*795d594fSAndroid Build Coastguard Worker         Interface049 forty;
193*795d594fSAndroid Build Coastguard Worker         Interface099 ninety;
194*795d594fSAndroid Build Coastguard Worker         long start, end;
195*795d594fSAndroid Build Coastguard Worker         int iter = 32768;
196*795d594fSAndroid Build Coastguard Worker         int rept = 16;
197*795d594fSAndroid Build Coastguard Worker         int i;
198*795d594fSAndroid Build Coastguard Worker 
199*795d594fSAndroid Build Coastguard Worker         /*
200*795d594fSAndroid Build Coastguard Worker          * Clear the heap.  The various classes involved should already
201*795d594fSAndroid Build Coastguard Worker          * be loaded and ready as a result of instantiating ManyInterfaces.
202*795d594fSAndroid Build Coastguard Worker          */
203*795d594fSAndroid Build Coastguard Worker         Runtime.getRuntime().gc();
204*795d594fSAndroid Build Coastguard Worker 
205*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
206*795d594fSAndroid Build Coastguard Worker         testIface001(obj, iter);
207*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
208*795d594fSAndroid Build Coastguard Worker         report("testIface001", start, end, iter, rept);
209*795d594fSAndroid Build Coastguard Worker 
210*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
211*795d594fSAndroid Build Coastguard Worker         testIface049(obj, iter);
212*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
213*795d594fSAndroid Build Coastguard Worker         report("testIface049", start, end, iter, rept);
214*795d594fSAndroid Build Coastguard Worker 
215*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
216*795d594fSAndroid Build Coastguard Worker         testIface099(obj, iter);
217*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
218*795d594fSAndroid Build Coastguard Worker         report("testIface099", start, end, iter, rept);
219*795d594fSAndroid Build Coastguard Worker 
220*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
221*795d594fSAndroid Build Coastguard Worker         testVirt001(obj, iter);
222*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
223*795d594fSAndroid Build Coastguard Worker         report("testVirt001", start, end, iter, rept);
224*795d594fSAndroid Build Coastguard Worker 
225*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
226*795d594fSAndroid Build Coastguard Worker         testVirt049(obj, iter);
227*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
228*795d594fSAndroid Build Coastguard Worker         report("testVirt049", start, end, iter, rept);
229*795d594fSAndroid Build Coastguard Worker 
230*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
231*795d594fSAndroid Build Coastguard Worker         testVirt099(obj, iter);
232*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
233*795d594fSAndroid Build Coastguard Worker         report("testVirt099", start, end, iter, rept);
234*795d594fSAndroid Build Coastguard Worker 
235*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
236*795d594fSAndroid Build Coastguard Worker         testInstance001(obj, iter);
237*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
238*795d594fSAndroid Build Coastguard Worker         report("testInst001", start, end, iter, rept);
239*795d594fSAndroid Build Coastguard Worker 
240*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
241*795d594fSAndroid Build Coastguard Worker         testInstance049(obj, iter);
242*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
243*795d594fSAndroid Build Coastguard Worker         report("testInst049", start, end, iter, rept);
244*795d594fSAndroid Build Coastguard Worker 
245*795d594fSAndroid Build Coastguard Worker         start = System.nanoTime();
246*795d594fSAndroid Build Coastguard Worker         testInstance099(obj, iter);
247*795d594fSAndroid Build Coastguard Worker         end = System.nanoTime();
248*795d594fSAndroid Build Coastguard Worker         report("testInst099", start, end, iter, rept);
249*795d594fSAndroid Build Coastguard Worker     }
250*795d594fSAndroid Build Coastguard Worker 
func001()251*795d594fSAndroid Build Coastguard Worker     public int func001() { return 1; }
func003()252*795d594fSAndroid Build Coastguard Worker     public int func003() { return 3; }
func005()253*795d594fSAndroid Build Coastguard Worker     public int func005() { return 5; }
func007()254*795d594fSAndroid Build Coastguard Worker     public int func007() { return 7; }
func009()255*795d594fSAndroid Build Coastguard Worker     public int func009() { return 9; }
func011()256*795d594fSAndroid Build Coastguard Worker     public int func011() { return 11; }
func013()257*795d594fSAndroid Build Coastguard Worker     public int func013() { return 13; }
func015()258*795d594fSAndroid Build Coastguard Worker     public int func015() { return 15; }
func017()259*795d594fSAndroid Build Coastguard Worker     public int func017() { return 17; }
func019()260*795d594fSAndroid Build Coastguard Worker     public int func019() { return 19; }
func021()261*795d594fSAndroid Build Coastguard Worker     public int func021() { return 21; }
func023()262*795d594fSAndroid Build Coastguard Worker     public int func023() { return 23; }
func025()263*795d594fSAndroid Build Coastguard Worker     public int func025() { return 25; }
func027()264*795d594fSAndroid Build Coastguard Worker     public int func027() { return 27; }
func029()265*795d594fSAndroid Build Coastguard Worker     public int func029() { return 29; }
func031()266*795d594fSAndroid Build Coastguard Worker     public int func031() { return 31; }
func033()267*795d594fSAndroid Build Coastguard Worker     public int func033() { return 33; }
func035()268*795d594fSAndroid Build Coastguard Worker     public int func035() { return 35; }
func037()269*795d594fSAndroid Build Coastguard Worker     public int func037() { return 37; }
func039()270*795d594fSAndroid Build Coastguard Worker     public int func039() { return 39; }
func041()271*795d594fSAndroid Build Coastguard Worker     public int func041() { return 41; }
func043()272*795d594fSAndroid Build Coastguard Worker     public int func043() { return 43; }
func045()273*795d594fSAndroid Build Coastguard Worker     public int func045() { return 45; }
func047()274*795d594fSAndroid Build Coastguard Worker     public int func047() { return 47; }
func049()275*795d594fSAndroid Build Coastguard Worker     public int func049() { return 49; }
func051()276*795d594fSAndroid Build Coastguard Worker     public int func051() { return 51; }
func053()277*795d594fSAndroid Build Coastguard Worker     public int func053() { return 53; }
func055()278*795d594fSAndroid Build Coastguard Worker     public int func055() { return 55; }
func057()279*795d594fSAndroid Build Coastguard Worker     public int func057() { return 57; }
func059()280*795d594fSAndroid Build Coastguard Worker     public int func059() { return 59; }
func061()281*795d594fSAndroid Build Coastguard Worker     public int func061() { return 61; }
func063()282*795d594fSAndroid Build Coastguard Worker     public int func063() { return 63; }
func065()283*795d594fSAndroid Build Coastguard Worker     public int func065() { return 65; }
func067()284*795d594fSAndroid Build Coastguard Worker     public int func067() { return 67; }
func069()285*795d594fSAndroid Build Coastguard Worker     public int func069() { return 69; }
func071()286*795d594fSAndroid Build Coastguard Worker     public int func071() { return 71; }
func073()287*795d594fSAndroid Build Coastguard Worker     public int func073() { return 73; }
func075()288*795d594fSAndroid Build Coastguard Worker     public int func075() { return 75; }
func077()289*795d594fSAndroid Build Coastguard Worker     public int func077() { return 77; }
func079()290*795d594fSAndroid Build Coastguard Worker     public int func079() { return 79; }
func081()291*795d594fSAndroid Build Coastguard Worker     public int func081() { return 81; }
func083()292*795d594fSAndroid Build Coastguard Worker     public int func083() { return 83; }
func085()293*795d594fSAndroid Build Coastguard Worker     public int func085() { return 85; }
func087()294*795d594fSAndroid Build Coastguard Worker     public int func087() { return 87; }
func089()295*795d594fSAndroid Build Coastguard Worker     public int func089() { return 89; }
func091()296*795d594fSAndroid Build Coastguard Worker     public int func091() { return 91; }
func093()297*795d594fSAndroid Build Coastguard Worker     public int func093() { return 93; }
func095()298*795d594fSAndroid Build Coastguard Worker     public int func095() { return 95; }
func097()299*795d594fSAndroid Build Coastguard Worker     public int func097() { return 97; }
func099()300*795d594fSAndroid Build Coastguard Worker     public int func099() { return 99; }
301*795d594fSAndroid Build Coastguard Worker 
testIface001(Interface001 iface, int count)302*795d594fSAndroid Build Coastguard Worker     static void testIface001(Interface001 iface, int count) {
303*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
304*795d594fSAndroid Build Coastguard Worker             iface.func001(); iface.func001(); iface.func001(); iface.func001();
305*795d594fSAndroid Build Coastguard Worker             iface.func001(); iface.func001(); iface.func001(); iface.func001();
306*795d594fSAndroid Build Coastguard Worker             iface.func001(); iface.func001(); iface.func001(); iface.func001();
307*795d594fSAndroid Build Coastguard Worker             iface.func001(); iface.func001(); iface.func001(); iface.func001();
308*795d594fSAndroid Build Coastguard Worker         }
309*795d594fSAndroid Build Coastguard Worker     }
310*795d594fSAndroid Build Coastguard Worker 
testIface049(Interface049 iface, int count)311*795d594fSAndroid Build Coastguard Worker     static void testIface049(Interface049 iface, int count) {
312*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
313*795d594fSAndroid Build Coastguard Worker             iface.func049(); iface.func049(); iface.func049(); iface.func049();
314*795d594fSAndroid Build Coastguard Worker             iface.func049(); iface.func049(); iface.func049(); iface.func049();
315*795d594fSAndroid Build Coastguard Worker             iface.func049(); iface.func049(); iface.func049(); iface.func049();
316*795d594fSAndroid Build Coastguard Worker             iface.func049(); iface.func049(); iface.func049(); iface.func049();
317*795d594fSAndroid Build Coastguard Worker         }
318*795d594fSAndroid Build Coastguard Worker     }
319*795d594fSAndroid Build Coastguard Worker 
testIface099(Interface099 iface, int count)320*795d594fSAndroid Build Coastguard Worker     static void testIface099(Interface099 iface, int count) {
321*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
322*795d594fSAndroid Build Coastguard Worker             iface.func099(); iface.func099(); iface.func099(); iface.func099();
323*795d594fSAndroid Build Coastguard Worker             iface.func099(); iface.func099(); iface.func099(); iface.func099();
324*795d594fSAndroid Build Coastguard Worker             iface.func099(); iface.func099(); iface.func099(); iface.func099();
325*795d594fSAndroid Build Coastguard Worker             iface.func099(); iface.func099(); iface.func099(); iface.func099();
326*795d594fSAndroid Build Coastguard Worker         }
327*795d594fSAndroid Build Coastguard Worker     }
328*795d594fSAndroid Build Coastguard Worker 
testVirt001(ManyInterfaces obj, int count)329*795d594fSAndroid Build Coastguard Worker     static void testVirt001(ManyInterfaces obj, int count) {
330*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
331*795d594fSAndroid Build Coastguard Worker             obj.func001(); obj.func001(); obj.func001(); obj.func001();
332*795d594fSAndroid Build Coastguard Worker             obj.func001(); obj.func001(); obj.func001(); obj.func001();
333*795d594fSAndroid Build Coastguard Worker             obj.func001(); obj.func001(); obj.func001(); obj.func001();
334*795d594fSAndroid Build Coastguard Worker             obj.func001(); obj.func001(); obj.func001(); obj.func001();
335*795d594fSAndroid Build Coastguard Worker         }
336*795d594fSAndroid Build Coastguard Worker     }
337*795d594fSAndroid Build Coastguard Worker 
testVirt049(ManyInterfaces obj, int count)338*795d594fSAndroid Build Coastguard Worker     static void testVirt049(ManyInterfaces obj, int count) {
339*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
340*795d594fSAndroid Build Coastguard Worker             obj.func049(); obj.func049(); obj.func049(); obj.func049();
341*795d594fSAndroid Build Coastguard Worker             obj.func049(); obj.func049(); obj.func049(); obj.func049();
342*795d594fSAndroid Build Coastguard Worker             obj.func049(); obj.func049(); obj.func049(); obj.func049();
343*795d594fSAndroid Build Coastguard Worker             obj.func049(); obj.func049(); obj.func049(); obj.func049();
344*795d594fSAndroid Build Coastguard Worker         }
345*795d594fSAndroid Build Coastguard Worker     }
346*795d594fSAndroid Build Coastguard Worker 
testVirt099(ManyInterfaces obj, int count)347*795d594fSAndroid Build Coastguard Worker     static void testVirt099(ManyInterfaces obj, int count) {
348*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
349*795d594fSAndroid Build Coastguard Worker             obj.func099(); obj.func099(); obj.func099(); obj.func099();
350*795d594fSAndroid Build Coastguard Worker             obj.func099(); obj.func099(); obj.func099(); obj.func099();
351*795d594fSAndroid Build Coastguard Worker             obj.func099(); obj.func099(); obj.func099(); obj.func099();
352*795d594fSAndroid Build Coastguard Worker             obj.func099(); obj.func099(); obj.func099(); obj.func099();
353*795d594fSAndroid Build Coastguard Worker         }
354*795d594fSAndroid Build Coastguard Worker     }
355*795d594fSAndroid Build Coastguard Worker 
testInstance001(Object obj, int count)356*795d594fSAndroid Build Coastguard Worker     static void testInstance001(Object obj, int count) {
357*795d594fSAndroid Build Coastguard Worker         if (!(obj instanceof Interface001))
358*795d594fSAndroid Build Coastguard Worker             System.out.println("BAD");
359*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
360*795d594fSAndroid Build Coastguard Worker             boolean is;
361*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
362*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
363*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
364*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
365*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
366*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
367*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
368*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
369*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
370*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
371*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
372*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
373*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
374*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
375*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
376*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface001;
377*795d594fSAndroid Build Coastguard Worker         }
378*795d594fSAndroid Build Coastguard Worker     }
379*795d594fSAndroid Build Coastguard Worker 
testInstance049(Object obj, int count)380*795d594fSAndroid Build Coastguard Worker     static void testInstance049(Object obj, int count) {
381*795d594fSAndroid Build Coastguard Worker         if (!(obj instanceof Interface049))
382*795d594fSAndroid Build Coastguard Worker             System.out.println("BAD");
383*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
384*795d594fSAndroid Build Coastguard Worker             boolean is;
385*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
386*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
387*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
388*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
389*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
390*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
391*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
392*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
393*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
394*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
395*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
396*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
397*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
398*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
399*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
400*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface049;
401*795d594fSAndroid Build Coastguard Worker         }
402*795d594fSAndroid Build Coastguard Worker     }
403*795d594fSAndroid Build Coastguard Worker 
testInstance099(Object obj, int count)404*795d594fSAndroid Build Coastguard Worker     static void testInstance099(Object obj, int count) {
405*795d594fSAndroid Build Coastguard Worker         if (!(obj instanceof Interface099))
406*795d594fSAndroid Build Coastguard Worker             System.out.println("BAD");
407*795d594fSAndroid Build Coastguard Worker         while (count-- != 0) {
408*795d594fSAndroid Build Coastguard Worker             boolean is;
409*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
410*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
411*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
412*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
413*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
414*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
415*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
416*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
417*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
418*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
419*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
420*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
421*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
422*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
423*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
424*795d594fSAndroid Build Coastguard Worker             is = obj instanceof Interface099;
425*795d594fSAndroid Build Coastguard Worker         }
426*795d594fSAndroid Build Coastguard Worker     }
427*795d594fSAndroid Build Coastguard Worker }
428