blob: d05fb3d90683c2b9da45be18ce59b9c323eb2bff [file] [log] [blame]
/*
* 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();
}
}
}