summaryrefslogtreecommitdiff
path: root/benchmarks/CloneBenchmark.java
blob: d05fb3d90683c2b9da45be18ce59b9c323eb2bff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
/*
 * Copyright (C) 2016 Google Inc.
 *
 * 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.
 */

package benchmarks;

public class CloneBenchmark {
    static class CloneableObject implements Cloneable {
        public Object clone() throws CloneNotSupportedException {
            return super.clone();
        }
    }

    static class CloneableManyFieldObject implements Cloneable {
        public Object clone() throws CloneNotSupportedException {
            return super.clone();
        }

        Object o1 = new Object();
        Object o2 = new Object();
        Object o3 = new Object();
        Object o4 = new Object();
        Object o5 = new Object();
        Object o6 = new Object();
        Object o7 = new Object();
        Object o8 = new Object();
        Object o9 = new Object();
        Object o10 = new Object();
        Object o11 = new Object();
        Object o12 = new Object();
        Object o13 = new Object();
        Object o14 = new Object();
        Object o15 = new Object();
        Object o16 = new Object();
        Object o17 = new Object();
        Object o18 = new Object();
        Object o19 = new Object();
        Object o20 = new Object();
        Object o21 = new Object();
        Object o22 = new Object();
        Object o23 = new Object();
        Object o24 = new Object();
        Object o25 = new Object();
        Object o26 = new Object();
        Object o27 = new Object();
        Object o28 = new Object();
        Object o29 = new Object();
        Object o30 = new Object();
        Object o31 = new Object();
        Object o32 = new Object();
        Object o33 = new Object();
        Object o34 = new Object();
        Object o35 = new Object();
        Object o36 = new Object();
        Object o37 = new Object();
        Object o38 = new Object();
        Object o39 = new Object();
        Object o40 = new Object();
        Object o41 = new Object();
        Object o42 = new Object();
        Object o43 = new Object();
        Object o44 = new Object();
        Object o45 = new Object();
        Object o46 = new Object();
        Object o47 = new Object();
        Object o48 = new Object();
        Object o49 = new Object();
        Object o50 = new Object();
        Object o51 = new Object();
        Object o52 = new Object();
        Object o53 = new Object();
        Object o54 = new Object();
        Object o55 = new Object();
        Object o56 = new Object();
        Object o57 = new Object();
        Object o58 = new Object();
        Object o59 = new Object();
        Object o60 = new Object();
        Object o61 = new Object();
        Object o62 = new Object();
        Object o63 = new Object();
        Object o64 = new Object();
        Object o65 = new Object();
        Object o66 = new Object();
        Object o67 = new Object();
        Object o68 = new Object();
        Object o69 = new Object();
        Object o70 = new Object();
        Object o71 = new Object();
        Object o72 = new Object();
        Object o73 = new Object();
        Object o74 = new Object();
        Object o75 = new Object();
        Object o76 = new Object();
        Object o77 = new Object();
        Object o78 = new Object();
        Object o79 = new Object();
        Object o80 = new Object();
        Object o81 = new Object();
        Object o82 = new Object();
        Object o83 = new Object();
        Object o84 = new Object();
        Object o85 = new Object();
        Object o86 = new Object();
        Object o87 = new Object();
        Object o88 = new Object();
        Object o89 = new Object();
        Object o90 = new Object();
        Object o91 = new Object();
        Object o92 = new Object();
        Object o93 = new Object();
        Object o94 = new Object();
        Object o95 = new Object();
        Object o96 = new Object();
        Object o97 = new Object();
        Object o98 = new Object();
        Object o99 = new Object();
        Object o100 = new Object();
        Object o101 = new Object();
        Object o102 = new Object();
        Object o103 = new Object();
        Object o104 = new Object();
        Object o105 = new Object();
        Object o106 = new Object();
        Object o107 = new Object();
        Object o108 = new Object();
        Object o109 = new Object();
        Object o110 = new Object();
        Object o111 = new Object();
        Object o112 = new Object();
        Object o113 = new Object();
        Object o114 = new Object();
        Object o115 = new Object();
        Object o116 = new Object();
        Object o117 = new Object();
        Object o118 = new Object();
        Object o119 = new Object();
        Object o120 = new Object();
        Object o121 = new Object();
        Object o122 = new Object();
        Object o123 = new Object();
        Object o124 = new Object();
        Object o125 = new Object();
        Object o126 = new Object();
        Object o127 = new Object();
        Object o128 = new Object();
        Object o129 = new Object();
        Object o130 = new Object();
        Object o131 = new Object();
        Object o132 = new Object();
        Object o133 = new Object();
        Object o134 = new Object();
        Object o135 = new Object();
        Object o136 = new Object();
        Object o137 = new Object();
        Object o138 = new Object();
        Object o139 = new Object();
        Object o140 = new Object();
        Object o141 = new Object();
        Object o142 = new Object();
        Object o143 = new Object();
        Object o144 = new Object();
        Object o145 = new Object();
        Object o146 = new Object();
        Object o147 = new Object();
        Object o148 = new Object();
        Object o149 = new Object();
        Object o150 = new Object();
        Object o151 = new Object();
        Object o152 = new Object();
        Object o153 = new Object();
        Object o154 = new Object();
        Object o155 = new Object();
        Object o156 = new Object();
        Object o157 = new Object();
        Object o158 = new Object();
        Object o159 = new Object();
        Object o160 = new Object();
        Object o161 = new Object();
        Object o162 = new Object();
        Object o163 = new Object();
        Object o164 = new Object();
        Object o165 = new Object();
        Object o166 = new Object();
        Object o167 = new Object();
        Object o168 = new Object();
        Object o169 = new Object();
        Object o170 = new Object();
        Object o171 = new Object();
        Object o172 = new Object();
        Object o173 = new Object();
        Object o174 = new Object();
        Object o175 = new Object();
        Object o176 = new Object();
        Object o177 = new Object();
        Object o178 = new Object();
        Object o179 = new Object();
        Object o180 = new Object();
        Object o181 = new Object();
        Object o182 = new Object();
        Object o183 = new Object();
        Object o184 = new Object();
        Object o185 = new Object();
        Object o186 = new Object();
        Object o187 = new Object();
        Object o188 = new Object();
        Object o189 = new Object();
        Object o190 = new Object();
        Object o191 = new Object();
        Object o192 = new Object();
        Object o193 = new Object();
        Object o194 = new Object();
        Object o195 = new Object();
        Object o196 = new Object();
        Object o197 = new Object();
        Object o198 = new Object();
        Object o199 = new Object();
        Object o200 = new Object();
        Object o201 = new Object();
        Object o202 = new Object();
        Object o203 = new Object();
        Object o204 = new Object();
        Object o205 = new Object();
        Object o206 = new Object();
        Object o207 = new Object();
        Object o208 = new Object();
        Object o209 = new Object();
        Object o210 = new Object();
        Object o211 = new Object();
        Object o212 = new Object();
        Object o213 = new Object();
        Object o214 = new Object();
        Object o215 = new Object();
        Object o216 = new Object();
        Object o217 = new Object();
        Object o218 = new Object();
        Object o219 = new Object();
        Object o220 = new Object();
        Object o221 = new Object();
        Object o222 = new Object();
        Object o223 = new Object();
        Object o224 = new Object();
        Object o225 = new Object();
        Object o226 = new Object();
        Object o227 = new Object();
        Object o228 = new Object();
        Object o229 = new Object();
        Object o230 = new Object();
        Object o231 = new Object();
        Object o232 = new Object();
        Object o233 = new Object();
        Object o234 = new Object();
        Object o235 = new Object();
        Object o236 = new Object();
        Object o237 = new Object();
        Object o238 = new Object();
        Object o239 = new Object();
        Object o240 = new Object();
        Object o241 = new Object();
        Object o242 = new Object();
        Object o243 = new Object();
        Object o244 = new Object();
        Object o245 = new Object();
        Object o246 = new Object();
        Object o247 = new Object();
        Object o248 = new Object();
        Object o249 = new Object();
        Object o250 = new Object();
        Object o251 = new Object();
        Object o252 = new Object();
        Object o253 = new Object();
        Object o254 = new Object();
        Object o255 = new Object();
        Object o256 = new Object();
        Object o257 = new Object();
        Object o258 = new Object();
        Object o259 = new Object();
        Object o260 = new Object();
        Object o261 = new Object();
        Object o262 = new Object();
        Object o263 = new Object();
        Object o264 = new Object();
        Object o265 = new Object();
        Object o266 = new Object();
        Object o267 = new Object();
        Object o268 = new Object();
        Object o269 = new Object();
        Object o270 = new Object();
        Object o271 = new Object();
        Object o272 = new Object();
        Object o273 = new Object();
        Object o274 = new Object();
        Object o275 = new Object();
        Object o276 = new Object();
        Object o277 = new Object();
        Object o278 = new Object();
        Object o279 = new Object();
        Object o280 = new Object();
        Object o281 = new Object();
        Object o282 = new Object();
        Object o283 = new Object();
        Object o284 = new Object();
        Object o285 = new Object();
        Object o286 = new Object();
        Object o287 = new Object();
        Object o288 = new Object();
        Object o289 = new Object();
        Object o290 = new Object();
        Object o291 = new Object();
        Object o292 = new Object();
        Object o293 = new Object();
        Object o294 = new Object();
        Object o295 = new Object();
        Object o296 = new Object();
        Object o297 = new Object();
        Object o298 = new Object();
        Object o299 = new Object();
        Object o300 = new Object();
        Object o301 = new Object();
        Object o302 = new Object();
        Object o303 = new Object();
        Object o304 = new Object();
        Object o305 = new Object();
        Object o306 = new Object();
        Object o307 = new Object();
        Object o308 = new Object();
        Object o309 = new Object();
        Object o310 = new Object();
        Object o311 = new Object();
        Object o312 = new Object();
        Object o313 = new Object();
        Object o314 = new Object();
        Object o315 = new Object();
        Object o316 = new Object();
        Object o317 = new Object();
        Object o318 = new Object();
        Object o319 = new Object();
        Object o320 = new Object();
        Object o321 = new Object();
        Object o322 = new Object();
        Object o323 = new Object();
        Object o324 = new Object();
        Object o325 = new Object();
        Object o326 = new Object();
        Object o327 = new Object();
        Object o328 = new Object();
        Object o329 = new Object();
        Object o330 = new Object();
        Object o331 = new Object();
        Object o332 = new Object();
        Object o333 = new Object();
        Object o334 = new Object();
        Object o335 = new Object();
        Object o336 = new Object();
        Object o337 = new Object();
        Object o338 = new Object();
        Object o339 = new Object();
        Object o340 = new Object();
        Object o341 = new Object();
        Object o342 = new Object();
        Object o343 = new Object();
        Object o344 = new Object();
        Object o345 = new Object();
        Object o346 = new Object();
        Object o347 = new Object();
        Object o348 = new Object();
        Object o349 = new Object();
        Object o350 = new Object();
        Object o351 = new Object();
        Object o352 = new Object();
        Object o353 = new Object();
        Object o354 = new Object();
        Object o355 = new Object();
        Object o356 = new Object();
        Object o357 = new Object();
        Object o358 = new Object();
        Object o359 = new Object();
        Object o360 = new Object();
        Object o361 = new Object();
        Object o362 = new Object();
        Object o363 = new Object();
        Object o364 = new Object();
        Object o365 = new Object();
        Object o366 = new Object();
        Object o367 = new Object();
        Object o368 = new Object();
        Object o369 = new Object();
        Object o370 = new Object();
        Object o371 = new Object();
        Object o372 = new Object();
        Object o373 = new Object();
        Object o374 = new Object();
        Object o375 = new Object();
        Object o376 = new Object();
        Object o377 = new Object();
        Object o378 = new Object();
        Object o379 = new Object();
        Object o380 = new Object();
        Object o381 = new Object();
        Object o382 = new Object();
        Object o383 = new Object();
        Object o384 = new Object();
        Object o385 = new Object();
        Object o386 = new Object();
        Object o387 = new Object();
        Object o388 = new Object();
        Object o389 = new Object();
        Object o390 = new Object();
        Object o391 = new Object();
        Object o392 = new Object();
        Object o393 = new Object();
        Object o394 = new Object();
        Object o395 = new Object();
        Object o396 = new Object();
        Object o397 = new Object();
        Object o398 = new Object();
        Object o399 = new Object();
        Object o400 = new Object();
        Object o401 = new Object();
        Object o402 = new Object();
        Object o403 = new Object();
        Object o404 = new Object();
        Object o405 = new Object();
        Object o406 = new Object();
        Object o407 = new Object();
        Object o408 = new Object();
        Object o409 = new Object();
        Object o410 = new Object();
        Object o411 = new Object();
        Object o412 = new Object();
        Object o413 = new Object();
        Object o414 = new Object();
        Object o415 = new Object();
        Object o416 = new Object();
        Object o417 = new Object();
        Object o418 = new Object();
        Object o419 = new Object();
        Object o420 = new Object();
        Object o421 = new Object();
        Object o422 = new Object();
        Object o423 = new Object();
        Object o424 = new Object();
        Object o425 = new Object();
        Object o426 = new Object();
        Object o427 = new Object();
        Object o428 = new Object();
        Object o429 = new Object();
        Object o430 = new Object();
        Object o431 = new Object();
        Object o432 = new Object();
        Object o433 = new Object();
        Object o434 = new Object();
        Object o435 = new Object();
        Object o436 = new Object();
        Object o437 = new Object();
        Object o438 = new Object();
        Object o439 = new Object();
        Object o440 = new Object();
        Object o441 = new Object();
        Object o442 = new Object();
        Object o460 = new Object();
        Object o461 = new Object();
        Object o462 = new Object();
        Object o463 = new Object();
        Object o464 = new Object();
        Object o465 = new Object();
        Object o466 = new Object();
        Object o467 = new Object();
        Object o468 = new Object();
        Object o469 = new Object();
        Object o470 = new Object();
        Object o471 = new Object();
        Object o472 = new Object();
        Object o473 = new Object();
        Object o474 = new Object();
        Object o475 = new Object();
        Object o476 = new Object();
        Object o477 = new Object();
        Object o478 = new Object();
        Object o479 = new Object();
        Object o480 = new Object();
        Object o481 = new Object();
        Object o482 = new Object();
        Object o483 = new Object();
        Object o484 = new Object();
        Object o485 = new Object();
        Object o486 = new Object();
        Object o487 = new Object();
        Object o488 = new Object();
        Object o489 = new Object();
        Object o490 = new Object();
        Object o491 = new Object();
        Object o492 = new Object();
        Object o493 = new Object();
        Object o494 = new Object();
        Object o495 = new Object();
        Object o496 = new Object();
        Object o497 = new Object();
        Object o498 = new Object();
        Object o499 = new Object();
        Object o500 = new Object();
        Object o501 = new Object();
        Object o502 = new Object();
        Object o503 = new Object();
        Object o504 = new Object();
        Object o505 = new Object();
        Object o506 = new Object();
        Object o507 = new Object();
        Object o508 = new Object();
        Object o509 = new Object();
        Object o510 = new Object();
        Object o511 = new Object();
        Object o512 = new Object();
        Object o513 = new Object();
        Object o514 = new Object();
        Object o515 = new Object();
        Object o516 = new Object();
        Object o517 = new Object();
        Object o518 = new Object();
        Object o519 = new Object();
        Object o520 = new Object();
        Object o521 = new Object();
        Object o522 = new Object();
        Object o523 = new Object();
        Object o556 = new Object();
        Object o557 = new Object();
        Object o558 = new Object();
        Object o559 = new Object();
        Object o560 = new Object();
        Object o561 = new Object();
        Object o562 = new Object();
        Object o563 = new Object();
        Object o564 = new Object();
        Object o565 = new Object();
        Object o566 = new Object();
        Object o567 = new Object();
        Object o568 = new Object();
        Object o569 = new Object();
        Object o570 = new Object();
        Object o571 = new Object();
        Object o572 = new Object();
        Object o573 = new Object();
        Object o574 = new Object();
        Object o575 = new Object();
        Object o576 = new Object();
        Object o577 = new Object();
        Object o578 = new Object();
        Object o579 = new Object();
        Object o580 = new Object();
        Object o581 = new Object();
        Object o582 = new Object();
        Object o583 = new Object();
        Object o584 = new Object();
        Object o585 = new Object();
        Object o586 = new Object();
        Object o587 = new Object();
        Object o588 = new Object();
        Object o589 = new Object();
        Object o590 = new Object();
        Object o591 = new Object();
        Object o592 = new Object();
        Object o593 = new Object();
        Object o594 = new Object();
        Object o595 = new Object();
        Object o596 = new Object();
        Object o597 = new Object();
        Object o598 = new Object();
        Object o599 = new Object();
        Object o600 = new Object();
        Object o601 = new Object();
        Object o602 = new Object();
        Object o603 = new Object();
        Object o604 = new Object();
        Object o605 = new Object();
        Object o606 = new Object();
        Object o607 = new Object();
        Object o608 = new Object();
        Object o609 = new Object();
        Object o610 = new Object();
        Object o611 = new Object();
        Object o612 = new Object();
        Object o613 = new Object();
        Object o614 = new Object();
        Object o615 = new Object();
        Object o616 = new Object();
        Object o617 = new Object();
        Object o618 = new Object();
        Object o619 = new Object();
        Object o620 = new Object();
        Object o621 = new Object();
        Object o622 = new Object();
        Object o623 = new Object();
        Object o624 = new Object();
        Object o625 = new Object();
        Object o626 = new Object();
        Object o627 = new Object();
        Object o628 = new Object();
        Object o629 = new Object();
        Object o630 = new Object();
        Object o631 = new Object();
        Object o632 = new Object();
        Object o633 = new Object();
        Object o634 = new Object();
        Object o635 = new Object();
        Object o636 = new Object();
        Object o637 = new Object();
        Object o638 = new Object();
        Object o639 = new Object();
        Object o640 = new Object();
        Object o641 = new Object();
        Object o642 = new Object();
        Object o643 = new Object();
        Object o644 = new Object();
        Object o645 = new Object();
        Object o646 = new Object();
        Object o647 = new Object();
        Object o648 = new Object();
        Object o649 = new Object();
        Object o650 = new Object();
        Object o651 = new Object();
        Object o652 = new Object();
        Object o653 = new Object();
        Object o654 = new Object();
        Object o655 = new Object();
        Object o656 = new Object();
        Object o657 = new Object();
        Object o658 = new Object();
        Object o659 = new Object();
        Object o660 = new Object();
        Object o661 = new Object();
        Object o662 = new Object();
        Object o663 = new Object();
        Object o664 = new Object();
        Object o665 = new Object();
        Object o666 = new Object();
        Object o667 = new Object();
        Object o668 = new Object();
        Object o669 = new Object();
        Object o670 = new Object();
        Object o671 = new Object();
        Object o672 = new Object();
        Object o673 = new Object();
        Object o674 = new Object();
        Object o675 = new Object();
        Object o676 = new Object();
        Object o677 = new Object();
        Object o678 = new Object();
        Object o679 = new Object();
        Object o680 = new Object();
        Object o681 = new Object();
        Object o682 = new Object();
        Object o683 = new Object();
        Object o684 = new Object();
        Object o685 = new Object();
        Object o686 = new Object();
        Object o687 = new Object();
        Object o688 = new Object();
        Object o734 = new Object();
        Object o735 = new Object();
        Object o736 = new Object();
        Object o737 = new Object();
        Object o738 = new Object();
        Object o739 = new Object();
        Object o740 = new Object();
        Object o741 = new Object();
        Object o742 = new Object();
        Object o743 = new Object();
        Object o744 = new Object();
        Object o745 = new Object();
        Object o746 = new Object();
        Object o747 = new Object();
        Object o748 = new Object();
        Object o749 = new Object();
        Object o750 = new Object();
        Object o751 = new Object();
        Object o752 = new Object();
        Object o753 = new Object();
        Object o754 = new Object();
        Object o755 = new Object();
        Object o756 = new Object();
        Object o757 = new Object();
        Object o758 = new Object();
        Object o759 = new Object();
        Object o760 = new Object();
        Object o761 = new Object();
        Object o762 = new Object();
        Object o763 = new Object();
        Object o764 = new Object();
        Object o765 = new Object();
        Object o766 = new Object();
        Object o767 = new Object();
        Object o768 = new Object();
        Object o769 = new Object();
        Object o770 = new Object();
        Object o771 = new Object();
        Object o772 = new Object();
        Object o773 = new Object();
        Object o774 = new Object();
        Object o775 = new Object();
        Object o776 = new Object();
        Object o777 = new Object();
        Object o778 = new Object();
        Object o779 = new Object();
        Object o780 = new Object();
        Object o781 = new Object();
        Object o782 = new Object();
        Object o783 = new Object();
        Object o784 = new Object();
        Object o785 = new Object();
        Object o786 = new Object();
        Object o787 = new Object();
        Object o788 = new Object();
        Object o789 = new Object();
        Object o790 = new Object();
        Object o791 = new Object();
        Object o792 = new Object();
        Object o793 = new Object();
        Object o794 = new Object();
        Object o795 = new Object();
        Object o796 = new Object();
        Object o797 = new Object();
        Object o798 = new Object();
        Object o799 = new Object();
        Object o800 = new Object();
        Object o801 = new Object();
        Object o802 = new Object();
        Object o803 = new Object();
        Object o804 = new Object();
        Object o805 = new Object();
        Object o806 = new Object();
        Object o807 = new Object();
        Object o808 = new Object();
        Object o809 = new Object();
        Object o810 = new Object();
        Object o811 = new Object();
        Object o812 = new Object();
        Object o813 = new Object();
        Object o848 = new Object();
        Object o849 = new Object();
        Object o850 = new Object();
        Object o851 = new Object();
        Object o852 = new Object();
        Object o853 = new Object();
        Object o854 = new Object();
        Object o855 = new Object();
        Object o856 = new Object();
        Object o857 = new Object();
        Object o858 = new Object();
        Object o859 = new Object();
        Object o860 = new Object();
        Object o861 = new Object();
        Object o862 = new Object();
        Object o863 = new Object();
        Object o864 = new Object();
        Object o865 = new Object();
        Object o866 = new Object();
        Object o867 = new Object();
        Object o868 = new Object();
        Object o869 = new Object();
        Object o870 = new Object();
        Object o871 = new Object();
        Object o872 = new Object();
        Object o873 = new Object();
        Object o874 = new Object();
        Object o875 = new Object();
        Object o876 = new Object();
        Object o877 = new Object();
        Object o878 = new Object();
        Object o879 = new Object();
        Object o880 = new Object();
        Object o881 = new Object();
        Object o882 = new Object();
        Object o883 = new Object();
        Object o884 = new Object();
        Object o885 = new Object();
        Object o886 = new Object();
        Object o887 = new Object();
        Object o888 = new Object();
        Object o889 = new Object();
        Object o890 = new Object();
        Object o891 = new Object();
        Object o892 = new Object();
        Object o893 = new Object();
        Object o894 = new Object();
        Object o895 = new Object();
        Object o896 = new Object();
        Object o897 = new Object();
        Object o898 = new Object();
        Object o899 = new Object();
        Object o900 = new Object();
        Object o901 = new Object();
        Object o902 = new Object();
        Object o903 = new Object();
        Object o904 = new Object();
        Object o905 = new Object();
        Object o906 = new Object();
        Object o907 = new Object();
        Object o908 = new Object();
        Object o909 = new Object();
        Object o910 = new Object();
        Object o911 = new Object();
        Object o912 = new Object();
        Object o913 = new Object();
        Object o914 = new Object();
        Object o915 = new Object();
        Object o916 = new Object();
        Object o917 = new Object();
        Object o918 = new Object();
        Object o919 = new Object();
        Object o920 = new Object();
        Object o921 = new Object();
        Object o922 = new Object();
        Object o923 = new Object();
        Object o924 = new Object();
        Object o925 = new Object();
        Object o926 = new Object();
        Object o927 = new Object();
        Object o928 = new Object();
        Object o929 = new Object();
        Object o930 = new Object();
        Object o931 = new Object();
        Object o932 = new Object();
        Object o933 = new Object();
        Object o934 = new Object();
        Object o935 = new Object();
        Object o936 = new Object();
        Object o937 = new Object();
        Object o938 = new Object();
        Object o939 = new Object();
        Object o940 = new Object();
        Object o941 = new Object();
        Object o942 = new Object();
        Object o943 = new Object();
        Object o944 = new Object();
        Object o945 = new Object();
        Object o946 = new Object();
        Object o947 = new Object();
        Object o948 = new Object();
        Object o949 = new Object();
        Object o950 = new Object();
        Object o951 = new Object();
        Object o952 = new Object();
        Object o953 = new Object();
        Object o954 = new Object();
        Object o955 = new Object();
        Object o956 = new Object();
        Object o957 = new Object();
        Object o958 = new Object();
        Object o959 = new Object();
        Object o960 = new Object();
        Object o961 = new Object();
        Object o962 = new Object();
        Object o963 = new Object();
        Object o964 = new Object();
        Object o965 = new Object();
        Object o966 = new Object();
        Object o967 = new Object();
        Object o968 = new Object();
        Object o969 = new Object();
        Object o970 = new Object();
        Object o971 = new Object();
        Object o972 = new Object();
        Object o973 = new Object();
        Object o974 = new Object();
        Object o975 = new Object();
        Object o976 = new Object();
        Object o977 = new Object();
        Object o978 = new Object();
        Object o979 = new Object();
        Object o980 = new Object();
        Object o981 = new Object();
        Object o982 = new Object();
        Object o983 = new Object();
        Object o984 = new Object();
        Object o985 = new Object();
        Object o986 = new Object();
        Object o987 = new Object();
        Object o988 = new Object();
        Object o989 = new Object();
        Object o990 = new Object();
        Object o991 = new Object();
        Object o992 = new Object();
        Object o993 = new Object();
        Object o994 = new Object();
        Object o995 = new Object();
        Object o996 = new Object();
        Object o997 = new Object();
        Object o998 = new Object();
        Object o999 = new Object();
    }

