ocaml/test/testinterp/t340-weak.ml

2553 lines
41 KiB
OCaml

open Lib;;
let x = Array.make 20 "" in
let w = weak_create 20 in
for i = 0 to 19 do
x.(i) <- String.make 20 's';
weak_set w i (Some x.(i));
done;
Gc.full_major ();
for i = 0 to 19 do
match weak_get w i with
| None -> raise Not_found
| _ -> ()
done;
for i = 0 to 19 do
if i mod 2 = 0 then x.(i) <- ""
done;
Gc.full_major ();
for i = 0 to 19 do
match weak_get w i with
| None when i mod 2 = 0 -> ()
| Some s when i mod 2 = 1 -> if s.[5] <> 's' then raise Not_found
| _ -> raise Not_found
done
;;
(**
0 CONSTINT 42
2 PUSHACC0
3 MAKEBLOCK1 0
5 POP 1
7 SETGLOBAL Lib
9 BRANCH 751
11 RESTART
12 GRAB 1
14 ACC0
15 BRANCHIFNOT 28
17 ACC1
18 PUSHACC1
19 GETFIELD1
20 PUSHOFFSETCLOSURE0
21 APPLY2
22 PUSHACC1
23 GETFIELD0
24 MAKEBLOCK2 0
26 RETURN 2
28 ACC1
29 RETURN 2
31 RESTART
32 GRAB 3
34 CONST0
35 PUSHACC4
36 LEINT
37 BRANCHIFNOT 42
39 CONST0
40 RETURN 4
42 ACC3
43 PUSHACC3
44 PUSHACC3
45 PUSHACC3
46 C_CALL4 caml_input
48 PUSHCONST0
49 PUSHACC1
50 EQ
51 BRANCHIFNOT 58
53 GETGLOBAL End_of_file
55 MAKEBLOCK1 0
57 RAISE
58 ACC0
59 PUSHACC5
60 SUBINT
61 PUSHACC1
62 PUSHACC5
63 ADDINT
64 PUSHACC4
65 PUSHACC4
66 PUSHOFFSETCLOSURE0
67 APPTERM 4, 9
70 ACC0
71 C_CALL1 caml_input_scan_line
73 PUSHCONST0
74 PUSHACC1
75 EQ
76 BRANCHIFNOT 83
78 GETGLOBAL End_of_file
80 MAKEBLOCK1 0
82 RAISE
83 CONST0
84 PUSHACC1
85 GTINT
86 BRANCHIFNOT 107
88 ACC0
89 OFFSETINT -1
91 C_CALL1 create_string
93 PUSHACC1
94 OFFSETINT -1
96 PUSHCONST0
97 PUSHACC2
98 PUSHACC5
99 C_CALL4 caml_input
101 ACC2
102 C_CALL1 caml_input_char
104 ACC0
105 RETURN 3
107 ACC0
108 NEGINT
109 C_CALL1 create_string
111 PUSHACC1
112 NEGINT
113 PUSHCONST0
114 PUSHACC2
115 PUSHACC5
116 C_CALL4 caml_input
118 CONST0
119 PUSHTRAP 130
121 ACC6
122 PUSHOFFSETCLOSURE0
123 APPLY1
124 PUSHACC5
125 PUSHENVACC1
126 APPLY2
127 POPTRAP
128 RETURN 3
130 PUSHGETGLOBAL End_of_file
132 PUSHACC1
133 GETFIELD0
134 EQ
135 BRANCHIFNOT 140
137 ACC1
138 RETURN 4
140 ACC0
141 RAISE
142 ACC0
143 C_CALL1 caml_flush
145 RETURN 1
147 ACC0
148 C_CALL1 caml_flush
150 RETURN 1
152 RESTART
153 GRAB 1
155 ACC1
156 PUSHACC1
157 C_CALL2 caml_output_char
159 RETURN 2
161 RESTART
162 GRAB 1
164 ACC1
165 PUSHACC1
166 C_CALL2 caml_output_char
168 RETURN 2
170 RESTART
171 GRAB 1
173 ACC1
174 PUSHACC1
175 C_CALL2 caml_output_int
177 RETURN 2
179 RESTART
180 GRAB 1
182 ACC1
183 PUSHACC1
184 C_CALL2 caml_seek_out
186 RETURN 2
188 ACC0
189 C_CALL1 caml_pos_out
191 RETURN 1
193 ACC0
194 C_CALL1 caml_channel_size
196 RETURN 1
198 RESTART
199 GRAB 1
201 ACC1
202 PUSHACC1
203 C_CALL2 caml_set_binary_mode
205 RETURN 2
207 ACC0
208 C_CALL1 caml_input_char
210 RETURN 1
212 ACC0
213 C_CALL1 caml_input_char
215 RETURN 1
217 ACC0
218 C_CALL1 caml_input_int
220 RETURN 1
222 ACC0
223 C_CALL1 input_value
225 RETURN 1
227 RESTART
228 GRAB 1
230 ACC1
231 PUSHACC1
232 C_CALL2 caml_seek_in
234 RETURN 2
236 ACC0
237 C_CALL1 caml_pos_in
239 RETURN 1
241 ACC0
242 C_CALL1 caml_channel_size
244 RETURN 1
246 ACC0
247 C_CALL1 caml_close_channel
249 RETURN 1
251 RESTART
252 GRAB 1
254 ACC1
255 PUSHACC1
256 C_CALL2 caml_set_binary_mode
258 RETURN 2
260 CONST0
261 PUSHENVACC1
262 APPLY1
263 ACC0
264 C_CALL1 sys_exit
266 RETURN 1
268 CONST0
269 PUSHENVACC1
270 GETFIELD0
271 APPTERM1 2
273 CONST0
274 PUSHENVACC1
275 APPLY1
276 CONST0
277 PUSHENVACC2
278 APPTERM1 2
280 ENVACC1
281 GETFIELD0
282 PUSHACC0
283 PUSHACC2
284 CLOSURE 2, 273
287 PUSHENVACC1
288 SETFIELD0
289 RETURN 2
291 ENVACC1
292 C_CALL1 caml_flush
294 ENVACC2
295 C_CALL1 caml_flush
297 RETURN 1
299 CONST0
300 PUSHENVACC1
301 APPLY1
302 C_CALL1 float_of_string
304 RETURN 1
306 CONST0
307 PUSHENVACC1
308 APPLY1
309 C_CALL1 int_of_string
311 RETURN 1
313 ENVACC2
314 C_CALL1 caml_flush
316 ENVACC1
317 PUSHENVACC3
318 APPTERM1 2
320 CONSTINT 13
322 PUSHENVACC1
323 C_CALL2 caml_output_char
325 ENVACC1
326 C_CALL1 caml_flush
328 RETURN 1
330 ACC0
331 PUSHENVACC1
332 PUSHENVACC2
333 APPLY2
334 CONSTINT 13
336 PUSHENVACC1
337 C_CALL2 caml_output_char
339 ENVACC1
340 C_CALL1 caml_flush
342 RETURN 1
344 ACC0
345 PUSHENVACC1
346 APPLY1
347 PUSHENVACC2
348 PUSHENVACC3
349 APPTERM2 3
351 ACC0
352 PUSHENVACC1
353 APPLY1
354 PUSHENVACC2
355 PUSHENVACC3
356 APPTERM2 3
358 ACC0
359 PUSHENVACC1
360 PUSHENVACC2
361 APPTERM2 3
363 ACC0
364 PUSHENVACC1
365 C_CALL2 caml_output_char
367 RETURN 1
369 CONSTINT 13
371 PUSHENVACC1
372 C_CALL2 caml_output_char
374 ENVACC1
375 C_CALL1 caml_flush
377 RETURN 1
379 ACC0
380 PUSHENVACC1
381 PUSHENVACC2
382 APPLY2
383 CONSTINT 13
385 PUSHENVACC1
386 C_CALL2 caml_output_char
388 RETURN 1
390 ACC0
391 PUSHENVACC1
392 APPLY1
393 PUSHENVACC2
394 PUSHENVACC3
395 APPTERM2 3
397 ACC0
398 PUSHENVACC1
399 APPLY1
400 PUSHENVACC2
401 PUSHENVACC3
402 APPTERM2 3
404 ACC0
405 PUSHENVACC1
406 PUSHENVACC2
407 APPTERM2 3
409 ACC0
410 PUSHENVACC1
411 C_CALL2 caml_output_char
413 RETURN 1
415 RESTART
416 GRAB 3
418 CONST0
419 PUSHACC3
420 LTINT
421 BRANCHIF 432
423 ACC1
424 C_CALL1 ml_string_length
426 PUSHACC4
427 PUSHACC4
428 ADDINT
429 GTINT
430 BRANCHIFNOT 437
432 GETGLOBAL "really_input"
434 PUSHENVACC1
435 APPTERM1 5
437 ACC3
438 PUSHACC3
439 PUSHACC3
440 PUSHACC3
441 PUSHENVACC2
442 APPTERM 4, 8
445 RESTART
446 GRAB 3
448 CONST0
449 PUSHACC3
450 LTINT
451 BRANCHIF 462
453 ACC1
454 C_CALL1 ml_string_length
456 PUSHACC4
457 PUSHACC4
458 ADDINT
459 GTINT
460 BRANCHIFNOT 467
462 GETGLOBAL "input"
464 PUSHENVACC1
465 APPTERM1 5
467 ACC3
468 PUSHACC3
469 PUSHACC3
470 PUSHACC3
471 C_CALL4 caml_input
473 RETURN 4
475 ACC0
476 PUSHCONST0
477 PUSHGETGLOBAL <0>(0, <0>(6, 0))
479 PUSHENVACC1
480 APPTERM3 4
482 ACC0
483 PUSHCONST0
484 PUSHGETGLOBAL <0>(0, <0>(7, 0))
486 PUSHENVACC1
487 APPTERM3 4
489 RESTART
490 GRAB 2
492 ACC1
493 PUSHACC1
494 PUSHACC4
495 C_CALL3 sys_open
497 C_CALL1 caml_open_descriptor
499 RETURN 3
501 ACC0
502 C_CALL1 caml_flush
504 ACC0
505 C_CALL1 caml_close_channel
507 RETURN 1
509 RESTART
510 GRAB 1
512 CONST0
513 PUSHACC2
514 PUSHACC2
515 C_CALL3 output_value
517 RETURN 2
519 RESTART
520 GRAB 3
522 CONST0
523 PUSHACC3
524 LTINT
525 BRANCHIF 536
527 ACC1
528 C_CALL1 ml_string_length
530 PUSHACC4
531 PUSHACC4
532 ADDINT
533 GTINT
534 BRANCHIFNOT 541
536 GETGLOBAL "output"
538 PUSHENVACC1
539 APPTERM1 5
541 ACC3
542 PUSHACC3
543 PUSHACC3
544 PUSHACC3
545 C_CALL4 caml_output
547 RETURN 4
549 RESTART
550 GRAB 1
552 ACC1
553 C_CALL1 ml_string_length
555 PUSHCONST0
556 PUSHACC3
557 PUSHACC3
558 C_CALL4 caml_output
560 RETURN 2
562 ACC0
563 PUSHCONSTINT 438
565 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
567 PUSHENVACC1
568 APPTERM3 4
570 ACC0
571 PUSHCONSTINT 438
573 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
575 PUSHENVACC1
576 APPTERM3 4
578 RESTART
579 GRAB 2
581 ACC1
582 PUSHACC1
583 PUSHACC4
584 C_CALL3 sys_open
586 C_CALL1 caml_open_descriptor
588 RETURN 3
590 ACC0
591 PUSHGETGLOBAL "%.12g"
593 C_CALL2 format_float
595 RETURN 1
597 ACC0
598 PUSHGETGLOBAL "%d"
600 C_CALL2 format_int
602 RETURN 1
604 GETGLOBAL "true"
606 PUSHACC1
607 C_CALL2 string_equal
609 BRANCHIFNOT 614
611 CONST1
612 RETURN 1
614 GETGLOBAL "false"
616 PUSHACC1
617 C_CALL2 string_equal
619 BRANCHIFNOT 624
621 CONST0
622 RETURN 1
624 GETGLOBAL "bool_of_string"
626 PUSHENVACC1
627 APPTERM1 2
629 ACC0
630 BRANCHIFNOT 636
632 GETGLOBAL "true"
634 RETURN 1
636 GETGLOBAL "false"
638 RETURN 1
640 CONST0
641 PUSHACC1
642 LTINT
643 BRANCHIF 651
645 CONSTINT 255
647 PUSHACC1
648 GTINT
649 BRANCHIFNOT 656
651 GETGLOBAL "char_of_int"
653 PUSHENVACC1
654 APPTERM1 2
656 ACC0
657 RETURN 1
659 RESTART
660 GRAB 1
662 ACC0
663 C_CALL1 ml_string_length
665 PUSHACC2
666 C_CALL1 ml_string_length
668 PUSHACC0
669 PUSHACC2
670 ADDINT
671 C_CALL1 create_string
673 PUSHACC2
674 PUSHCONST0
675 PUSHACC2
676 PUSHCONST0
677 PUSHACC7
678 C_CALL5 blit_string
680 ACC1
681 PUSHACC3
682 PUSHACC2
683 PUSHCONST0
684 PUSHACC 8
686 C_CALL5 blit_string
688 ACC0
689 RETURN 5
691 CONSTINT -1
693 PUSHACC1
694 XORINT
695 RETURN 1
697 CONST0
698 PUSHACC1
699 GEINT
700 BRANCHIFNOT 705
702 ACC0
703 RETURN 1
705 ACC0
706 NEGINT
707 RETURN 1
709 RESTART
710 GRAB 1
712 ACC1
713 PUSHACC1
714 C_CALL2 greaterequal
716 BRANCHIFNOT 721
718 ACC0
719 RETURN 2
721 ACC1
722 RETURN 2
724 RESTART
725 GRAB 1
727 ACC1
728 PUSHACC1
729 C_CALL2 lessequal
731 BRANCHIFNOT 736
733 ACC0
734 RETURN 2
736 ACC1
737 RETURN 2
739 ACC0
740 PUSHGETGLOBAL Invalid_argument
742 MAKEBLOCK2 0
744 RAISE
745 ACC0
746 PUSHGETGLOBAL Failure
748 MAKEBLOCK2 0
750 RAISE
751 CLOSURE 0, 745
754 PUSH
755 CLOSURE 0, 739
758 PUSHGETGLOBAL "Pervasives.Exit"
760 MAKEBLOCK1 0
762 PUSHGETGLOBAL "Pervasives.Assert_failure"
764 MAKEBLOCK1 0
766 PUSH
767 CLOSURE 0, 725
770 PUSH
771 CLOSURE 0, 710
774 PUSH
775 CLOSURE 0, 697
778 PUSH
779 CLOSURE 0, 691
782 PUSHCONST0
783 PUSHCONSTINT 31
785 PUSHCONST1
786 LSLINT
787 EQ
788 BRANCHIFNOT 794
790 CONSTINT 30
792 BRANCH 796
794 CONSTINT 62
796 PUSHCONST1
797 LSLINT
798 PUSHACC0
799 OFFSETINT -1
801 PUSH
802 CLOSURE 0, 660
805 PUSHACC 9
807 CLOSURE 1, 640
810 PUSH
811 CLOSURE 0, 629
814 PUSHACC 11
816 CLOSURE 1, 604
819 PUSH
820 CLOSURE 0, 597
823 PUSH
824 CLOSURE 0, 590
827 PUSH
828 CLOSUREREC 0, 12
832 CONST0
833 C_CALL1 caml_open_descriptor
835 PUSHCONST1
836 C_CALL1 caml_open_descriptor
838 PUSHCONST2
839 C_CALL1 caml_open_descriptor
841 PUSH
842 CLOSURE 0, 579
845 PUSHACC0
846 CLOSURE 1, 570
849 PUSHACC1
850 CLOSURE 1, 562
853 PUSH
854 CLOSURE 0, 550
857 PUSHACC 22
859 CLOSURE 1, 520
862 PUSH
863 CLOSURE 0, 510
866 PUSH
867 CLOSURE 0, 501
870 PUSH
871 CLOSURE 0, 490
874 PUSHACC0
875 CLOSURE 1, 482
878 PUSHACC1
879 CLOSURE 1, 475
882 PUSHACC 28
884 CLOSURE 1, 446
887 PUSH
888 CLOSUREREC 0, 32
892 ACC0
893 PUSHACC 31
895 CLOSURE 2, 416
898 PUSHACC 22
900 CLOSUREREC 1, 70
904 ACC 15
906 CLOSURE 1, 409
909 PUSHACC 11
911 PUSHACC 17
913 CLOSURE 2, 404
916 PUSHACC 12
918 PUSHACC 18
920 PUSHACC 23
922 CLOSURE 3, 397
925 PUSHACC 13
927 PUSHACC 19
929 PUSHACC 23
931 CLOSURE 3, 390
934 PUSHACC 14
936 PUSHACC 20
938 CLOSURE 2, 379
941 PUSHACC 20
943 CLOSURE 1, 369
946 PUSHACC 20
948 CLOSURE 1, 363
951 PUSHACC 17
953 PUSHACC 22
955 CLOSURE 2, 358
958 PUSHACC 18
960 PUSHACC 23
962 PUSHACC 29
964 CLOSURE 3, 351
967 PUSHACC 19
969 PUSHACC 24
971 PUSHACC 29
973 CLOSURE 3, 344
976 PUSHACC 20
978 PUSHACC 25
980 CLOSURE 2, 330
983 PUSHACC 25
985 CLOSURE 1, 320
988 PUSHACC 12
990 PUSHACC 28
992 PUSHACC 30
994 CLOSURE 3, 313
997 PUSHACC0
998 CLOSURE 1, 306
1001 PUSHACC1
1002 CLOSURE 1, 299
1005 PUSHACC 29
1007 PUSHACC 31
1009 CLOSURE 2, 291
1012 MAKEBLOCK1 0
1014 PUSHACC0
1015 CLOSURE 1, 280
1018 PUSHACC1
1019 CLOSURE 1, 268
1022 PUSHACC0
1023 CLOSURE 1, 260
1026 PUSHACC1
1027 PUSHACC 22
1029 PUSHACC4
1030 PUSHACC3
1031 PUSH
1032 CLOSURE 0, 252
1035 PUSH
1036 CLOSURE 0, 246
1039 PUSH
1040 CLOSURE 0, 241
1043 PUSH
1044 CLOSURE 0, 236
1047 PUSH
1048 CLOSURE 0, 228
1051 PUSH
1052 CLOSURE 0, 222
1055 PUSH
1056 CLOSURE 0, 217
1059 PUSH
1060 CLOSURE 0, 212
1063 PUSHACC 32
1065 PUSHACC 35
1067 PUSHACC 33
1069 PUSH
1070 CLOSURE 0, 207
1073 PUSHACC 41
1075 PUSHACC 40
1077 PUSHACC 42
1079 PUSH
1080 CLOSURE 0, 199
1083 PUSHACC 46
1085 PUSH
1086 CLOSURE 0, 193
1089 PUSH
1090 CLOSURE 0, 188
1093 PUSH
1094 CLOSURE 0, 180
1097 PUSHACC 51
1099 PUSH
1100 CLOSURE 0, 171
1103 PUSH
1104 CLOSURE 0, 162
1107 PUSHACC 55
1109 PUSHACC 57
1111 PUSH
1112 CLOSURE 0, 153
1115 PUSH
1116 CLOSURE 0, 147
1119 PUSH
1120 CLOSURE 0, 142
1123 PUSHACC 64
1125 PUSHACC 63
1127 PUSHACC 65
1129 PUSHACC 39
1131 PUSHACC 41
1133 PUSHACC 43
1135 PUSHACC 45
1137 PUSHACC 47
1139 PUSHACC 49
1141 PUSHACC 51
1143 PUSHACC 53
1145 PUSHACC 55
1147 PUSHACC 57
1149 PUSHACC 59
1151 PUSHACC 61
1153 PUSHACC 63
1155 PUSHACC 65
1157 PUSHACC 67
1159 PUSHACC 83
1161 PUSHACC 85
1163 PUSHACC 87
1165 PUSHACC 89
1167 PUSHACC 91
1169 PUSHACC 93
1171 PUSHACC 95
1173 PUSHACC 97
1175 PUSHACC 99
1177 PUSHACC 101
1179 PUSHACC 105
1181 PUSHACC 105
1183 PUSHACC 105
1185 PUSHACC 109
1187 PUSHACC 111
1189 PUSHACC 113
1191 PUSHACC 118
1193 PUSHACC 118
1195 PUSHACC 118
1197 PUSHACC 118
1199 MAKEBLOCK 70, 0
1202 POP 53
1204 SETGLOBAL Pervasives
1206 BRANCH 2186
1208 RESTART
1209 GRAB 1
1211 ACC1
1212 BRANCHIFNOT 1222
1214 ACC1
1215 GETFIELD1
1216 PUSHACC1
1217 OFFSETINT 1
1219 PUSHOFFSETCLOSURE0
1220 APPTERM2 4
1222 ACC0
1223 RETURN 2
1225 RESTART
1226 GRAB 1
1228 ACC0
1229 BRANCHIFNOT 1260
1231 CONST0
1232 PUSHACC2
1233 EQ
1234 BRANCHIFNOT 1240
1236 ACC0
1237 GETFIELD0
1238 RETURN 2
1240 CONST0
1241 PUSHACC2
1242 GTINT
1243 BRANCHIFNOT 1253
1245 ACC1
1246 OFFSETINT -1
1248 PUSHACC1
1249 GETFIELD1
1250 PUSHOFFSETCLOSURE0
1251 APPTERM2 4
1253 GETGLOBAL "List.nth"
1255 PUSHGETGLOBALFIELD Pervasives, 2
1258 APPTERM1 3
1260 GETGLOBAL "nth"
1262 PUSHGETGLOBALFIELD Pervasives, 3
1265 APPTERM1 3
1267 RESTART
1268 GRAB 1
1270 ACC0
1271 BRANCHIFNOT 1283
1273 ACC1
1274 PUSHACC1
1275 GETFIELD0
1276 MAKEBLOCK2 0
1278 PUSHACC1
1279 GETFIELD1
1280 PUSHOFFSETCLOSURE0
1281 APPTERM2 4
1283 ACC1
1284 RETURN 2
1286 ACC0
1287 BRANCHIFNOT 1300
1289 ACC0
1290 GETFIELD1
1291 PUSHOFFSETCLOSURE0
1292 APPLY1
1293 PUSHACC1
1294 GETFIELD0
1295 PUSHGETGLOBALFIELD Pervasives, 16
1298 APPTERM2 3
1300 RETURN 1
1302 RESTART
1303 GRAB 1
1305 ACC1
1306 BRANCHIFNOT 1322
1308 ACC1
1309 GETFIELD0
1310 PUSHACC1
1311 APPLY1
1312 PUSHACC2
1313 GETFIELD1
1314 PUSHACC2
1315 PUSHOFFSETCLOSURE0
1316 APPLY2
1317 PUSHACC1
1318 MAKEBLOCK2 0
1320 POP 1
1322 RETURN 2
1324 RESTART
1325 GRAB 1
1327 ACC1
1328 BRANCHIFNOT 1340
1330 ACC1
1331 GETFIELD0
1332 PUSHACC1
1333 APPLY1
1334 ACC1
1335 GETFIELD1
1336 PUSHACC1
1337 PUSHOFFSETCLOSURE0
1338 APPTERM2 4
1340 RETURN 2
1342 RESTART
1343 GRAB 2
1345 ACC2
1346 BRANCHIFNOT 1359
1348 ACC2
1349 GETFIELD1
1350 PUSHACC3
1351 GETFIELD0
1352 PUSHACC3
1353 PUSHACC3
1354 APPLY2
1355 PUSHACC2
1356 PUSHOFFSETCLOSURE0
1357 APPTERM3 6
1359 ACC1
1360 RETURN 3
1362 RESTART
1363 GRAB 2
1365 ACC1
1366 BRANCHIFNOT 1379
1368 ACC2
1369 PUSHACC2
1370 GETFIELD1
1371 PUSHACC2
1372 PUSHOFFSETCLOSURE0
1373 APPLY3
1374 PUSHACC2
1375 GETFIELD0
1376 PUSHACC2
1377 APPTERM2 5
1379 ACC2
1380 RETURN 3
1382 RESTART
1383 GRAB 2
1385 ACC1
1386 BRANCHIFNOT 1409
1388 ACC2
1389 BRANCHIFNOT 1416
1391 ACC2
1392 GETFIELD0
1393 PUSHACC2
1394 GETFIELD0
1395 PUSHACC2
1396 APPLY2
1397 PUSHACC3
1398 GETFIELD1
1399 PUSHACC3
1400 GETFIELD1
1401 PUSHACC3
1402 PUSHOFFSETCLOSURE0
1403 APPLY3
1404 PUSHACC1
1405 MAKEBLOCK2 0
1407 RETURN 4
1409 ACC2
1410 BRANCHIFNOT 1414
1412 BRANCH 1416
1414 RETURN 3
1416 GETGLOBAL "List.map2"
1418 PUSHGETGLOBALFIELD Pervasives, 2
1421 APPTERM1 4
1423 RESTART
1424 GRAB 2
1426 ACC1
1427 BRANCHIFNOT 1446
1429 ACC2
1430 BRANCHIFNOT 1453
1432 ACC2
1433 GETFIELD0
1434 PUSHACC2
1435 GETFIELD0
1436 PUSHACC2
1437 APPLY2
1438 ACC2
1439 GETFIELD1
1440 PUSHACC2
1441 GETFIELD1
1442 PUSHACC2
1443 PUSHOFFSETCLOSURE0
1444 APPTERM3 6
1446 ACC2
1447 BRANCHIFNOT 1451
1449 BRANCH 1453
1451 RETURN 3
1453 GETGLOBAL "List.iter2"
1455 PUSHGETGLOBALFIELD Pervasives, 2
1458 APPTERM1 4
1460 RESTART
1461 GRAB 3
1463 ACC2
1464 BRANCHIFNOT 1485
1466 ACC3
1467 BRANCHIFNOT 1491
1469 ACC3
1470 GETFIELD1
1471 PUSHACC3
1472 GETFIELD1
1473 PUSHACC5
1474 GETFIELD0
1475 PUSHACC5
1476 GETFIELD0
1477 PUSHACC5
1478 PUSHACC5
1479 APPLY3
1480 PUSHACC3
1481 PUSHOFFSETCLOSURE0
1482 APPTERM 4, 8
1485 ACC3
1486 BRANCHIF 1491
1488 ACC1
1489 RETURN 4
1491 GETGLOBAL "List.fold_left2"
1493 PUSHGETGLOBALFIELD Pervasives, 2
1496 APPTERM1 5
1498 RESTART
1499 GRAB 3
1501 ACC1
1502 BRANCHIFNOT 1525
1504 ACC2
1505 BRANCHIFNOT 1531
1507 PUSH_RETADDR 1518
1509 ACC6
1510 PUSHACC6
1511 GETFIELD1
1512 PUSHACC6
1513 GETFIELD1
1514 PUSHACC6
1515 PUSHOFFSETCLOSURE0
1516 APPLY 4
1518 PUSHACC3
1519 GETFIELD0
1520 PUSHACC3
1521 GETFIELD0
1522 PUSHACC3
1523 APPTERM3 7
1525 ACC2
1526 BRANCHIF 1531
1528 ACC3
1529 RETURN 4
1531 GETGLOBAL "List.fold_right2"
1533 PUSHGETGLOBALFIELD Pervasives, 2
1536 APPTERM1 5
1538 RESTART
1539 GRAB 1
1541 ACC1
1542 BRANCHIFNOT 1558
1544 ACC1
1545 GETFIELD0
1546 PUSHACC1
1547 APPLY1
1548 BRANCHIFNOT 1556
1550 ACC1
1551 GETFIELD1
1552 PUSHACC1
1553 PUSHOFFSETCLOSURE0
1554 APPTERM2 4
1556 RETURN 2
1558 CONST1
1559 RETURN 2
1561 RESTART
1562 GRAB 1
1564 ACC1
1565 BRANCHIFNOT 1579
1567 ACC1
1568 GETFIELD0
1569 PUSHACC1
1570 APPLY1
1571 BRANCHIF 1579
1573 ACC1
1574 GETFIELD1
1575 PUSHACC1
1576 PUSHOFFSETCLOSURE0
1577 APPTERM2 4
1579 RETURN 2
1581 RESTART
1582 GRAB 2
1584 ACC1
1585 BRANCHIFNOT 1608
1587 ACC2
1588 BRANCHIFNOT 1614
1590 ACC2
1591 GETFIELD0
1592 PUSHACC2
1593 GETFIELD0
1594 PUSHACC2
1595 APPLY2
1596 BRANCHIFNOT 1606
1598 ACC2
1599 GETFIELD1
1600 PUSHACC2
1601 GETFIELD1
1602 PUSHACC2
1603 PUSHOFFSETCLOSURE0
1604 APPTERM3 6
1606 RETURN 3
1608 ACC2
1609 BRANCHIF 1614
1611 CONST1
1612 RETURN 3
1614 GETGLOBAL "List.for_all2"
1616 PUSHGETGLOBALFIELD Pervasives, 2
1619 APPTERM1 4
1621 RESTART
1622 GRAB 2
1624 ACC1
1625 BRANCHIFNOT 1648
1627 ACC2
1628 BRANCHIFNOT 1655
1630 ACC2
1631 GETFIELD0
1632 PUSHACC2
1633 GETFIELD0
1634 PUSHACC2
1635 APPLY2
1636 BRANCHIF 1646
1638 ACC2
1639 GETFIELD1
1640 PUSHACC2
1641 GETFIELD1
1642 PUSHACC2
1643 PUSHOFFSETCLOSURE0
1644 APPTERM3 6
1646 RETURN 3
1648 ACC2
1649 BRANCHIFNOT 1653
1651 BRANCH 1655
1653 RETURN 3
1655 GETGLOBAL "List.exists2"
1657 PUSHGETGLOBALFIELD Pervasives, 2
1660 APPTERM1 4
1662 RESTART
1663 GRAB 1
1665 ACC1
1666 BRANCHIFNOT 1681
1668 ACC0
1669 PUSHACC2
1670 GETFIELD0
1671 C_CALL2 equal
1673 BRANCHIF 1681
1675 ACC1
1676 GETFIELD1
1677 PUSHACC1
1678 PUSHOFFSETCLOSURE0
1679 APPTERM2 4
1681 RETURN 2
1683 RESTART
1684 GRAB 1
1686 ACC1
1687 BRANCHIFNOT 1701
1689 ACC0
1690 PUSHACC2
1691 GETFIELD0
1692 EQ
1693 BRANCHIF 1701
1695 ACC1
1696 GETFIELD1
1697 PUSHACC1
1698 PUSHOFFSETCLOSURE0
1699 APPTERM2 4
1701 RETURN 2
1703 RESTART
1704 GRAB 1
1706 ACC1
1707 BRANCHIFNOT 1728
1709 ACC1
1710 GETFIELD0
1711 PUSHACC1
1712 PUSHACC1
1713 GETFIELD0
1714 C_CALL2 equal
1716 BRANCHIFNOT 1722
1718 ACC0
1719 GETFIELD1
1720 RETURN 3
1722 ACC2
1723 GETFIELD1
1724 PUSHACC2
1725 PUSHOFFSETCLOSURE0
1726 APPTERM2 5
1728 GETGLOBAL Not_found
1730 MAKEBLOCK1 0
1732 RAISE
1733 RESTART
1734 GRAB 1
1736 ACC1
1737 BRANCHIFNOT 1757
1739 ACC1
1740 GETFIELD0
1741 PUSHACC1
1742 PUSHACC1
1743 GETFIELD0
1744 EQ
1745 BRANCHIFNOT 1751
1747 ACC0
1748 GETFIELD1
1749 RETURN 3
1751 ACC2
1752 GETFIELD1
1753 PUSHACC2
1754 PUSHOFFSETCLOSURE0
1755 APPTERM2 5
1757 GETGLOBAL Not_found
1759 MAKEBLOCK1 0
1761 RAISE
1762 RESTART
1763 GRAB 1
1765 ACC1
1766 BRANCHIFNOT 1782
1768 ACC0
1769 PUSHACC2
1770 GETFIELD0
1771 GETFIELD0
1772 C_CALL2 equal
1774 BRANCHIF 1782
1776 ACC1
1777 GETFIELD1
1778 PUSHACC1
1779 PUSHOFFSETCLOSURE0
1780 APPTERM2 4
1782 RETURN 2
1784 RESTART
1785 GRAB 1
1787 ACC1
1788 BRANCHIFNOT 1803
1790 ACC0
1791 PUSHACC2
1792 GETFIELD0
1793 GETFIELD0
1794 EQ
1795 BRANCHIF 1803
1797 ACC1
1798 GETFIELD1
1799 PUSHACC1
1800 PUSHOFFSETCLOSURE0
1801 APPTERM2 4
1803 RETURN 2
1805 RESTART
1806 GRAB 1
1808 ACC1
1809 BRANCHIFNOT 1834
1811 ACC1
1812 GETFIELD0
1813 PUSHACC2
1814 GETFIELD1
1815 PUSHACC2
1816 PUSHACC2
1817 GETFIELD0
1818 C_CALL2 equal
1820 BRANCHIFNOT 1825
1822 ACC0
1823 RETURN 4
1825 ACC0
1826 PUSHACC3
1827 PUSHOFFSETCLOSURE0
1828 APPLY2
1829 PUSHACC2
1830 MAKEBLOCK2 0
1832 POP 2
1834 RETURN 2
1836 RESTART
1837 GRAB 1
1839 ACC1
1840 BRANCHIFNOT 1864
1842 ACC1
1843 GETFIELD0
1844 PUSHACC2
1845 GETFIELD1
1846 PUSHACC2
1847 PUSHACC2
1848 GETFIELD0
1849 EQ
1850 BRANCHIFNOT 1855
1852 ACC0
1853 RETURN 4
1855 ACC0
1856 PUSHACC3
1857 PUSHOFFSETCLOSURE0
1858 APPLY2
1859 PUSHACC2
1860 MAKEBLOCK2 0
1862 POP 2
1864 RETURN 2
1866 RESTART
1867 GRAB 1
1869 ACC1
1870 BRANCHIFNOT 1888
1872 ACC1
1873 GETFIELD0
1874 PUSHACC0
1875 PUSHACC2
1876 APPLY1
1877 BRANCHIFNOT 1882
1879 ACC0
1880 RETURN 3
1882 ACC2
1883 GETFIELD1
1884 PUSHACC2
1885 PUSHOFFSETCLOSURE0
1886 APPTERM2 5
1888 GETGLOBAL Not_found
1890 MAKEBLOCK1 0
1892 RAISE
1893 RESTART
1894 GRAB 2
1896 ACC2
1897 BRANCHIFNOT 1926
1899 ACC2
1900 GETFIELD0
1901 PUSHACC3
1902 GETFIELD1
1903 PUSHACC1
1904 PUSHENVACC2
1905 APPLY1
1906 BRANCHIFNOT 1917
1908 ACC0
1909 PUSHACC4
1910 PUSHACC4
1911 PUSHACC4
1912 MAKEBLOCK2 0
1914 PUSHOFFSETCLOSURE0
1915 APPTERM3 8
1917 ACC0
1918 PUSHACC4
1919 PUSHACC3
1920 MAKEBLOCK2 0
1922 PUSHACC4
1923 PUSHOFFSETCLOSURE0
1924 APPTERM3 8
1926 ACC1
1927 PUSHENVACC1
1928 APPLY1
1929 PUSHACC1
1930 PUSHENVACC1
1931 APPLY1
1932 MAKEBLOCK2 0
1934 RETURN 3
1936 RESTART
1937 GRAB 1
1939 ACC0
1940 PUSHENVACC1
1941 CLOSUREREC 2, 1894
1945 ACC2
1946 PUSHCONST0
1947 PUSHCONST0
1948 PUSHACC3
1949 APPTERM3 6
1951 ACC0
1952 BRANCHIFNOT 1976
1954 ACC0
1955 GETFIELD0
1956 PUSHACC1
1957 GETFIELD1
1958 PUSHOFFSETCLOSURE0
1959 APPLY1
1960 PUSHACC0
1961 GETFIELD1
1962 PUSHACC2
1963 GETFIELD1
1964 MAKEBLOCK2 0
1966 PUSHACC1
1967 GETFIELD0
1968 PUSHACC3
1969 GETFIELD0
1970 MAKEBLOCK2 0
1972 MAKEBLOCK2 0
1974 RETURN 3
1976 GETGLOBAL <0>(0, 0)
1978 RETURN 1
1980 RESTART
1981 GRAB 1
1983 ACC0
1984 BRANCHIFNOT 2005
1986 ACC1
1987 BRANCHIFNOT 2012
1989 ACC1
1990 GETFIELD1
1991 PUSHACC1
1992 GETFIELD1
1993 PUSHOFFSETCLOSURE0
1994 APPLY2
1995 PUSHACC2
1996 GETFIELD0
1997 PUSHACC2
1998 GETFIELD0
1999 MAKEBLOCK2 0
2001 MAKEBLOCK2 0
2003 RETURN 2
2005 ACC1
2006 BRANCHIFNOT 2010
2008 BRANCH 2012
2010 RETURN 2
2012 GETGLOBAL "List.combine"
2014 PUSHGETGLOBALFIELD Pervasives, 2
2017 APPTERM1 3
2019 RESTART
2020 GRAB 1
2022 ACC1
2023 BRANCHIFNOT 2047
2025 ACC1
2026 GETFIELD0
2027 PUSHACC2
2028 GETFIELD1
2029 PUSHACC1
2030 PUSHENVACC2
2031 APPLY1
2032 BRANCHIFNOT 2042
2034 ACC0
2035 PUSHACC3
2036 PUSHACC3
2037 MAKEBLOCK2 0
2039 PUSHOFFSETCLOSURE0
2040 APPTERM2 6
2042 ACC0
2043 PUSHACC3
2044 PUSHOFFSETCLOSURE0
2045 APPTERM2 6
2047 ACC0
2048 PUSHENVACC1
2049 APPTERM1 3
2051 ACC0
2052 PUSHENVACC1
2053 CLOSUREREC 2, 2020
2057 CONST0
2058 PUSHACC1
2059 APPTERM1 3
2061 RESTART
2062 GRAB 2
2064 ACC1
2065 BRANCHIFNOT 2086
2067 ACC2
2068 BRANCHIFNOT 2093
2070 ACC2
2071 GETFIELD1
2072 PUSHACC2
2073 GETFIELD1
2074 PUSHACC2
2075 PUSHACC5
2076 GETFIELD0
2077 PUSHACC5
2078 GETFIELD0
2079 PUSHENVACC1
2080 APPLY2
2081 MAKEBLOCK2 0
2083 PUSHOFFSETCLOSURE0
2084 APPTERM3 6
2086 ACC2
2087 BRANCHIFNOT 2091
2089 BRANCH 2093
2091 RETURN 3
2093 GETGLOBAL "List.rev_map2"
2095 PUSHGETGLOBALFIELD Pervasives, 2
2098 APPTERM1 4
2100 RESTART
2101 GRAB 2
2103 ACC0
2104 CLOSUREREC 1, 2062
2108 ACC3
2109 PUSHACC3
2110 PUSHCONST0
2111 PUSHACC3
2112 APPTERM3 7
2114 RESTART
2115 GRAB 1
2117 ACC1
2118 BRANCHIFNOT 2132
2120 ACC1
2121 GETFIELD1
2122 PUSHACC1
2123 PUSHACC3
2124 GETFIELD0
2125 PUSHENVACC1
2126 APPLY1
2127 MAKEBLOCK2 0
2129 PUSHOFFSETCLOSURE0
2130 APPTERM2 4
2132 ACC0
2133 RETURN 2
2135 RESTART
2136 GRAB 1
2138 ACC0
2139 CLOSUREREC 1, 2115
2143 ACC2
2144 PUSHCONST0
2145 PUSHACC2
2146 APPTERM2 5
2148 CONST0
2149 PUSHACC1
2150 PUSHENVACC1
2151 APPTERM2 3
2153 ACC0
2154 BRANCHIFNOT 2160
2156 ACC0
2157 GETFIELD1
2158 RETURN 1
2160 GETGLOBAL "tl"
2162 PUSHGETGLOBALFIELD Pervasives, 3
2165 APPTERM1 2
2167 ACC0
2168 BRANCHIFNOT 2174
2170 ACC0
2171 GETFIELD0
2172 RETURN 1
2174 GETGLOBAL "hd"
2176 PUSHGETGLOBALFIELD Pervasives, 3
2179 APPTERM1 2
2181 ACC0
2182 PUSHCONST0
2183 PUSHENVACC1
2184 APPTERM2 3
2186 CLOSUREREC 0, 1209
2190 ACC0
2191 CLOSURE 1, 2181
2194 PUSH
2195 CLOSURE 0, 2167
2198 PUSH
2199 CLOSURE 0, 2153
2202 PUSH
2203 CLOSUREREC 0, 1226
2207 GETGLOBALFIELD Pervasives, 16
2210 PUSH
2211 CLOSUREREC 0, 1268
2215 ACC0
2216 CLOSURE 1, 2148
2219 PUSH
2220 CLOSUREREC 0, 1286
2224 CLOSUREREC 0, 1303
2228 CLOSURE 0, 2136
2231 PUSH
2232 CLOSUREREC 0, 1325
2236 CLOSUREREC 0, 1343
2240 CLOSUREREC 0, 1363
2244 CLOSUREREC 0, 1383
2248 CLOSURE 0, 2101
2251 PUSH
2252 CLOSUREREC 0, 1424
2256 CLOSUREREC 0, 1461
2260 CLOSUREREC 0, 1499
2264 CLOSUREREC 0, 1539
2268 CLOSUREREC 0, 1562
2272 CLOSUREREC 0, 1582
2276 CLOSUREREC 0, 1622
2280 CLOSUREREC 0, 1663
2284 CLOSUREREC 0, 1684
2288 CLOSUREREC 0, 1704
2292 CLOSUREREC 0, 1734
2296 CLOSUREREC 0, 1763
2300 CLOSUREREC 0, 1785
2304 CLOSUREREC 0, 1806
2308 CLOSUREREC 0, 1837
2312 CLOSUREREC 0, 1867
2316 ACC 24
2318 CLOSURE 1, 2051
2321 PUSHACC 25
2323 CLOSUREREC 1, 1937
2327 CLOSUREREC 0, 1951
2331 CLOSUREREC 0, 1981
2335 ACC0
2336 PUSHACC2
2337 PUSHACC7
2338 PUSHACC 9
2340 PUSHACC 11
2342 PUSHACC 13
2344 PUSHACC 15
2346 PUSHACC 17
2348 PUSHACC 10
2350 PUSHACC 12
2352 PUSHACC 13
2354 PUSHACC 15
2356 PUSHACC 23
2358 PUSHACC 25
2360 PUSHACC 27
2362 PUSHACC 29
2364 PUSHACC 31
2366 PUSHACC 33
2368 PUSHACC 35
2370 PUSHACC 37
2372 PUSHACC 40
2374 PUSHACC 42
2376 PUSHACC 41
2378 PUSHACC 45
2380 PUSHACC 47
2382 PUSHACC 50
2384 PUSHACC 52
2386 PUSHACC 51
2388 PUSHACC 55
2390 PUSHACC 56
2392 PUSHACC 59
2394 PUSHACC 61
2396 PUSHACC 60
2398 PUSHACC 64
2400 PUSHACC 66
2402 PUSHACC 68
2404 PUSHACC 70
2406 MAKEBLOCK 37, 0
2409 POP 36
2411 SETGLOBAL List
2413 BRANCH 2625
2415 CONSTINT 97
2417 PUSHACC1
2418 GEINT
2419 BRANCHIFNOT 2427
2421 CONSTINT 122
2423 PUSHACC1
2424 LEINT
2425 BRANCHIF 2451
2427 CONSTINT 224
2429 PUSHACC1
2430 GEINT
2431 BRANCHIFNOT 2439
2433 CONSTINT 246
2435 PUSHACC1
2436 LEINT
2437 BRANCHIF 2451
2439 CONSTINT 248
2441 PUSHACC1
2442 GEINT
2443 BRANCHIFNOT 2456
2445 CONSTINT 254
2447 PUSHACC1
2448 LEINT
2449 BRANCHIFNOT 2456
2451 ACC0
2452 OFFSETINT -32
2454 RETURN 1
2456 ACC0
2457 RETURN 1
2459 CONSTINT 65
2461 PUSHACC1
2462 GEINT
2463 BRANCHIFNOT 2471
2465 CONSTINT 90
2467 PUSHACC1
2468 LEINT
2469 BRANCHIF 2495
2471 CONSTINT 192
2473 PUSHACC1
2474 GEINT
2475 BRANCHIFNOT 2483
2477 CONSTINT 214
2479 PUSHACC1
2480 LEINT
2481 BRANCHIF 2495
2483 CONSTINT 216
2485 PUSHACC1
2486 GEINT
2487 BRANCHIFNOT 2500
2489 CONSTINT 222
2491 PUSHACC1
2492 LEINT
2493 BRANCHIFNOT 2500
2495 ACC0
2496 OFFSETINT 32
2498 RETURN 1
2500 ACC0
2501 RETURN 1
2503 CONSTINT 39
2505 PUSHACC1
2506 EQ
2507 BRANCHIFNOT 2513
2509 GETGLOBAL "\\'"
2511 RETURN 1
2513 CONSTINT 92
2515 PUSHACC1
2516 EQ
2517 BRANCHIFNOT 2523
2519 GETGLOBAL "\\\\"
2521 RETURN 1
2523 CONSTINT 13
2525 PUSHACC1
2526 EQ
2527 BRANCHIFNOT 2533
2529 GETGLOBAL "\\n"
2531 RETURN 1
2533 CONSTINT 9
2535 PUSHACC1
2536 EQ
2537 BRANCHIFNOT 2543
2539 GETGLOBAL "\\t"
2541 RETURN 1
2543 ACC0
2544 C_CALL1 is_printable
2546 BRANCHIFNOT 2558
2548 CONST1
2549 C_CALL1 create_string
2551 PUSHACC1
2552 PUSHCONST0
2553 PUSHACC2
2554 SETSTRINGCHAR
2555 ACC0
2556 RETURN 2
2558 ACC0
2559 PUSHCONSTINT 4
2561 C_CALL1 create_string
2563 PUSHCONSTINT 92
2565 PUSHCONST0
2566 PUSHACC2
2567 SETSTRINGCHAR
2568 CONSTINT 100
2570 PUSHACC2
2571 DIVINT
2572 PUSHCONSTINT 48
2574 ADDINT
2575 PUSHCONST1
2576 PUSHACC2
2577 SETSTRINGCHAR
2578 CONSTINT 10
2580 PUSHCONSTINT 10
2582 PUSHACC3
2583 DIVINT
2584 MODINT
2585 PUSHCONSTINT 48
2587 ADDINT
2588 PUSHCONST2
2589 PUSHACC2
2590 SETSTRINGCHAR
2591 CONSTINT 10
2593 PUSHACC2
2594 MODINT
2595 PUSHCONSTINT 48
2597 ADDINT
2598 PUSHCONST3
2599 PUSHACC2
2600 SETSTRINGCHAR
2601 ACC0
2602 RETURN 3
2604 CONST0
2605 PUSHACC1
2606 LTINT
2607 BRANCHIF 2615
2609 CONSTINT 255
2611 PUSHACC1
2612 GTINT
2613 BRANCHIFNOT 2622
2615 GETGLOBAL "Char.chr"
2617 PUSHGETGLOBALFIELD Pervasives, 2
2620 APPTERM1 2
2622 ACC0
2623 RETURN 1
2625 CLOSURE 0, 2604
2628 PUSH
2629 CLOSURE 0, 2503
2632 PUSH
2633 CLOSURE 0, 2459
2636 PUSH
2637 CLOSURE 0, 2415
2640 PUSHACC0
2641 PUSHACC2
2642 PUSHACC4
2643 PUSHACC6
2644 MAKEBLOCK 4, 0
2647 POP 4
2649 SETGLOBAL Char
2651 BRANCH 3543
2653 RESTART
2654 GRAB 3
2656 ACC1
2657 PUSHACC3
2658 GEINT
2659 BRANCHIFNOT 2666
2661 GETGLOBAL Not_found
2663 MAKEBLOCK1 0
2665 RAISE
2666 ACC3
2667 PUSHACC3
2668 PUSHACC2
2669 GETSTRINGCHAR
2670 EQ
2671 BRANCHIFNOT 2676
2673 ACC2
2674 RETURN 4
2676 ACC3
2677 PUSHACC3
2678 OFFSETINT 1
2680 PUSHACC3
2681 PUSHACC3
2682 PUSHOFFSETCLOSURE0
2683 APPTERM 4, 8
2686 RESTART
2687 GRAB 2
2689 CONST0
2690 PUSHACC2
2691 LTINT
2692 BRANCHIFNOT 2699
2694 GETGLOBAL Not_found
2696 MAKEBLOCK1 0
2698 RAISE
2699 ACC2
2700 PUSHACC2
2701 PUSHACC2
2702 GETSTRINGCHAR
2703 EQ
2704 BRANCHIFNOT 2709
2706 ACC1
2707 RETURN 3
2709 ACC2
2710 PUSHACC2
2711 OFFSETINT -1
2713 PUSHACC2
2714 PUSHOFFSETCLOSURE0
2715 APPTERM3 6
2717 RESTART
2718 GRAB 1
2720 ACC1
2721 PUSHCONST0
2722 PUSHACC2
2723 PUSHENVACC1
2724 APPTERM3 5
2726 RESTART
2727 GRAB 2
2729 CONST0
2730 PUSHACC2
2731 LTINT
2732 BRANCHIF 2741
2734 ACC0
2735 C_CALL1 ml_string_length
2737 PUSHACC2
2738 GEINT
2739 BRANCHIFNOT 2748
2741 GETGLOBAL "String.rcontains_from"
2743 PUSHGETGLOBALFIELD Pervasives, 2
2746 APPTERM1 4
2748 PUSHTRAP 2759
2750 ACC6
2751 PUSHACC6
2752 PUSHACC6
2753 PUSHENVACC1
2754 APPLY3
2755 CONST1
2756 POPTRAP
2757 RETURN 3
2759 PUSHGETGLOBAL Not_found
2761 PUSHACC1
2762 GETFIELD0
2763 EQ
2764 BRANCHIFNOT 2769
2766 CONST0
2767 RETURN 4
2769 ACC0
2770 RAISE
2771 RESTART
2772 GRAB 2
2774 CONST0
2775 PUSHACC2
2776 LTINT
2777 BRANCHIF 2786
2779 ACC0
2780 C_CALL1 ml_string_length
2782 PUSHACC2
2783 GTINT
2784 BRANCHIFNOT 2793
2786 GETGLOBAL "String.contains_from"
2788 PUSHGETGLOBALFIELD Pervasives, 2
2791 APPTERM1 4
2793 PUSHTRAP 2814
2795 PUSH_RETADDR 2810
2797 ACC 9
2799 PUSHACC 9
2801 PUSHACC 9
2803 C_CALL1 ml_string_length
2805 PUSHACC 10
2807 PUSHENVACC1
2808 APPLY 4
2810 CONST1
2811 POPTRAP
2812 RETURN 3
2814 PUSHGETGLOBAL Not_found
2816 PUSHACC1
2817 GETFIELD0
2818 EQ
2819 BRANCHIFNOT 2824
2821 CONST0
2822 RETURN 4
2824 ACC0
2825 RAISE
2826 RESTART
2827 GRAB 2
2829 CONST0
2830 PUSHACC2
2831 LTINT
2832 BRANCHIF 2841
2834 ACC0
2835 C_CALL1 ml_string_length
2837 PUSHACC2
2838 GEINT
2839 BRANCHIFNOT 2848
2841 GETGLOBAL "String.rindex_from"
2843 PUSHGETGLOBALFIELD Pervasives, 2
2846 APPTERM1 4
2848 ACC2
2849 PUSHACC2
2850 PUSHACC2
2851 PUSHENVACC1
2852 APPTERM3 6
2854 RESTART
2855 GRAB 1
2857 ACC1
2858 PUSHACC1
2859 C_CALL1 ml_string_length
2861 OFFSETINT -1
2863 PUSHACC2
2864 PUSHENVACC1
2865 APPTERM3 5
2867 RESTART
2868 GRAB 2
2870 CONST0
2871 PUSHACC2
2872 LTINT
2873 BRANCHIF 2882
2875 ACC0
2876 C_CALL1 ml_string_length
2878 PUSHACC2
2879 GTINT
2880 BRANCHIFNOT 2889
2882 GETGLOBAL "String.index_from"
2884 PUSHGETGLOBALFIELD Pervasives, 2
2887 APPTERM1 4
2889 ACC2
2890 PUSHACC2
2891 PUSHACC2
2892 C_CALL1 ml_string_length
2894 PUSHACC3
2895 PUSHENVACC1
2896 APPTERM 4, 7
2899 RESTART
2900 GRAB 1
2902 ACC1
2903 PUSHCONST0
2904 PUSHACC2
2905 C_CALL1 ml_string_length
2907 PUSHACC3
2908 PUSHENVACC1
2909 APPTERM 4, 6
2912 ACC0
2913 PUSHGETGLOBALFIELD Char, 2
2916 PUSHENVACC1
2917 APPTERM2 3
2919 ACC0
2920 PUSHGETGLOBALFIELD Char, 3
2923 PUSHENVACC1
2924 APPTERM2 3
2926 RESTART
2927 GRAB 1
2929 CONST0
2930 PUSHACC2
2931 C_CALL1 ml_string_length
2933 EQ
2934 BRANCHIFNOT 2939
2936 ACC1
2937 RETURN 2
2939 ACC1
2940 PUSHENVACC1
2941 APPLY1
2942 PUSHCONST0
2943 PUSHACC3
2944 GETSTRINGCHAR
2945 PUSHACC2
2946 APPLY1
2947 PUSHCONST0
2948 PUSHACC2
2949 SETSTRINGCHAR
2950 ACC0
2951 RETURN 3
2953 ACC0
2954 PUSHGETGLOBALFIELD Char, 2
2957 PUSHENVACC1
2958 APPTERM2 3
2960 ACC0
2961 PUSHGETGLOBALFIELD Char, 3
2964 PUSHENVACC1
2965 APPTERM2 3
2967 RESTART
2968 GRAB 1
2970 ACC1
2971 C_CALL1 ml_string_length
2973 PUSHCONST0
2974 PUSHACC1
2975 EQ
2976 BRANCHIFNOT 2981
2978 ACC2
2979 RETURN 3
2981 ACC0
2982 C_CALL1 create_string
2984 PUSHCONST0
2985 PUSHACC2
2986 OFFSETINT -1
2988 PUSH
2989 BRANCH 3005
2991 CHECK_SIGNALS
2992 ACC1
2993 PUSHACC6
2994 GETSTRINGCHAR
2995 PUSHACC5
2996 APPLY1
2997 PUSHACC2
2998 PUSHACC4
2999 SETSTRINGCHAR
3000 ACC1
3001 OFFSETINT 1
3003 ASSIGN 1
3005 ACC0
3006 PUSHACC2
3007 LEINT
3008 BRANCHIF 2991
3010 CONST0
3011 POP 2
3013 ACC0
3014 RETURN 4
3016 CONST0
3017 PUSHCONST0
3018 PUSHACC2
3019 C_CALL1 ml_string_length
3021 OFFSETINT -1
3023 PUSH
3024 BRANCH 3062
3026 CHECK_SIGNALS
3027 ACC1
3028 PUSHACC4
3029 GETSTRINGCHAR
3030 PUSHACC0
3031 PUSHGETGLOBAL "\000\"\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
3033 C_CALL2 bitvect_test
3035 BRANCHIFNOT 3041
3037 CONST0
3038 CONST2
3039 BRANCH 3051
3041 ACC0
3042 C_CALL1 is_printable
3044 BRANCHIFNOT 3049
3046 CONST1
3047 BRANCH 3051
3049 CONSTINT 4
3051 POP 1
3053 PUSHACC3
3054 ADDINT
3055 ASSIGN 2
3057 ACC1
3058 OFFSETINT 1
3060 ASSIGN 1
3062 ACC0
3063 PUSHACC2
3064 LEINT
3065 BRANCHIF 3026
3067 CONST0
3068 POP 2
3070 ACC1
3071 C_CALL1 ml_string_length
3073 PUSHACC1
3074 EQ
3075 BRANCHIFNOT 3080
3077 ACC1
3078 RETURN 2
3080 ACC0
3081 C_CALL1 create_string
3083 PUSHCONST0
3084 ASSIGN 1
3086 CONST0
3087 PUSHACC3
3088 C_CALL1 ml_string_length
3090 OFFSETINT -1
3092 PUSH
3093 BRANCH 3248
3095 CHECK_SIGNALS
3096 ACC1
3097 PUSHACC5
3098 GETSTRINGCHAR
3099 PUSHACC0
3100 PUSHGETGLOBAL "\000\000\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
3102 C_CALL2 bitvect_test
3104 BRANCHIFNOT 3123
3106 CONST0
3107 CONSTINT 92
3109 PUSHACC5
3110 PUSHACC5
3111 SETSTRINGCHAR
3112 ACC4
3113 OFFSETINT 1
3115 ASSIGN 4
3117 ACC0
3118 PUSHACC5
3119 PUSHACC5
3120 SETSTRINGCHAR
3121 BRANCH 3236
3123 CONSTINT 13
3125 PUSHACC1
3126 EQ
3127 BRANCHIFNOT 3146
3129 CONSTINT 92
3131 PUSHACC5
3132 PUSHACC5
3133 SETSTRINGCHAR
3134 ACC4
3135 OFFSETINT 1
3137 ASSIGN 4
3139 CONSTINT 110
3141 PUSHACC5
3142 PUSHACC5
3143 SETSTRINGCHAR
3144 BRANCH 3236
3146 CONSTINT 9
3148 PUSHACC1
3149 EQ
3150 BRANCHIFNOT 3169
3152 CONSTINT 92
3154 PUSHACC5
3155 PUSHACC5
3156 SETSTRINGCHAR
3157 ACC4
3158 OFFSETINT 1
3160 ASSIGN 4
3162 CONSTINT 116
3164 PUSHACC5
3165 PUSHACC5
3166 SETSTRINGCHAR
3167 BRANCH 3236
3169 ACC0
3170 C_CALL1 is_printable
3172 BRANCHIFNOT 3180
3174 ACC0
3175 PUSHACC5
3176 PUSHACC5
3177 SETSTRINGCHAR
3178 BRANCH 3236
3180 ACC0
3181 PUSHCONSTINT 92
3183 PUSHACC6
3184 PUSHACC6
3185 SETSTRINGCHAR
3186 ACC5
3187 OFFSETINT 1
3189 ASSIGN 5
3191 CONSTINT 100
3193 PUSHACC1
3194 DIVINT
3195 PUSHCONSTINT 48
3197 ADDINT
3198 PUSHACC6
3199 PUSHACC6
3200 SETSTRINGCHAR
3201 ACC5
3202 OFFSETINT 1
3204 ASSIGN 5
3206 CONSTINT 10
3208 PUSHCONSTINT 10
3210 PUSHACC2
3211 DIVINT
3212 MODINT
3213 PUSHCONSTINT 48
3215 ADDINT
3216 PUSHACC6
3217 PUSHACC6
3218 SETSTRINGCHAR
3219 ACC5
3220 OFFSETINT 1
3222 ASSIGN 5
3224 CONSTINT 10
3226 PUSHACC1
3227 MODINT
3228 PUSHCONSTINT 48
3230 ADDINT
3231 PUSHACC6
3232 PUSHACC6
3233 SETSTRINGCHAR
3234 POP 1
3236 POP 1
3238 ACC3
3239 OFFSETINT 1
3241 ASSIGN 3
3243 ACC1
3244 OFFSETINT 1
3246 ASSIGN 1
3248 ACC0
3249 PUSHACC2
3250 LEINT
3251 BRANCHIF 3095
3253 CONST0
3254 POP 2
3256 ACC0
3257 RETURN 3
3259 ENVACC1
3260 C_CALL1 ml_string_length
3262 PUSHENVACC3
3263 GETFIELD0
3264 PUSHENVACC2
3265 PUSHCONST0
3266 PUSHENVACC1
3267 C_CALL5 blit_string
3269 ENVACC1
3270 C_CALL1 ml_string_length
3272 PUSHENVACC3
3273 GETFIELD0
3274 ADDINT
3275 PUSHENVACC3
3276 SETFIELD0
3277 ACC0
3278 C_CALL1 ml_string_length
3280 PUSHENVACC3
3281 GETFIELD0
3282 PUSHENVACC2
3283 PUSHCONST0
3284 PUSHACC4
3285 C_CALL5 blit_string
3287 ACC0
3288 C_CALL1 ml_string_length
3290 PUSHENVACC3
3291 GETFIELD0
3292 ADDINT
3293 PUSHENVACC3
3294 SETFIELD0
3295 RETURN 1
3297 ENVACC1
3298 OFFSETREF 1
3300 ACC0
3301 C_CALL1 ml_string_length
3303 PUSHENVACC2
3304 GETFIELD0
3305 ADDINT
3306 PUSHENVACC2
3307 SETFIELD0
3308 RETURN 1
3310 RESTART
3311 GRAB 1
3313 ACC1
3314 BRANCHIFNOT 3377
3316 ACC1
3317 GETFIELD0
3318 PUSHCONST0
3319 MAKEBLOCK1 0
3321 PUSHCONST0
3322 MAKEBLOCK1 0
3324 PUSHACC4
3325 PUSHACC1
3326 PUSHACC3
3327 CLOSURE 2, 3297
3330 PUSHGETGLOBALFIELD List, 9
3333 APPLY2
3334 ACC1
3335 GETFIELD0
3336 OFFSETINT -1
3338 PUSHACC4
3339 C_CALL1 ml_string_length
3341 MULINT
3342 PUSHACC1
3343 GETFIELD0
3344 ADDINT
3345 C_CALL1 create_string
3347 PUSHACC3
3348 C_CALL1 ml_string_length
3350 PUSHCONST0
3351 PUSHACC2
3352 PUSHCONST0
3353 PUSHACC7
3354 C_CALL5 blit_string
3356 ACC3
3357 C_CALL1 ml_string_length
3359 MAKEBLOCK1 0
3361 PUSHACC6
3362 GETFIELD1
3363 PUSHACC1
3364 PUSHACC3
3365 PUSHACC 8
3367 CLOSURE 3, 3259
3370 PUSHGETGLOBALFIELD List, 9
3373 APPLY2
3374 ACC1
3375 RETURN 7
3377 GETGLOBAL ""
3379 RETURN 2
3381 RESTART
3382 GRAB 4
3384 CONST0
3385 PUSHACC5
3386 LTINT
3387 BRANCHIF 3417
3389 CONST0
3390 PUSHACC2
3391 LTINT
3392 BRANCHIF 3417
3394 ACC0
3395 C_CALL1 ml_string_length
3397 PUSHACC5
3398 PUSHACC3
3399 ADDINT
3400 GTINT
3401 BRANCHIF 3417
3403 CONST0
3404 PUSHACC4
3405 LTINT
3406 BRANCHIF 3417
3408 ACC2
3409 C_CALL1 ml_string_length
3411 PUSHACC5
3412 PUSHACC5
3413 ADDINT
3414 GTINT
3415 BRANCHIFNOT 3424
3417 GETGLOBAL "String.blit"
3419 PUSHGETGLOBALFIELD Pervasives, 2
3422 APPTERM1 6
3424 ACC4
3425 PUSHACC4
3426 PUSHACC4
3427 PUSHACC4
3428 PUSHACC4
3429 C_CALL5 blit_string
3431 RETURN 5
3433 RESTART
3434 GRAB 3
3436 CONST0
3437 PUSHACC2
3438 LTINT
3439 BRANCHIF 3455
3441 CONST0
3442 PUSHACC3
3443 LTINT
3444 BRANCHIF 3455
3446 ACC0
3447 C_CALL1 ml_string_length
3449 PUSHACC3
3450 PUSHACC3
3451 ADDINT
3452 GTINT
3453 BRANCHIFNOT 3462
3455 GETGLOBAL "String.fill"
3457 PUSHGETGLOBALFIELD Pervasives, 2
3460 APPTERM1 5
3462 ACC3
3463 PUSHACC3
3464 PUSHACC3
3465 PUSHACC3
3466 C_CALL4 fill_string
3468 RETURN 4
3470 RESTART
3471 GRAB 2
3473 CONST0
3474 PUSHACC2
3475 LTINT
3476 BRANCHIF 3492
3478 CONST0
3479 PUSHACC3
3480 LTINT
3481 BRANCHIF 3492
3483 ACC0
3484 C_CALL1 ml_string_length
3486 PUSHACC3
3487 PUSHACC3
3488 ADDINT
3489 GTINT
3490 BRANCHIFNOT 3499
3492 GETGLOBAL "String.sub"
3494 PUSHGETGLOBALFIELD Pervasives, 2
3497 APPTERM1 4
3499 ACC2
3500 C_CALL1 create_string
3502 PUSHACC3
3503 PUSHCONST0
3504 PUSHACC2
3505 PUSHACC5
3506 PUSHACC5
3507 C_CALL5 blit_string
3509 ACC0
3510 RETURN 4
3512 ACC0
3513 C_CALL1 ml_string_length
3515 PUSHACC0
3516 C_CALL1 create_string
3518 PUSHACC1
3519 PUSHCONST0
3520 PUSHACC2
3521 PUSHCONST0
3522 PUSHACC6
3523 C_CALL5 blit_string
3525 ACC0
3526 RETURN 3
3528 RESTART
3529 GRAB 1
3531 ACC0
3532 C_CALL1 create_string
3534 PUSHACC2
3535 PUSHACC2
3536 PUSHCONST0
3537 PUSHACC3
3538 C_CALL4 fill_string
3540 ACC0
3541 RETURN 3
3543 CLOSURE 0, 3529
3546 PUSH
3547 CLOSURE 0, 3512
3550 PUSH
3551 CLOSURE 0, 3471
3554 PUSH
3555 CLOSURE 0, 3434
3558 PUSH
3559 CLOSURE 0, 3382
3562 PUSH
3563 CLOSURE 0, 3311
3566 PUSH
3567 CLOSURE 0, 3016
3570 PUSH
3571 CLOSURE 0, 2968
3574 PUSHACC0
3575 CLOSURE 1, 2960
3578 PUSHACC1
3579 CLOSURE 1, 2953
3582 PUSHACC 8
3584 CLOSURE 1, 2927
3587 PUSHACC0
3588 CLOSURE 1, 2919
3591 PUSHACC1
3592 CLOSURE 1, 2912
3595 PUSH
3596 CLOSUREREC 0, 2654
3600 ACC0
3601 CLOSURE 1, 2900
3604 PUSHACC1
3605 CLOSURE 1, 2868
3608 PUSH
3609 CLOSUREREC 0, 2687
3613 ACC0
3614 CLOSURE 1, 2855
3617 PUSHACC1
3618 CLOSURE 1, 2827
3621 PUSHACC5
3622 CLOSURE 1, 2772
3625 PUSHACC3
3626 CLOSURE 1, 2727
3629 PUSHACC1
3630 CLOSURE 1, 2718
3633 PUSHACC 9
3635 PUSHACC 11
3637 PUSHACC 14
3639 PUSHACC 16
3641 PUSHACC5
3642 PUSHACC7
3643 PUSHACC6
3644 PUSHACC 10
3646 PUSHACC 14
3648 PUSHACC 13
3650 PUSHACC 17
3652 PUSHACC 26
3654 PUSHACC 28
3656 PUSHACC 30
3658 PUSHACC 32
3660 PUSHACC 34
3662 PUSHACC 36
3664 PUSHACC 38
3666 MAKEBLOCK 18, 0
3669 POP 22
3671 SETGLOBAL String
3673 GETGLOBAL ""
3675 PUSHCONSTINT 20
3677 C_CALL2 make_vect
3679 PUSHCONSTINT 20
3681 C_CALL1 weak_create
3683 PUSHCONST0
3684 PUSHCONSTINT 19
3686 PUSH
3687 BRANCH 3715
3689 CHECK_SIGNALS
3690 CONSTINT 115
3692 PUSHCONSTINT 20
3694 PUSHGETGLOBALFIELD String, 0
3697 APPLY2
3698 PUSHACC2
3699 PUSHACC5
3700 SETVECTITEM
3701 ACC1
3702 PUSHACC4
3703 GETVECTITEM
3704 MAKEBLOCK1 0
3706 PUSHACC2
3707 PUSHACC4
3708 C_CALL3 weak_set
3710 ACC1
3711 OFFSETINT 1
3713 ASSIGN 1
3715 ACC0
3716 PUSHACC2
3717 LEINT
3718 BRANCHIF 3689
3720 CONST0
3721 POP 2
3723 CONST0
3724 C_CALL1 gc_full_major
3726 CONST0
3727 PUSHCONSTINT 19
3729 PUSH
3730 BRANCH 3753
3732 CHECK_SIGNALS
3733 ACC1
3734 PUSHACC3
3735 C_CALL2 weak_get
3737 PUSHACC0
3738 BRANCHIF 3745
3740 GETGLOBAL Not_found
3742 MAKEBLOCK1 0
3744 RAISE
3745 CONST0
3746 POP 1
3748 ACC1
3749 OFFSETINT 1
3751 ASSIGN 1
3753 ACC0
3754 PUSHACC2
3755 LEINT
3756 BRANCHIF 3732
3758 CONST0
3759 POP 2
3761 CONST0
3762 PUSHCONSTINT 19
3764 PUSH
3765 BRANCH 3785
3767 CHECK_SIGNALS
3768 CONST0
3769 PUSHCONST2
3770 PUSHACC3
3771 MODINT
3772 EQ
3773 BRANCHIFNOT 3780
3775 GETGLOBAL ""
3777 PUSHACC2
3778 PUSHACC5
3779 SETVECTITEM
3780 ACC1
3781 OFFSETINT 1
3783 ASSIGN 1
3785 ACC0
3786 PUSHACC2
3787 LEINT
3788 BRANCHIF 3767
3790 CONST0
3791 POP 2
3793 CONST0
3794 C_CALL1 gc_full_major
3796 CONST0
3797 PUSHCONSTINT 19
3799 PUSH
3800 BRANCH 3854
3802 CHECK_SIGNALS
3803 ACC1
3804 PUSHACC3
3805 C_CALL2 weak_get
3807 PUSHACC0
3808 BRANCHIFNOT 3832
3810 CONST1
3811 PUSHCONST2
3812 PUSHACC4
3813 MODINT
3814 EQ
3815 BRANCHIFNOT 3842
3817 CONSTINT 115
3819 PUSHCONSTINT 5
3821 PUSHACC2
3822 GETFIELD0
3823 GETSTRINGCHAR
3824 NEQ
3825 BRANCHIFNOT 3847
3827 GETGLOBAL Not_found
3829 MAKEBLOCK1 0
3831 RAISE
3832 CONST0
3833 PUSHCONST2
3834 PUSHACC4
3835 MODINT
3836 EQ
3837 BRANCHIFNOT 3842
3839 CONST0
3840 BRANCH 3847
3842 GETGLOBAL Not_found
3844 MAKEBLOCK1 0
3846 RAISE
3847 POP 1
3849 ACC1
3850 OFFSETINT 1
3852 ASSIGN 1
3854 ACC0
3855 PUSHACC2
3856 LEINT
3857 BRANCHIF 3802
3859 CONST0
3860 POP 4
3862 ATOM0
3863 SETGLOBAL T340-weak
3865 STOP
**)