Updating submodules
[hiphop-php.git] / hphp / test / slow / real-big-struct.php
blob0cf2a0503df5a1178d206bf99783cff4487f8efe
1 <?hh
3 <<__NEVER_INLINE>>
4 function create($i) {
5 if ($i > 20) {
6 return shape(
7 'bf1' => 1,
8 'bf2' => 2,
9 'bf3' => 3,
10 'bf4' => 4,
11 'bf5' => 5,
12 'bf6' => 6,
13 'bf7' => 7,
14 'bf8' => 8,
15 'bf9' => 9,
16 'bf10' => 10,
17 'bf11' => 11,
18 'bf12' => 12,
19 'bf13' => 13,
20 'bf14' => 14,
21 'bf15' => 15,
22 'bf16' => 16,
23 'bf17' => 17,
24 'bf18' => 18,
25 'bf19' => 19,
26 'bf20' => 20,
27 'bf21' => 21,
28 'bf22' => 22,
29 'bf23' => 23,
30 'bf24' => 24,
31 'bf25' => 25,
32 'bf26' => 26,
33 'bf27' => 27,
34 'bf28' => 28,
35 'bf29' => 29,
36 'bf30' => 30,
37 'bf31' => 31,
38 'bf32' => 32,
39 'bf33' => 33,
40 'bf34' => 34,
41 'bf35' => 35,
42 'bf36' => 36,
43 'bf37' => 37,
44 'bf38' => 38,
45 'bf39' => 39,
46 'bf40' => 40,
47 'bf41' => 41,
48 'bf42' => 42,
49 'bf43' => 43,
50 'bf44' => 44,
51 'bf45' => 45,
52 'bf46' => 46,
53 'bf47' => 47,
54 'bf48' => 48,
55 'bf49' => 49,
56 'bf50' => 50,
57 'bf51' => 51,
58 'bf52' => 52,
59 'bf53' => 53,
60 'bf54' => 54,
61 'bf55' => 55,
62 'bf56' => 56,
63 'bf57' => 57,
64 'bf58' => 58,
65 'bf59' => 59,
66 'bf60' => 60,
67 'bf61' => 61,
68 'bf62' => 62,
69 'bf63' => 63,
70 'bf64' => 64,
71 'bf65' => 65,
72 'bf66' => 66,
73 'bf67' => 67,
74 'bf68' => 68,
75 'bf69' => 69,
76 'bf70' => 70,
77 'bf71' => 71,
78 'bf72' => 72,
79 'bf73' => 73,
80 'bf74' => 74,
81 'bf75' => 75,
82 'bf76' => 76,
83 'bf77' => 77,
84 'bf78' => 78,
85 'bf79' => 79,
86 'bf80' => 80,
87 'bf81' => 81,
88 'bf82' => 82,
89 'bf83' => 83,
90 'bf84' => 84,
91 'bf85' => 85,
92 'bf86' => 86,
93 'bf87' => 87,
94 'bf88' => 88,
95 'bf89' => 89,
96 'bf90' => 90,
97 'bf91' => 91,
98 'bf92' => 92,
99 'bf93' => 93,
100 'bf94' => 94,
101 'bf95' => 95,
102 'bf96' => 96,
103 'bf97' => 97,
104 'bf98' => 98,
105 'bf99' => 99,
106 'bf100' => 100,
107 'bf101' => 101,
108 'bf102' => 102,
109 'bf103' => 103,
110 'bf104' => 104,
111 'bf105' => 105,
112 'bf106' => 106,
113 'bf107' => 107,
114 'bf108' => 108,
115 'bf109' => 109,
116 'bf110' => 110,
117 'bf111' => 111,
118 'bf112' => 112,
119 'bf113' => 113,
120 'bf114' => 114,
121 'bf115' => 115,
122 'bf116' => 116,
123 'bf117' => 117,
124 'bf118' => 118,
125 'bf119' => 119,
126 'bf120' => 120,
127 'bf121' => 121,
128 'bf122' => 122,
129 'bf123' => 123,
130 'bf124' => 124,
131 'bf125' => 125,
132 'bf126' => 126,
133 'bf127' => 127,
134 'bf128' => 128,
135 'bf129' => 129,
136 'bf130' => 130,
137 'bf131' => 131,
138 'bf132' => 132,
139 'bf133' => 133,
140 'bf134' => 134,
141 'bf135' => 135,
142 'bf136' => 136,
143 'bf137' => 137,
144 'bf138' => 138,
145 'bf139' => 139,
146 'bf140' => 140,
147 'bf141' => 141,
148 'bf142' => 142,
149 'bf143' => 143,
150 'bf144' => 144,
151 'bf145' => 145,
152 'bf146' => 146,
153 'bf147' => 147,
154 'bf148' => 148,
155 'bf149' => 149,
156 'bf150' => 150,
157 'bf151' => 151,
158 'bf152' => 152,
159 'bf153' => 153,
160 'bf154' => 154,
161 'bf155' => 155,
162 'bf156' => 156,
163 'bf157' => 157,
164 'bf158' => 158,
165 'bf159' => 159,
166 'bf160' => 160,
167 'bf161' => 161,
168 'bf162' => 162,
169 'bf163' => 163,
170 'bf164' => 164,
171 'bf165' => 165,
172 'bf166' => 166,
173 'bf167' => 167,
174 'bf168' => 168,
175 'bf169' => 169,
176 'bf170' => 170,
177 'bf171' => 171,
178 'bf172' => 172,
179 'bf173' => 173,
180 'bf174' => 174,
181 'bf175' => 175,
182 'bf176' => 176,
183 'bf177' => 177,
184 'bf178' => 178,
185 'bf179' => 179,
186 'bf180' => 180,
187 'bf181' => 181,
188 'bf182' => 182,
189 'bf183' => 183,
190 'bf184' => 184,
191 'bf185' => 185,
192 'bf186' => 186,
193 'bf187' => 187,
194 'bf188' => 188,
195 'bf189' => 189,
196 'bf190' => 190,
197 'bf191' => 191,
198 'bf192' => 192,
199 'bf193' => 193,
200 'bf194' => 194,
201 'bf195' => 195,
202 'bf196' => 196,
203 'bf197' => 197,
204 'bf198' => 198,
205 'bf199' => 199,
206 'bf200' => 200,
207 'bf201' => 201,
208 'bf202' => 202,
209 'bf203' => 203,
210 'bf204' => 204,
211 'bf205' => 205,
212 'bf206' => 206,
213 'bf207' => 207,
214 'bf208' => 208,
215 'bf209' => 209,
216 'bf210' => 210,
217 'bf211' => 211,
218 'bf212' => 212,
219 'bf213' => 213,
220 'bf214' => 214,
221 'bf215' => 215,
222 'bf216' => 216,
223 'bf217' => 217,
224 'bf218' => 218,
225 'bf219' => 219,
226 'bf220' => 220,
227 'bf221' => 221,
228 'bf222' => 222,
229 'bf223' => 223,
230 'bf224' => 224,
231 'bf225' => 225,
232 'bf226' => 226,
233 'bf227' => 227,
234 'bf228' => 228,
235 'bf229' => 229,
236 'bf230' => 230,
237 'bf231' => 231,
238 'bf232' => 232,
239 'bf233' => 233,
240 'bf234' => 234,
241 'bf235' => 235,
242 'bf236' => 236,
243 'bf237' => 237,
244 'bf238' => 238,
245 'bf239' => 239,
246 'bf240' => 240,
247 'bf241' => 241,
248 'bf242' => 242,
249 'bf243' => 243,
250 'bf244' => 244,
251 'bf245' => 245,
252 'bf246' => 246,
253 'bf247' => 247,
254 'bf248' => 248,
255 'bf249' => 249,
256 'bf250' => 250,
257 'bf251' => 251,
258 'bf252' => 252,
259 'bf253' => 253,
260 'bf254' => 254,
261 'bf255' => 255,
262 'bf256' => 256,
264 } else if ($i > 10) {
265 return shape(
266 'f1' => 1,
267 'f2' => 2,
268 'f3' => 3,
269 'f4' => 4,
270 'f5' => 5,
271 'f6' => 6,
272 'f7' => 7,
273 'f8' => 8,
274 'f9' => 9,
275 'f10' => 10,
276 'f11' => 11,
277 'f12' => 12,
278 'f13' => 13,
279 'f14' => 14,
280 'f15' => 15,
281 'f16' => 16,
282 'f17' => 17,
283 'f18' => 18,
284 'f19' => 19,
285 'f20' => 20,
286 'f21' => 21,
287 'f22' => 22,
288 'f23' => 23,
289 'f24' => 24,
290 'f25' => 25,
291 'f26' => 26,
292 'f27' => 27,
293 'f28' => 28,
294 'f29' => 29,
295 'f30' => 30,
296 'f31' => 31,
297 'f32' => 32,
298 'f33' => 33,
299 'f34' => 34,
300 'f35' => 35,
301 'f36' => 36,
302 'f37' => 37,
303 'f38' => 38,
304 'f39' => 39,
305 'f40' => 40,
306 'f41' => 41,
307 'f42' => 42,
308 'f43' => 43,
309 'f44' => 44,
310 'f45' => 45,
311 'f46' => 46,
312 'f47' => 47,
313 'f48' => 48,
314 'f49' => 49,
315 'f50' => 50,
316 'f51' => 51,
317 'f52' => 52,
318 'f53' => 53,
319 'f54' => 54,
320 'f55' => 55,
321 'f56' => 56,
322 'f57' => 57,
323 'f58' => 58,
324 'f59' => 59,
325 'f60' => 60,
326 'f61' => 61,
327 'f62' => 62,
328 'f63' => 63,
329 'f64' => 64,
330 'f65' => 65,
331 'f66' => 66,
332 'f67' => 67,
333 'f68' => 68,
334 'f69' => 69,
335 'f70' => 70,
336 'f71' => 71,
337 'f72' => 72,
338 'f73' => 73,
339 'f74' => 74,
340 'f75' => 75,
341 'f76' => 76,
342 'f77' => 77,
343 'f78' => 78,
344 'f79' => 79,
345 'f80' => 80,
346 'f81' => 81,
347 'f82' => 82,
348 'f83' => 83,
349 'f84' => 84,
350 'f85' => 85,
351 'f86' => 86,
352 'f87' => 87,
353 'f88' => 88,
354 'f89' => 89,
355 'f90' => 90,
356 'f91' => 91,
357 'f92' => 92,
358 'f93' => 93,
359 'f94' => 94,
360 'f95' => 95,
361 'f96' => 96,
362 'f97' => 97,
363 'f98' => 98,
364 'f99' => 99,
365 'f100' => 100,
366 'f101' => 101,
367 'f102' => 102,
368 'f103' => 103,
369 'f104' => 104,
370 'f105' => 105,
371 'f106' => 106,
372 'f107' => 107,
373 'f108' => 108,
374 'f109' => 109,
375 'f110' => 110,
376 'f111' => 111,
377 'f112' => 112,
378 'f113' => 113,
379 'f114' => 114,
380 'f115' => 115,
381 'f116' => 116,
382 'f117' => 117,
383 'f118' => 118,
384 'f119' => 119,
385 'f120' => 120,
386 'f121' => 121,
387 'f122' => 122,
388 'f123' => 123,
389 'f124' => 124,
390 'f125' => 125,
391 'f126' => 126,
392 'f127' => 127,
393 'f128' => 128,
394 'f129' => 129,
395 'f130' => 130,
396 'f131' => 131,
397 'f132' => 132,
398 'f133' => 133,
399 'f134' => 134,
400 'f135' => 135,
401 'f136' => 136,
402 'f137' => 137,
403 'f138' => 138,
404 'f139' => 139,
405 'f140' => 140,
406 'f141' => 141,
407 'f142' => 142,
408 'f143' => 143,
409 'f144' => 144,
410 'f145' => 145,
411 'f146' => 146,
412 'f147' => 147,
413 'f148' => 148,
414 'f149' => 149,
415 'f150' => 150,
416 'f151' => 151,
417 'f152' => 152,
418 'f153' => 153,
419 'f154' => 154,
420 'f155' => 155,
421 'f156' => 156,
422 'f157' => 157,
423 'f158' => 158,
424 'f159' => 159,
425 'f160' => 160,
426 'f161' => 161,
427 'f162' => 162,
428 'f163' => 163,
429 'f164' => 164,
430 'f165' => 165,
431 'f166' => 166,
432 'f167' => 167,
433 'f168' => 168,
434 'f169' => 169,
435 'f170' => 170,
436 'f171' => 171,
437 'f172' => 172,
438 'f173' => 173,
439 'f174' => 174,
440 'f175' => 175,
441 'f176' => 176,
442 'f177' => 177,
443 'f178' => 178,
444 'f179' => 179,
445 'f180' => 180,
446 'f181' => 181,
447 'f182' => 182,
448 'f183' => 183,
449 'f184' => 184,
450 'f185' => 185,
451 'f186' => 186,
452 'f187' => 187,
453 'f188' => 188,
454 'f189' => 189,
455 'f190' => 190,
456 'f191' => 191,
457 'f192' => 192,
458 'f193' => 193,
459 'f194' => 194,
460 'f195' => 195,
461 'f196' => 196,
462 'f197' => 197,
463 'f198' => 198,
464 'f199' => 199,
465 'f200' => 200,
466 'f201' => 201,
467 'f202' => 202,
468 'f203' => 203,
469 'f204' => 204,
470 'f205' => 205,
471 'f206' => 206,
472 'f207' => 207,
473 'f208' => 208,
474 'f209' => 209,
475 'f210' => 210,
476 'f211' => 211,
477 'f212' => 212,
478 'f213' => 213,
479 'f214' => 214,
480 'f215' => 215,
481 'f216' => 216,
482 'f217' => 217,
483 'f218' => 218,
484 'f219' => 219,
485 'f220' => 220,
486 'f221' => 221,
487 'f222' => 222,
488 'f223' => 223,
489 'f224' => 224,
490 'f225' => 225,
491 'f226' => 226,
492 'f227' => 227,
493 'f228' => 228,
494 'f229' => 229,
495 'f230' => 230,
496 'f231' => 231,
497 'f232' => 232,
498 'f233' => 233,
499 'f234' => 234,
500 'f235' => 235,
501 'f236' => 236,
502 'f237' => 237,
503 'f238' => 238,
504 'f239' => 239,
505 'f240' => 240,
506 'f241' => 241,
507 'f242' => 242,
508 'f243' => 243,
509 'f244' => 244,
510 'f245' => 245,
511 'f246' => 246,
512 'f247' => 247,
513 'f248' => 248,
514 'f249' => 249,
515 'f250' => 250,
516 'f251' => 251,
517 'f252' => 252,
518 'f253' => 253,
519 'f254' => 254,
520 'f255' => 255,
522 } else {
523 return shape(
524 'af1' => 1,
525 'af2' => 2,
526 'af3' => 3,
527 'af4' => 4,
528 'af5' => 5,
529 'af6' => 6,
530 'af7' => 7,
531 'af8' => 8,
532 'af9' => 9,
533 'af10' => 10,
534 'af11' => 11,
535 'af12' => 12,
536 'af13' => 13,
537 'af14' => 14,
538 'af15' => 15,
539 'af16' => 16,
540 'af17' => 17,
541 'af18' => 18,
542 'af19' => 19,
543 'af20' => 20,
544 'af21' => 21,
545 'af22' => 22,
546 'af23' => 23,
547 'af24' => 24,
548 'af25' => 25,
549 'af26' => 26,
550 'af27' => 27,
551 'af28' => 28,
552 'af29' => 29,
553 'af30' => 30,
554 'af31' => 31,
555 'af32' => 32,
556 'af33' => 33,
557 'af34' => 34,
558 'af35' => 35,
559 'af36' => 36,
560 'af37' => 37,
561 'af38' => 38,
562 'af39' => 39,
563 'af40' => 40,
564 'af41' => 41,
565 'af42' => 42,
566 'af43' => 43,
567 'af44' => 44,
568 'af45' => 45,
569 'af46' => 46,
570 'af47' => 47,
571 'af48' => 48,
572 'af49' => 49,
573 'af50' => 50,
574 'af51' => 51,
575 'af52' => 52,
576 'af53' => 53,
577 'af54' => 54,
578 'af55' => 55,
579 'af56' => 56,
580 'af57' => 57,
581 'af58' => 58,
582 'af59' => 59,
583 'af60' => 60,
584 'af61' => 61,
585 'af62' => 62,
586 'af63' => 63,
587 'af64' => 64,
588 'af65' => 65,
589 'af66' => 66,
590 'af67' => 67,
591 'af68' => 68,
592 'af69' => 69,
593 'af70' => 70,
594 'af71' => 71,
595 'af72' => 72,
596 'af73' => 73,
597 'af74' => 74,
598 'af75' => 75,
599 'af76' => 76,
600 'af77' => 77,
601 'af78' => 78,
602 'af79' => 79,
603 'af80' => 80,
604 'af81' => 81,
605 'af82' => 82,
606 'af83' => 83,
607 'af84' => 84,
608 'af85' => 85,
609 'af86' => 86,
610 'af87' => 87,
611 'af88' => 88,
612 'af89' => 89,
613 'af90' => 90,
614 'af91' => 91,
615 'af92' => 92,
616 'af93' => 93,
617 'af94' => 94,
618 'af95' => 95,
619 'af96' => 96,
620 'af97' => 97,
621 'af98' => 98,
622 'af99' => 99,
623 'af100' => 100,
624 'af101' => 101,
625 'af102' => 102,
626 'af103' => 103,
627 'af104' => 104,
628 'af105' => 105,
629 'af106' => 106,
630 'af107' => 107,
631 'af108' => 108,
632 'af109' => 109,
633 'af110' => 110,
634 'af111' => 111,
635 'af112' => 112,
636 'af113' => 113,
637 'af114' => 114,
638 'af115' => 115,
639 'af116' => 116,
640 'af117' => 117,
641 'af118' => 118,
642 'af119' => 119,
643 'af120' => 120,
644 'af121' => 121,
645 'af122' => 122,
646 'af123' => 123,
647 'af124' => 124,
648 'af125' => 125,
649 'af126' => 126,
650 'af127' => 127,
651 'af128' => 128,
652 'af129' => 129,
653 'af130' => 130,
654 'af131' => 131,
655 'af132' => 132,
656 'af133' => 133,
657 'af134' => 134,
658 'af135' => 135,
659 'af136' => 136,
660 'af137' => 137,
661 'af138' => 138,
662 'af139' => 139,
663 'af140' => 140,
664 'af141' => 141,
665 'af142' => 142,
666 'af143' => 143,
667 'af144' => 144,
668 'af145' => 145,
669 'af146' => 146,
670 'af147' => 147,
671 'af148' => 148,
672 'af149' => 149,
673 'af150' => 150,
674 'af151' => 151,
675 'af152' => 152,
676 'af153' => 153,
677 'af154' => 154,
678 'af155' => 155,
679 'af156' => 156,
680 'af157' => 157,
681 'af158' => 158,
682 'af159' => 159,
683 'af160' => 160,
684 'af161' => 161,
685 'af162' => 162,
686 'af163' => 163,
687 'af164' => 164,
688 'af165' => 165,
689 'af166' => 166,
690 'af167' => 167,
691 'af168' => 168,
692 'af169' => 169,
693 'af170' => 170,
694 'af171' => 171,
695 'af172' => 172,
696 'af173' => 173,
697 'af174' => 174,
698 'af175' => 175,
699 'af176' => 176,
700 'af177' => 177,
701 'af178' => 178,
702 'af179' => 179,
703 'af180' => 180,
704 'af181' => 181,
705 'af182' => 182,
706 'af183' => 183,
707 'af184' => 184,
708 'af185' => 185,
709 'af186' => 186,
710 'af187' => 187,
711 'af188' => 188,
712 'af189' => 189,
713 'af190' => 190,
714 'af191' => 191,
715 'af192' => 192,
716 'af193' => 193,
717 'af194' => 194,
718 'af195' => 195,
719 'af196' => 196,
720 'af197' => 197,
721 'af198' => 198,
722 'af199' => 199,
723 'af200' => 200,
724 'af201' => 201,
725 'af202' => 202,
726 'af203' => 203,
727 'af204' => 204,
728 'af205' => 205,
729 'af206' => 206,
730 'af207' => 207,
731 'af208' => 208,
732 'af209' => 209,
733 'af210' => 210,
734 'af211' => 211,
735 'af212' => 212,
736 'af213' => 213,
737 'af214' => 214,
738 'af215' => 215,
739 'af216' => 216,
740 'af217' => 217,
741 'af218' => 218,
742 'af219' => 219,
743 'af220' => 220,
744 'af221' => 221,
745 'af222' => 222,
746 'af223' => 223,
747 'af224' => 224,
748 'af225' => 225,
749 'af226' => 226,
750 'af227' => 227,
751 'af228' => 228,
752 'af229' => 229,
753 'af230' => 230,
754 'af231' => 231,
755 'af232' => 232,
756 'af233' => 233,
757 'af234' => 234,
758 'af235' => 235,
759 'af236' => 236,
760 'af237' => 237,
761 'af238' => 238,
762 'af239' => 239,
763 'af240' => 240,
764 'af241' => 241,
765 'af242' => 242,
766 'af243' => 243,
767 'af244' => 244,
768 'af245' => 245,
769 'af246' => 246,
770 'af247' => 247,
771 'af248' => 248,
772 'af249' => 249,
773 'af250' => 250,
774 'af251' => 251,
775 'af252' => 252,
776 'af253' => 253,
777 'af254' => 254,
782 <<__NEVER_INLINE>>
783 function foo($d, $s1, $s2) {
784 $d[$s1] = 100;
785 $sum = $d[$s1];
786 foreach ($d as $v) {
787 $sum = $sum + $v;
789 var_dump($sum);
790 unset($d[$s2]);
791 var_dump(isset($d[$s2]));
794 <<__EntryPoint>>
795 function main() {
796 $d = create(21);
797 foo($d, 'a', 'bf10');
798 $d = create(11);
799 foo($d, 'b', 'f10');
800 $e = create(1);
801 foo($e, 'c', 'af10');