    static class Deep0 {}
    static class Deep1 extends Deep0 {}
    static class Deep2 extends Deep1 {}
    static class Deep3 extends Deep2 {}
    static class Deep4 extends Deep3 {}
    static class Deep5 extends Deep4 {}
    static class Deep6 extends Deep5 {}
    static class Deep7 extends Deep6 {}
    static class Deep8 extends Deep7 {}
    static class Deep9 extends Deep8 {}
    static class Deep10 extends Deep9 {}
    static class Deep11 extends Deep10 {}
    static class Deep12 extends Deep11 {}
    static class Deep13 extends Deep12 {}
    static class Deep14 extends Deep13 {}
    static class Deep15 extends Deep14 {}
    static class Deep16 extends Deep15 {}
    static class Deep17 extends Deep16 {}
    static class Deep18 extends Deep17 {}
    static class Deep19 extends Deep18 {}
    static class Deep20 extends Deep19 {}
    static class Deep21 extends Deep20 {}
    static class Deep22 extends Deep21 {}
    static class Deep23 extends Deep22 {}
    static class Deep24 extends Deep23 {}
    static class Deep25 extends Deep24 {}
    static class Deep26 extends Deep25 {}
    static class Deep27 extends Deep26 {}
    static class Deep28 extends Deep27 {}
    static class Deep29 extends Deep28 {}
    static class Deep30 extends Deep29 {}
    static class Deep31 extends Deep30 {}
    static class Deep32 extends Deep31 {}
    static class Deep33 extends Deep32 {}
    static class Deep34 extends Deep33 {}
    static class Deep35 extends Deep34 {}
    static class Deep36 extends Deep35 {}
    static class Deep37 extends Deep36 {}
    static class Deep38 extends Deep37 {}
    static class Deep39 extends Deep38 {}
    static class Deep40 extends Deep39 {}
    static class Deep41 extends Deep40 {}
    static class Deep42 extends Deep41 {}
    static class Deep43 extends Deep42 {}
    static class Deep44 extends Deep43 {}
    static class Deep45 extends Deep44 {}
    static class Deep46 extends Deep45 {}
    static class Deep47 extends Deep46 {}
    static class Deep48 extends Deep47 {}
    static class Deep49 extends Deep48 {}
    static class Deep50 extends Deep49 {}
    static class Deep51 extends Deep50 {}
    static class Deep52 extends Deep51 {}
    static class Deep53 extends Deep52 {}
    static class Deep54 extends Deep53 {}
    static class Deep55 extends Deep54 {}
    static class Deep56 extends Deep55 {}
    static class Deep57 extends Deep56 {}
    static class Deep58 extends Deep57 {}
    static class Deep59 extends Deep58 {}
    static class Deep60 extends Deep59 {}
    static class Deep61 extends Deep60 {}
    static class Deep62 extends Deep61 {}
    static class Deep63 extends Deep62 {}
    static class Deep64 extends Deep63 {}
    static class Deep65 extends Deep64 {}
    static class Deep66 extends Deep65 {}
    static class Deep67 extends Deep66 {}
    static class Deep68 extends Deep67 {}
    static class Deep69 extends Deep68 {}
    static class Deep70 extends Deep69 {}
    static class Deep71 extends Deep70 {}
    static class Deep72 extends Deep71 {}
    static class Deep73 extends Deep72 {}
    static class Deep74 extends Deep73 {}
    static class Deep75 extends Deep74 {}
    static class Deep76 extends Deep75 {}
    static class Deep77 extends Deep76 {}
    static class Deep78 extends Deep77 {}
    static class Deep79 extends Deep78 {}
    static class Deep80 extends Deep79 {}
    static class Deep81 extends Deep80 {}
    static class Deep82 extends Deep81 {}
    static class Deep83 extends Deep82 {}
    static class Deep84 extends Deep83 {}
    static class Deep85 extends Deep84 {}
    static class Deep86 extends Deep85 {}
    static class Deep87 extends Deep86 {}
    static class Deep88 extends Deep87 {}
    static class Deep89 extends Deep88 {}
    static class Deep90 extends Deep89 {}
    static class Deep91 extends Deep90 {}
    static class Deep92 extends Deep91 {}
    static class Deep93 extends Deep92 {}
    static class Deep94 extends Deep93 {}
    static class Deep95 extends Deep94 {}
    static class Deep96 extends Deep95 {}
    static class Deep97 extends Deep96 {}
    static class Deep98 extends Deep97 {}
    static class Deep99 extends Deep98 {}
    static class Deep100 extends Deep99 {}

    static class DeepCloneable extends Deep100 implements Cloneable {
        public Object clone() throws CloneNotSupportedException {
            return super.clone();
        }
    }

    public void time_Object_clone(int reps) {
        try {
            CloneableObject o = new CloneableObject();
            for (int rep = 0; rep < reps; ++rep) {
                o.clone();
            }
        } catch (Exception e) {
            throw new AssertionError(e.getMessage());
        }
    }

    public void time_Object_manyFieldClone(int reps) {
        try {
            CloneableManyFieldObject o = new CloneableManyFieldObject();
            for (int rep = 0; rep < reps; ++rep) {
                o.clone();
            }
        } catch (Exception e) {
            throw new AssertionError(e.getMessage());
        }
    }

    public void time_Object_deepClone(int reps) {
        try {
            DeepCloneable o = new DeepCloneable();
            for (int rep = 0; rep < reps; ++rep) {
                o.clone();
            }
        } catch (Exception e) {
            throw new AssertionError(e.getMessage());
        }
    }

    public void time_Array_clone(int reps) {
        int[] o = new int[32];
        for (int rep = 0; rep < reps; ++rep) {
            o.clone();
        }
    }

    public void time_ObjectArray_smallClone(int reps) {
        Object[] o = new Object[32];
        for (int i = 0; i < o.length / 2; ++i) {
            o[i] = new Object();
        }
        for (int rep = 0; rep < reps; ++rep) {
            o.clone();
        }
    }

    public void time_ObjectArray_largeClone(int reps) {
        Object[] o = new Object[2048];
        for (int i = 0; i < o.length / 2; ++i) {
            o[i] = new Object();
        }
        for (int rep = 0; rep < reps; ++rep) {
            o.clone();
        }
    }
}