Caml1999T037Bn C'PollingР$Mach$Mach2asmcomp/polling.mlTkpTkt@@ 3@@@@@@#intA;@@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@ A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@#@@@A@@@@@$@A@$unitF;@@"()e@@.@@@A@@@@@/@A@ #exnG;@@@A@@@@@3@@@#effH;@@O@A@A@@@@@@<@@@,continuationI;@@Q@@P@B@A@nY@@@@@@K@@@%arrayJ;@@R@A@A@@@@@@U@@@ $listK;@@S@A"[]f@@b@"::g@@@T@@o@ @@A@Y@@@@@r@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@AϠ=ocaml.warn_on_literal_patternӐ@@0Division_by_zero]#@@@A٠  @+End_of_file\#$@@@Aᠰ@'FailureY#,@'@@A꠰@0Invalid_argumentX#5@0@@A󠰠$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A$U'T'@)Sys_error[#o@j@@A-^0]0@:Undefined_recursive_modulea#x@@w@s@u@@h@@A>oAnA@:Continuation_already_takenb#@@@AFwIvI@&Stdlib@@@@A3wvvwwwww@v@@Tkk~@@@3|{{|||||@z@@Р*Format_doc*Format_docUuzUu@@ 3@@@@@A3@@@Uuu@@ @3@@@#IntbAWW@FAAР'Numbers#Int'NumbersWW@ WW@@@3@)@@@@W@@&StringBXX@GAAР$Misc&Stdlib&String$MiscXX@ XX@@XX@ @ @3@ZPAH@3K@@@@X @ @@ఠ !function_is_assumed_to_never_pollZZ@HA@@@&stringQ@@@'C@ $boolE@@@ C@ @@ C@ 3@+SAK@*N@@@࣠@$funcA&Z'Z@9IA@@#3%$$%%%%%@0.Z/\O@@@@@  @@డ"||;\!<\#@@/@@@P@5@@@O9@@@N@@M@@L'%sequorBA @@@@*stdlib.mli@@&Stdlib^@@@@@@@ @@@@ S@@@ @@ @@ 3baabbbbb@>Jc@A@B@@@@డ+starts_with&Stringz[{[@ ~[[@@&prefix}@@@ @@@@ $boolE@@@ @@ @@ @*string.mli%@@.Stdlib__StringM@"@@@@@@@@@@@@@@@@B@'*caml_apply[[@@[ [@@4@@@F@F@V@@ఐ$func[[@`@@c@@Q@@@@@ @F@k@@డ+starts_with&String\$\*@ \+\6@@h@@hf@@@@@@@e@@@@@@@@u)caml_send\@\I@@\?\J@@@@@(F@*F@)@@ఐ$func\K@@@@@6@@@@@ @,F@&@@@@@A@C@.@A@@@ A+-polling_pointC-_._@@;@@%Alloc@@7_8_@@JKA$Poll@@@_A_@@SLA-Function_call@@I_J_@@\MA-External_call @@R_S_@@eNA@@A@@@@@V_@@A@hJA@#((&%@$@@@(@#$$b_"@!@@@%@#!!h_@@@@"@#n_@@@@@@A@@@@3lkklllll@[xq@r@s@@A+%error D}`~`@@;@@*Poll_error @i@@@5@)Debuginfo!t@@@@@@@@@@`` @@PA@@A@@@@@`@@@AOA@#%% `@ @г&$list`@В@г*-polling_point``@@23@RK;@@@A@@@@@$@@@"@@@@@г4)Debuginfo``@9``@@@C@@@N@@@S`<@@@@>@@A@:@@:=@3@@@%ErrorEb b @#@v@@@@@Ab  b %@@QA@г %errorb   @@3@=@@@@@@@@@A+.unsafe_or_safeF q   q  @@;@@&Unsafe@@q  "q  (@@(SA$Safe@@q  )q  /@@1TA@@A@@@@@"q  @@A@4RA@#@@@@@#.q  +@@@@@@A@@@@3,++,,,,,@4PJ@@.Unsafe_or_safe(G=s 1 8>s 1 F@P]A@БA+!tHLt P WMt P X@@;@@@AM@@@@@@@Vt P RWt P i@@A@iUA@@Aг .unsafe_or_safe`t P [ @@3\[[\\\\\@2]W;@@@A$@@@@@@@@@@@@@@@@@@3jiijjjjj@ @@@ఠ#bot{v k q|v k t@VA@@}@@@I@3@$?9@@@ภ&Unsafev k wv k }@;~@@@@@@@B@@A@@}@@@@@@@A@v k m @@ @@ఠ$join x  x  @WA@@@/@@@I@@8@@@I@=@@@I@@@I@@@I@3@=LE@F@G@@@࣠@"t1"Ax  x  @XA@@%3@2x  }  @@@@@  @@"t2#Ax  x  @YA@@03@!<@@@@@@@@@ఐ-"t1y  y  @@@N3@"H@@@@@@ఐ("t2y   y  @ @@T@@@@@b@[@@@@Ġ&Unsafe$z  %z  @@@@@y@,@@Ġ&Unsafe0z  1z  @@@@@|@8@@@@@@@@?@@?@@Ġ&UnsafeG{  H{  @@@@@@P@@Ġ$SafeT{  U{  @;<@@@AB@@A;@@8@@@@@_@@@@@@ @@f@@f@@?@@@@@@m@@Ġ$Safeu|  v|  @!@@@@@~@@Ġ&Unsafe|  |  @@@@@@@@@@@@ @@@@@@k @@@堠@@@@@@ภ&Unsafe|  |  @@@@@@Ġ$Safe}  }  @X@@@@@@@Ġ$Safe}  }  @e@@@@@@@@@@@ @@@@@@@@@@@ภ$Safe}  @|@@@@@@Ay  @@@A@,I@@A@@@@ఠ)lessequal$    @ZA@@@m@@@I@@v@@@I@ @@@9I@ @@ I@@@I@3@@`Y@Z@[@@@࣠@"t1&A    @![A@@&3        @3  D v @@@@@  @@"t2'A"  #  @5\A@@13!  !!!!!@!=@@@@@@@@@ఐ-"t18@  )9@  +@@@O365566666@"I@@@@@@ఐ("t2G@  -H@  /@ @@U@@@@@c@\@@@@Ġ&UnsafecA 5 ;dA 5 A@@@@@z@,@@Ġ&UnsafeoA 5 CpA 5 I@@@@@}@8@@@@@@@@?@@?@@Ġ&UnsafeB J PB J V@@@@@@P@@Ġ$SafeB J XB J \@?@@@@@]@@@@@@ @@#d@@d@@= @@@@@@$k@@Ġ$SafeC ] cC ] g@^@@@@@%|@@Ġ$SafeC ] iC ] m@k@@@@@&@@@@@@ @@+@@@@i @@@䠠@@@-@@@ภ$trueC ] qC ] u@;@@@M@@@AB@@A@@@@@@@Ġ$SafeD v |D v @@@@@@/@@Ġ&UnsafeD v D v @n@@@@ @0@@@@@@ @@5@@@@@@6@@@ภ%falseD v @;:@@@@B@@A@@@@@@@@A@  #@@@ A@2I@O @A@@@@A@^@!@E>@?@@@@3!  !!!!!@'H@@)s 1 I*E  @3'&&'''''@@@@@.s 1 1@@3PolledLoopsAnalysis3I:G  ;G  @M^A@гР(Dataflow(Backward(DataflowLG  MG  @ PG  QG  @@@!D,(Dataflow&DOMAIN'analyze-*exnhandler&optionL@!t@@@f!t@@@e@@d@@@c)exnescape!t@@@b@@@a(transfer@$Mach+instruction@@@`$next+!t@@@_#exn4!t@@@^9!t@@@]@@\@@[@@Z@!+instruction@@@Y@J!t@@@U@@#intA@@@XY!t@@@W@@V@@T@@S@@R@@Q@@P@4asmcomp/dataflow.mli^~b>_@@wL@@@3@s@A@e@<@@@@@@@Р.Unsafe_or_safeG  G  @@A@x,@O@@@@@G  @2@"@@@&@@@@@@@@0@@@@@@@@@@?@@@E@@@I~@@@@@@@@@@}|@@@@W{@@@@@z@@@bw@@@@@@@@@@@@@@@@v@r@@q@@FG  S@T@t@ఠ5polled_loops_analysis4SI  TI  @f_A@@@@@@K@@@@@@@@@@K@@@K@3gffggggg@9@zy@@@-6@@@࣠@'funbody6A}I  ~I  @`A@@&3|{{|||||@3I  Y  ?@@@@@  @@@ఠ(transfer7J  J  @aA@@@$Mach+instruction@@@M@$next,@@@wM@#exn M@ M@@@M@@@M@@@M@3@9Ea@<@=@@@࣠@!i9AJ  J  @bA@@03@=J  U ] r@@@@@  @++:A/J  J  @cA@@33@ F@@@@@@J  @11;A5J  J  @dA@@93@G@@@@@@J  @@ఐ@@S@uk@ఐ$next bR   cR  @s@@v@ fP  @@x@Ġ'Ireturn qS   rS  @;'Ireturn@@@ABG@AZU  [U  @@@x@@@  @@j@@@ {@@m@@@ ~@@@ภ$Safe S   S  @3@@@@Ġ+Iifthenelse T   T  $@;+Iifthenelse'@$test@@@N @@@O@@@P@CABG@AV  V  B@@@y@@ T  % T  &@@@@@@@@ @@@@@ @%@@@@@@*@@@@@@@@Ġ'Iswitch T  ) T  0@;'Iswitch\@ @@@R@@@QG@@@T@@@S@BBBG@AW C EW C o@@@Kz@@ T  1 T  2@@@@@@@@@@ @a@@@@@@@@@2@@@@@@@@@k@@@@@ @Ġ&Icatch T  5 T  ;@;&Icatch@(rec_flag@@@U$listK@Y@@@X@@@@Y@@W@@@V@@@Z@CCBG@AX p rX p @@@{@@ >T  < ?T  =@@)@@@)@@@@'@$@@@,@@@@-@@+@@@*R@@@@@@.W@@@I@@J@@@/[@@[@@ @@N@@@0_@Ġ%Iexit jT  @ kT  E@;%Iexit@@@@[@ADBG@AXY  YY  @@@|@@ {T  F |T  G@@@@@4}@@@@@p@@@5@@@@ @@t@@@6@Ġ(Itrywith T  J T  R@;(Itrywith@@@@\@@@]@BEBG@AZ  Z  @@@}@@ T  S T  T@@ @@@;@@@@@@<@@@ @@@@@=@@@@@@@@@?@@@ఐ堐$next T  X T  \@ΰ@@@Ġ&Iraise U ] c U ] i@;&IraiseU@&Lambda*raise_kind@@@^@AFBG@A[  [  @@@:~@@ U ] j U ] k@@@@@D@@@@@@@@E@@@@@F@@@ఐ #exn U ] o#@$@@<@@@A K  &@@>q@0'A@`M@.@A@+@డ #snd Y   Y  @@@!a@y@!b@w@@~@@}'%field1AA Ƞ@@@  n n   n n5@@ @@@@@Gk@@@L@@L@@@@@3 ) ( ( ) ) ) ) )@v@@@@@@డ'analyze3PolledLoopsAnalysis AY   BY  @  EY   FY  @@@q@@@u@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@^@@@@@@@@&@@@@@@@@@@@@@@@@@QL@@-+@I@@@H@@@@@@@@#9G@@@@@@@F@@@E@@@D@@@C@@@@@@@@@@b@@@@@@@@@ @@@h@@@@@@@@@@@@@@@@nภ$None ; 0 = :@@W@@@@AA@A @@ 3@ @x@@@@@@@@@@@@@pภ$Some ; D@ BA@AA@A @@ Bภ$Safe Y  ( Y  ,@@@@@@@N@@@@ g @@@@ఐ(transferY  .Y  6@@@@@@@@@@@@@@@@@@@@@@N@@@ఐ'funbody6Y  77Y  >@}@@ @@:Y  @@@@@@M@N@@@D@@@x@@@A@K@@A@@@ߠA+1polls_before_prtcKTU @@;@@.Might_not_pollې@@^_@@qiA,Always_pollsܐ@@gh-@@zjA@@A@@@@@k@@A@}hA@#@@@@@#w!@@@@@@A@@@@3uttuuuuu@-&@'@(@@1Polls_before_prtcL/6/G@sA@БA+!tMQXQY@@;@@ JAM@@@$@@@@QSQm@@A@kA@@Aг 1polls_before_prtcQ\ @@3@2]W;@@@A#@@@)@#@@@@@@@@@@@@@@3@ @@@ఠ#botޠouox@lA@@}@@@-N@+3@$>8@@@ภ,Always_pollso{o@;u@@@"@@@AB@@Aw@@t@@@@@@.@A@oq @@ @@ఠ$joinߠ@mA@@@/@@@DN@0@8@@@EN@5=@@@cN@6@@7N@1@@2N@/3@=LE@F@G@@@࣠@"t1A@+nA@@%3@2 !/_@@@@@  @@"t2A,-@?oA@@03+**+++++@!<@@@@@@@@@ఐ-"t1BC@@@N3@??@@@@@@"H@@@@@@ఐ("t2QR@ @@T@@@@@b@[@@>@@Ġ.Might_not_pollmn@;@@@@B@@A@@@@@@{@@.@@Ġ.Might_not_poll{|@@@@@~@A:@@@@@@@@FA@@A@@Ġ.Might_not_poll@%@@@@@GR@@Ġ,Always_polls@@@@@@H_@@@@@@ @@Mf@@f@@? @@@@@@Nm@@Ġ,Always_polls @@@@@@O~@@Ġ.Might_not_poll@^@@@@@P@@@@@@ @@U@@@@k @@@堠@@@W@@@ภ.Might_not_poll .@w@@@@@Ġ,Always_polls/5/A@@@@@@Y@@Ġ,Always_polls/C/O@,@@@@@Z@@@@@@ @@_@@@@@@`@@@ภ,Always_polls/S@C@@@@@@A@@@A@,N@y@A@@@@ఠ)lessequal-ag.ap@@pA@@@m@@@N@{@v@@@N@ I@@@N@@@N@|@@}N@z3CBBCCCCC@?_X@Y@Z@@@࣠@"t1AVaqWas@iqA@@%3UTTUUUUU@2^ac_+@@@@@  @@"t2Ajatkav@}rA@@03ihhiiiii@!<@@@@@@@@@ఐ-"t1yy@@@N3~}}~~~~~@"H@@@@@@ఐ("t2yy@ @@T@@@@@b@[@@@@Ġ,Always_polls@@@@@y@,@@Ġ,Always_polls@@@@@|@8@@@@@@@@?@@?@@Ġ,Always_polls@@@@@@P@@Ġ.Might_not_poll@n@@@@@]@@@@@@ @@d@@d@@= @@@@@@k@@Ġ.Might_not_poll@@@@@@|@@Ġ.Might_not_poll@@@@@@@@@@@@ @@@@@@i @@@㠠@@@@@@ภ H @ G@@@@@Ġ.Might_not_poll01@@@@@@@@Ġ,Always_polls=>"@g@@@@@@@@@@@ @@@@@@@@@@@ภ BT&@ A@@@@@@AWy}@@@A@(N@@A@@@@A@T@w@;4@5@6@@3`__`````@>@@h/Ji,/@3feefffff@@@@@m//@@,PTRCAnalysisNy18z1D@tA@гР ?(Backward(Dataflow1G1O@ 1P1X@@@ = ; 6 4@@3@@ A@@X@{@@@@8@@@Р%1Polls_before_prtc1Y1j@@A@@k@S@@@@/1k@ Z Y W@" S@@@& R@@@@@@@@ Q g0 O@@@@@@ N@ L I@@@  H? F@@@  EE C@@@ I B@@@ @@ @@@@@ A @@@@@W ?@@@@@ >@@@b ;@@@@@@@@@@@@@@@@ :@ 6@@q@@ 11S@T@t@ఠ>potentially_recursive_tailcallmqm@*uA@@0future_funcnamesb#Set!t@@@ P@@  @@@$P@ |@@@$P@@@P@@@P@365566666@@@@@8@@@࣠&&A*KmLm@^vA@@.3JIIJJJJJ@=SmmT=k@@@@@Vm @@'funbodyA`mam@swA@@53_^^_____@!F@@@@@@@@@ఠ(transferst@xA@@@ @@@2S@ $next@@@"S@%#exn S@* S@+@@,S@&@@'S@!@@"S@3@1=h@4@5@@@࣠@!iA@yA@@+3@8"7@@@@@  @++A/@zA@@33@ A@@@@@@@11A5@{A@@93@G@@@@@@@@ఐ?@`@@g@@>@@Y@"j@ఐ$nextLM@@@u@P_e@@w@Ġ'Ireturn[\@ @@@@ M@@@p@@ P@@@q@@@ภ,Always_pollsjk@@@@@Ġ+Iifthenelse@ @@@ @@@x@@@ @@@y@@ @ @@@z@@@@@ @@@{@@@Ġ'Iswitch@ Π@@@ Р @@@@@@@@ @ Ϡ @@@@@@@@@@@ @@@@@@@<@@ @@@@Ġ&Icatch@ @@@ @@@@@@ @ @@@@ A@@@@@@@@@@@ G@@@ @@@"@@ @@@ @@ @@m @@ @@@@Ġ%Iexit @ @  @@ @@@#@@@ @@ @@@'@@'@@ @@ @@@+@Ġ(Itrywith@ @@@ {@@@=@@@ @@@B@@@ @@ @@@F@@F@@@@ @@@J@@@ఐ|$next/0!@e@@T@Ġ&Iraise<"(=".@ r@A"/B"0@@ t@@@h@@@ @@ 6@@@l@@ 9@@@o@@@ఐ#exnT"4@u@@x@@@AW@@]@A@S@$O@A@@డ#fstd=?e=B@@@!a@{@!b@}@@| @@{'%field0AA*@@@(mm)mm@@'~@@@@@QR@$R@@@@@$@@@$@@$R@$T@@$S@@$Q3@(!@"@#@@@@డ-'analyze,PTRCAnalysis=D=P@ =Q=X@@KI@E@@@$qD@@@$p@@$o@@@$nCY"A@@@$m@@@$l@@>;@@@$k:18@@@$j775@@@$i;4@@@$h@@$g@@$f@@$e@@@@$d@@@@$`@@.@@@$cd@@@$b@@$a@@$_@@$^@@$]@@$\@@$[@)@%QL@@@I@@@$H@@@$@@$@@@$G@@@$@@@$@F@@@$E@@@${D@@@$C@@@$@@$~@@$}@@$|@@@@${@@@@$w@@p@@@$z@@@$y@@$x@@$v@@$u@@$t@@$s@@$r@Րภ g f@@ؠ@@@@$@@@$@@$@@@$@Аภ z% y@%@@@@$@@@$@ѐఐ(transfere=Zf=b@а@@@@@@$@@@$@@@$@@@$@@$@@$@@$T@$@@ఐ)'funbody=c=j@@@Z@@=C7@@@ @ @@$YS@$T@$@@2B@@@C@@@BDA@}P@$K@A@H@HG@`@ఠ(add_poll@~A@@@@@@%P@$@@@%P@$@@$P@$3@~@@@@@࣠@!iA@A@@3@)b@@@@@  @@డ0instr_cons_debug$Mach@ *@@@@@@@ˠ!t@@@@@@@ؠ!t@@@@@@@!t@@@@s@@@v@@@@@~@@}@@|@@{@@z@ln1@@x@<7@@@ @@@$@43@@@$@@@$@0/@@@$@@@$@,@@@$@@@@$@@@$@@$@@$@@$@@$@@$3:99:::::@v@y@z@@@@ภ#IopK,L/@ภ%IpollT1U6@Xຐ3L[@@@%N@@@)dd*""@@@@@  @@!iA5d6d@HBA@@-343344444@!H@@@@@@@@@ఠ2add_unsafe_handlerHI@[CA@@@X!t@@@. S@%Q@@iS@%Y@@@%Z@@%[S@%VS@%W@@%XS@%R@@%SS@%P3baabbbbb@/;^@2@3@@@࣠@#ubeAuv@DA@@)3tssttttt@6}~@@@@@  @@%paramA@ఠ!k@EA@@23@'F@@@@@@@@@8 @@@@@B@A@@%]@@ @@ఐ,handler_safe@y@@3@#,W@&@'@@@@ఐ3!k@ @@d@@@@@Ġ$Safe@|@@@@@@@@@ఐh#ube@G@@w(@Ġ&Unsafe@Z@@@@5@@5@@@డR#Set#add#Int@ @@@ @@@@@&@@@@&@@@&@@&@@&@6utils/identifiable.mlill@@+Stdlib__SetF@!@@@$@@@'@@@@'@@@'@@'@@'t@@ఐ!k34@~@@@@ఐΠ#ube@@@@@@H@@@@@AD@@@A@S@.R@A@@Aఠ%instrޠR S@eFA@@@@@@7S@.T@@@@9S@.WS@.X@@.[@@.Z3`__`````@#@@@@@࣠@#ubeAst@GA@@3rqqrrrrr@+@&@#@@.YT@.U@@.VT@.S@-@.@@@@@@!iA@HA@@13@&;@@@@@@@@ఐ!i#$@D@@@@E3@!@@@$desc%)@ @@@@@.f @Ġ+Iifthenelse/5/@@ఠ$test/B/F@IA@@&@@@.n3@&@@@ఠ"i0/H/J@JA@@9@@@.o@ఠ"i1/L/N@KA@@G@@@.p@@@./O@@@@@.q"@@@@@.r%@@@硠$descbjbn@ภ+Iifthenelsebqb|@dఐG$test b~ b@F@G@H@@q@@@.W@.W@.3@tZ KD@E@F>7@8@9@@@ఐӠ%instr%b&b@@@@@@@.@@.@@ఐƠ#ube6b7b@@@$@@ఐq"i0CbDb@,@@US@9S@9S@9S@9S@9S@9S@9 S@9 S@9S@9S@8S@9S@9S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8S@8[S@8S@8S@8YS@8US@8PS@8JS@8GS@8ES@8AS@2,S@2(S@2#S@2S@2S@2S@2S@/S@/S@/ S@/S@/S@/S@.S@.gX@.@@r@@R@ఐn%instrbb@I@@@m@hc@@.@@.@@ఐa#ubebb@A@@|@@ఐ"i1bb@ư@@X@.@@$@@@@b@@@@@.W@.@ա$next@ఐ%instr@@@@@@@.@@.@@ఐ#ube @}@@@@ఐ!i@|@@ @$next#$@ @@X@.@@-@@@  @@@/ @@@/W@/@@@@/@@@/W@/ @@@@/W@/@@@@/W@/A@ఐ̠!iUS[VS\@@@C@YSYZ@@F@Ġ'Iswitchef@ఠ%indexno@LA@@@@@.{@@@.z3tssttttt@@@@ఠ%cases@MA@@@@@.}@@@.|@@@(@@}@@@.~@@@@@.@@@$desc@ภ'Iswitch@ԠఐA%index@@@A@B@@@@@/*@@@/)W@//W@/-3@WD=@>@?@@@డP%Array#map@ !@@@@!a@0!b@0@@1'@%arrayJ@@@1&@@@1%@@1$@@1#@)array.mlirrr@@-Stdlib__ArrayU@)$@@@@W@1S@8WS@8SS@8MS@85S@8BS@8S@8/S@8S@8.S@2.S@2*S@2&S@2 S@2S@2S@/,S@2S@/W@1@@1@A-@@@1>/@@@1@@1@@1q@@ఐ預%instr;#<(@İ@@@@@@1@@1@@ఐܠ#ubeL)M,@@@@@P"Q-@@@@@1@@ఐݠ%cases^._3@@@k@@@1X@2X@1@@ @@l@@@/+W@2X@1@@s4@@e@@@/ W@/(@c$next6>6B@ఐ8%instr6E6J@@@@7@2-@@2 @@2 @@ఐ+#ube6K6N@ @@F@@ఐ!!i6O6P@ @@N@$next6Q6U@ @@^X@2@@-@@S@@@@2@@@2W@2@@@@2%@@@2$W@2!@@@@2)W@2'@@@@2-W@2+A@ఐZ!i@C@@(@W^@@+@Ġ&Icatch_e_k@ఠ"rc_m_o@NA@@@@@.3@_@@@ఠ#hdl _q _t@OA@@@@@@.@~@@@.@@.@@@.@ఠ$body&_v'_z@9PA@@@@@.*@@@;._{@@@@@./@@!@@@.2@@@@ఠ$ube' ?@@RTA@@X@2/3@??@@@@@@QJ@K@LC<@=@>)"@#@$@@@ఐY"rcUV@@@A@@@21@Ġ#Cmmgh@)Recursivelm@@;)Recursive#Cmm(rec_flag@@@3-@@@AB@@A/asmcomp/cmm.mlicc@@@ r@@@@@i@@@3>@@l@@@3A@@@డ$List)fold_left@ @@@@#acc@59@!a@5; @@6u@@6t@ @$listK@@@6s@@6r@@6q@@6p@(list.mli333r@@,Stdlib__List]@(#@@@@gZ@7@@h@0@@@7Z@7@@7Z@7@@7@@7@@'@@@7@@7@@7@@7@@ఐ2add_unsafe_handler@}@@@@@@7@@@'@@7 @@7@@7@@ఐ#ube@l@@@@ఐ#hdl  @@@cP@@@7[@7[@7@@ @@@Ġ#Cmm!"@,Nonrecursive&'@@;,Nonrecursive@@@@B@@Acc@@@q@@@ @@@@@3@@@@@3@@@ఐΠ#ube> ? @@@@@@AB@@@A@D@@@ఠ-instr_handlerOP'@bZA@@@@@@7X@7Ơ@X@7@@7X@7@ @^X@7@@7X@7@@7X@73jiijjjjj@+6/@0@1@@@࣠@A@ఠ!k)*@[A@@)3@<Tc@@@@@ఠ"i0,.@\A@@5@@(/@@@B@>@@7@@ @@@ఠ"i12>2@@]A@@Z@73@/8Z@2@3'U@!@"@@@ఐo%instr2C2H@J@@@n@id@@7@@7@@ఐ$ube'2I2M@c@@"@@ఐK"i02N2P@*@@/@@"@@0@A@2:@@@ఐn!kT]T^@<@@3@ALE@F@G@@@@ఐR"i1T` Tb@ @@Q@@ T\y@@@@Y@@7@'@@X@sA@X@7@A@@@ఠ$body    @ +^A@@X@73        @@@@@@ఐנ%instr )  * @@@@@@@7@@7@@ఐʠ#ube :  ; @@@ @@ఐ!$body G  H @@@Y@7/@@$@@0@A@ N @@G$desc X , 4 Y , 8@ภ&Icatch ` , ; a , A@Nఐn"rc j , C k , E@#@@Z@@@7W@8W@83 o n n o o o o o@Xb[@\@]@@@డ$List#map  G ^  G b@   G c  G f@@@@!a@5o!b@5m@@6N@@@@6M@@@6L@@6K@@6J@@@W@% @@@@@@@@8W@8-W@8(W@8@\@@8%W@8 @@@@8W@8,W@8$W@8 @@8@2"@@@8 1@@@8 @@8 @@8a@@ఐ-instr_handler  G g  G t@°@@@@4@@@8"@:@@@8!@@8 |@@ఐ#hdl  G u  G x@@@fV@@@8X@8*X@8&@@ @@H@@@8W@8+X@8@ఐ$body! z ! z @@@@@! z @@ @@@7W@7@ $next!&  !'  @ఐߠ%instr!1  !2  @@@@@@@88@@87@@ఐҠ#ube!B  !C  @@@@@ఐȠ!i!Q  !R  @@@@$next!X  !Y  @C @@X@8@@@-@@@>?<@@@8L@@@8KW@8H@454@@@8R@@@8QW@8N@./@@@8VW@8T@'(@@@8ZW@8XA@ఐ!i!  %!  &@@@.@!  #!  @@,@C@@-t@@@.#@O@@/N@Ġ%Iexit!  !  @3ఠ!k!  !  @!QA@@;@@@.3!!!!!!!!@ @@@@@@@@@@.@@@@@.@@@డ #Set#mem#Int!  !  @ !  !  @@!  !  @ @@@@@'p@@@@'o$boolE@@@'n@@'m@@'l@@c@@@@@@@8a@@@@8`@@@8_@@8^@@8]3!!!!!!!!@QTM@N@O@@@@ఐ[!k"  "  @ @@ @@@8uX@8t@@ఐ#ube"  "  @@@"@@O@@@@@8X@8k(@ఐ (add_poll"%  "& !@ @@@@@@8@@@8@@8<@@ఐ!i": !"; !@@@I@@@@X@8L@ఐ!i"H!!"I!!@@@W@"L  @@Y@Ġ(Itrywith"W!!"X!!@Ǡఠ$body"`!! "a!!$@"sRA@@@@@.@ఠ#hdl"n!!&"o!!)@"SA@@@@@.@@@"v!!*@@f@@@.@@i@@@.@@@u$desc"!=!E"!=!I@ภ(Itrywith"!=!L"!=!T@ఐH%instr"!=!V"!=![@#@@@G@B=@@8@@83""""""""@HA@B@C;4@5@6@@@@ఐ@#ube"!=!\"!=!_@ @@[@@ఐ]$body"!=!`"!=!d@@@JX@8!@@)@@_"@ఐ{%instr"!=!f"!=!k@V@@@z@up@@8@@83@@ఐn#ube"!=!l"!=!o@N@@@@@ఐ}#hdl"!=!p"!=!s@H@@tX@8O@@$@@P@@d"!=!t@@@@@8W@8W@⡠$next"!v!~"!v!@ఐ%instr# !v!# !v!@@@@@@@8@@8o@@ఐ#ube#!v!#!v!@@@|@@ఐ!i#)!v!#*!v!@@@@$next#0!v!#1!v!@ @@X@8@@-@@@@@@8@@@8W@8@   @@@8@@@8W@8@@@@8W@8@@@@8W@8A@ఐ٠!i#b!.!6#c!.!7@°@@ @#f!.!4#g!!@@ @Ġ$Iend#v!!#w!!@@@@@h@@@.@@@Ġ'Ireturn#!!#!!@@@@@v@@@.@@@@@@z@@@.@Ġ&Iraise#!!#!!@̠@#!!#!!@@@@@.@@@ @@@@@. @@ @@/ @@@@@. @@@ఐ &!i#!!#!!@ @@ N @Ġ#Iop#!!#!!@@#!!#!!@@@@@. "@@@ @@@@@. &@@@@@. )@@@Š@@@9W@9@$next#!!#!!@ఐ %instr#!!#!!@ q@@@ @  @@8@@8 K@@ఐ #ube#!!#!!@ i@@  X@@ఐ !i$!!$ !!@ h@@  g@$next$!!$!!@ @@xX@9 p@@-@@  q@@@@9@@@9 W@9 @@@@9@@@9W@9@@@@9W@9@ޠ@@@9W@9A@ఐ !i$A!!$B!!@ @@  @$E!!$F!!@@  @@@A$H@@ 3$D$C$C$D$D$D$D$D@ @@@ A@@ @  @@;+@@;*S@;( @@@$R @@ఐ %instr$\""$]""@ @@@ @@@;0@@@@;/@@;.@@;-3$d$c$c$d$d$d$d$d@ @@@@డ"#Set%empty#Int$|"" $}"" @ $"" $""@@$""$""@ @ 7@@@&@ w@ sE@@@ @@@@;:S@;@S@;?,@@ఐ m!i$"" v@ 7 w@@ 8@@F x@@ 9@Q y@@  >@ ' z@@  =@  {A@ P@;E @A@ @  ~@ @ఠ8find_poll_alloc_or_calls$""$""6@$_A@@@ @@@= P@;G@!@@@=u@@@@=v@@=tQ@=@@@=P@;H@@;IP@;F3$$$$$$$$@   @ @ @@@࣠@%instrA$""7$""<@$`A@@-3$$$$$$$$@:$""$ &&&@@@@@  @@@ఠ'f_match$"?"E$"?"L@% aA@@@g@@@o?o$@@j@@CA@@@@@&0@@@&pEAk@@&d""&e""@@ @@@;v!@@@)@@@@@;w%@@@ @@@@@;x)@Ġ-Itailcall_ind&w""&x"#@'@@@@@@@;{5@@P@@@@@;|9@Ġ-Itailcall_imm&"#&"#@$@&"#&"#@@&@@@;I@@@ @@@@@;M@@v&"#@@@@@;R@@@|@@@@@;V@@@@@;Y@@@ภ$Some&"#&"#@@ภ-Function_call&"#&"#+@;#q$@@@BD@@A#p@@#m@@@R@<s@@ఐ!i&"#-&"#.@@@@#dbg&"#/&"#2@ @@U@<@@&"#&"#3@@R@<@@1@@@Ġ#Iop&#4#<&#4#?@CĠ(Iextcall&#4#@&#4#H@;(Iextcall4@M@@@?@AEPO@Aracu @@;@@$func@@@@@ rasra@@fo@&ty_res@@(machtype@@@!ss@@tp@'ty_args@@'exttype@@@#@@@" s s@@q@%alloc@@Q@@@$tt@@r@)stack_ofs@@j@@@%!u"u @@s@@EA@@@@@'@@@'SCAt@ঠ%alloc'M#4#K'N#4#P@3$`@@@;&@@C3VU@@@AQ@N3KJ@@AAD@A3>=@@BA2@/3 @@DA@A'@$Ġ ']#4#S'^#4#W@ @@@@3@@@;@@@'d#4#I'e#4#Y@@x@@@;V@;#@@@'l#4#Z@@@@@;(@@@@@`@@@;,@@c@@@;/@@@ภ$Some'}#4#^'~#4#b@@ภ-External_call'#4#d'#4#q@;$>@@@CD@@A$=@@$:@@@}R@<I@@ఐr!i'#4#s'#4#t@X@@W@#dbg'#4#u'#4#x@^ @@U@<`@@'#4#c'#4#y@@R@<e@@1@@f@Ġ#Iop'#z#'#z#@Ġ%Imove'#z#'#z#@;%Imove:@@@@PO@Ahh@@@Xc@@@  @@W@@@;@Ġ&Ispill(#z#(#z#@;&IspillM@@@APO@Aii@@@kd@@@  @@j@@@;@@! @@n@@@;@Ġ'Ireload(#z#(#z#@;'Ireloadd@@@BPO@Ajj@@@e@@@  @@@@@;@@8 @@@@@;@Ġ*Iconst_int(2#z#(3#z#@;*Iconst_int{@)nativeintM@@@@A@PO@A"k#k@@@f@@(E#z#(F#z#@@@@@;@@@@@@@@;@@^ @@@@@; @Ġ,Iconst_float(X#z#(Y#z#@;,Iconst_float@%int64O@@@@AAPO@AHlIl@@@g@@(k#z#(l#z#@@@@@;(@@@@@@@@;,@@ @@@@@;0@Ġ-Iconst_symbol(~##(##@;-Iconst_symbol@ @@@@ABPO@Almmm@@@h@@(##(##@@@@@;L@@@@@@@@;P@@ @@@@@;T@Ġ(Iextcall(##(##@ঠ%alloc(##(##@3@@@;@@C3@@@tA@3@@AuA@3@@BvA@3@@DwA{@xwA@Ġ!(##(##@!@@@@@@@;{@@@(##(##@@@@@;|@;@@@*@@(@@@;@@ @@,@@@;@Ġ,Istackoffset(##(#$@;,Istackoffset"@@@@&@AFPO@Av v #@@@ Eu@@(#$ (#$ @@@@@;@@@@@L@@@;@@ @@P@@@;@Ġ%Iload($ $($ $@;%IloadF@_@@@=@AGPO@Aw$&z@@;@@,memory_chunk@@,memory_chunk@@@'w$3w$S@@ zv@/addressing_mode@@$Arch/addressing_mode@@@( xTc xT@@ w@*mutability@@(Asttypes,mutable_flag@@@) y y@@ x@)is_atomic@@d@@@* (z )z@@ y@@GA@@@@@)@@@)ZBA z@@)N$ $)O$ $ @@N@@@; @@@W@@@@@;@@g @@@@@;@Ġ&Istore)a$ $#)b$ $)@;&Istore@O,memory_chunk@@@+M/addressing_mode@@@,@@@-@CHPO@A ]{ ^{ @@@ {@@)$ $*)$ $+@@@@@;=@@@@@@;B@@ @@@@;G@@@/@@@@@;K@@@@@@@;O@Ġ&Iintop)$ $.)$ $4@;&Iintop@!1integer_operation@@@0@AJPO@A ~   ~  @@@! @@)$ $5)$ $6@@@@@;l@@@@@ @@@;p@@ @@ @@@;t@Ġ*Iintop_imm)$ $9)$ $C@;*Iintop_imm @%@@@1@@@2@BKPO@A      @@@!2@@@)$ $D)$ $E@@7@@@;@@@@@@;@@@  @@ >@@@;@@@@ B@@@;@Ġ+Ifloatofint)$ $H)$ $S@;+Ifloatofint 8@@@KPO@A B K M B K Z@@@!VH@@@  @@ U@@@;@@  @@ Y@@@;@Ġ+Iintoffloat*$V$b*$V$m@;+Iintoffloat O@@@LPO@A B K [ B K h@@@!mI@@@  @@ l@@@;@@# @@ p@@@;@Ġ%Inegf*$V$p*$V$u@;%Inegf f@@@EPO@A!A  !A  "@@@!B@@@  @@ @@@;@@: @@ @@@;@Ġ%Iabsf*4$V$x*5$V$}@;%Iabsf }@@@FPO@A!A  #!A  *@@@!C@@@  @@ @@@;@@Q @@ @@@<@Ġ%Iaddf*K$V$*L$V$@;%Iaddf @@@GPO@A!4A  +!5A  2@@@!D@@@  @@ @@@<@@h @@ @@@<@Ġ%Isubf*b$V$*c$V$@;%Isubf @@@HPO@A!KA  3!LA  :@@@!E@@@  @@ @@@<'@@ @@ @@@<+@Ġ%Imulf*y$V$*z$V$@;%Imulf @@@IPO@A!bA  ;!cA  B@@@!F@@@  @@ @@@< >@@ @@ @@@< B@Ġ%Idivf*$V$*$V$@;%Idivf @@@JPO@A!yA  C!zA  J@@@!G@@@  @@ @@@<U@@ @@ @@@<Y@Ġ'Iopaque*$$*$$@;'Iopaque @@@MPO@A!C i k!C i t@@@"J@@@  @@! @@@<l@@ @@!@@@<p@Ġ)Ispecific*$$*$$@;)Ispecific!@2specific_operation@@@4@AMPO@A!D u w!D u @@@",K@@*$$*$$@@@@@<@@@@@!3@@@<@@ @@!7@@@<@Ġ(Idls_get*$$*$$@;(Idls_get!-@@@NPO@A!F  !F  @@@"KN@@@  @@!J@@@<@@ @@!N@@@<@Ġ&Icompf*$$*$$@;&Icompf!D@"c0float_comparison@@@3@ALPO@A!@  !@  @@@"hA@@+ $$+$$@@@@@<"@@@@@!o@@@<#@@& @@!s@@@<$@Ġ,Ireturn_addr+ $$+!$$@;,Ireturn_addr!i@@@OPO@A" G  " G  @@@"O@@@  @@!@@@<'@@u+.$$@@!@@@<(@@@{@@""@@@<)@@"%@@@<*@@@ภ$None+?$$+@$$@f@@@;@Ġ$Iend+Z$$+[$$@!@@@@"L@@@<.@@@Ġ'Ireturn+h$$+i$%@@@@@"Z@@@<1&@@&@@@@"^@@@<2*@Ġ+Iifthenelse+z$% +{$%@ޠ@+$%+$%@@@@@<8<@@@"@@@<9A@@ @"@@@<:F@@@@@"~@@@<;J@@J@@9@@"@@@<<N@Ġ'Iswitch+$%+$% @͠@+$%!+$%"@@Ϡ@@@`@@@@@@=D@$R@@@=E@@=C@@@=Bp@@@డ,+":=-%%-%%@@O!a@@@@m@$unitF@@@l@@k@@j*%setfield0BA+p@@@@+o+p@@+n@@@@kgf@@@=lV@=_@@@=`@ @@@=^@@=]@@=\3--------@qi@k@l@@@@ఐ'matches-%%-%%@@@#@@@=jW@=mW@=k@@ภ"::-%%-%%@;-gY@-eB@AA@A-@@-_ఐ!x.%%.%%@-@@ @0@డ,!!.%%.%%@@!a@@@@i@@h'%field0AA+Ҡ@@@++@@+@@@@̠-V@=o@@@=sW@=W@=y@@@=z @@=x_@@ఐ預'matches..A%%@O0@@@@@=X@=X@=s@@: @@t@@H @@V@=rw@@k@@@@@=Z{@Ġ$None.]%%.^%%@ @@@@ @ @@@=R@%#@@@=S@@=Q@@@=PA@@ @ @@@=V@%3@@@=W@@=U@@@=TQ@@@ภ"().%&.%&@;...8@@@N@@@@A@@A._@@.1@ @@?`@@@A.%% @@@@@=3........@e@@@.%%.%&@@@&@@@=@@@=@@=S@=S@=@@ఐ ͠%instr. && . &&@ @@ @@@@.c@@@=R@= @డ-E$List#rev. &&. &&@ . &&. &&@@@"!a@5@@@6 @@@6@@6@(e)e@@'M@@@@ @@@= % $@@@=@@=@@డ-z堐. &&. &&@@@@3 ?@@@=R@=R@=@@@= @@=@@ఐ'matches $@ %@@@@@=S@=S@=@@% .@@@@W /@@ Z@a 0@@ [@r 1@@ \@  2@@ ] @ < 3A@ iP@= :@A@ 7@ 7 6@ M@ఠ2instrument_fundecl/. &(&,// &(&>@/AfA@@0future_funcnames@@=P@=@/L'fundecl@@@=P@=/T'fundecl@@@=P@=@@=P@=@@=P@=3/K/J/J/K/K/K/K/K@ {  @ @ @@@࣠!A@/[ &(&Q/\ &(&R@@%3/X/W/W/X/X/X/X/X@4/a &(&(/b(U(Z@@@@@/d &(&? @@!fA@/n &(&T/o &(&U@@.@@@=@  @/gA4 г7$Mach/ &(&X/ &(&\@>/ &(&]/ &(&d@@@F@@@=. @@/ &(&S/ &(&e@@@M2@@@@ఐ- !function_is_assumed_to_never_poll/ &w&|/ &w&@,+@@@-@@@=-@@@=@@=3////////@KB:@=@5@@@@ఐK!f/ &w&/ &w&@@@''fundecl@@@=@=@(fun_name/ &w&/ &w&@3(fun_name @@@j%S@@@`@@@ 3(fun_args &&!t@@@b@@@a@@A@A&_ 5 9&_ 5 O@@'?@3(fun_body'F@@@c@@B@A&` P T&` P j@@'H@33fun_codegen_options$#Π%.codegen_option@@@e@@@d@@C(@A&a k o&a k @@'Y@3'fun_dbg5&!t@@@f@@D4@A&b  &b  @@'e@3(fun_pollA#:.poll_attribute@@@g@@E@@A&c  &c  @@'q@33fun_num_stack_slotsM&&J@@@i@@@h@@FO@A'd  'd @@'@@A'^  #'^  4@@'@qb@@."@@@=S@=S@=@@j@@%(@@@=S@=@ఐР!f0; &w&0< &w&@@@@@@=R@=R@=@@ఠ2handler_needs_poll0P&&0Q&&@0chA@@@(@@@='@@@=@@=S@=30Y0X0X0Y0Y0Y0Y0Y@@@@ఐ(5polled_loops_analysis0h&&0i&&@!@@@(@@@=@(@@@=( @@@=@@=@@=@@ఐ!f0&&0&&@ݰ@@@@@=@=.@(fun_body0&&0&&@@@(:@@@=T@=T@=<@@3 @@E=@A@0&& @@@ఠ(new_body0&'0&'@0iA@@(@@@> S@=300000000@ f_@`@a@@@ఐР*instr_body0&'0&'@ @@@@@@@=,E@@@=A@=@(/@@@=@@=@@=@@ఐ2handler_needs_poll0&'0&'.@)@@@)@@@>(y@@@>@@>4@@ఐ!f0&'/0&'0@I@@:@@@>%@>#H@(fun_body0&'10&'9@@@VT@>&T@>$S@@H@@WT@A@1&' @@ ఐ!f1'='M1'='N@l@@]@@@>,@>*311111111@lzs@t@u@@@(fun_poll1"'='O1#'='W@@@@@@>+ @Ġ*Error_poll12']'c13']'m@;*Error_poll&Lambda.poll_attribute@@@@@@@B@@A1lambda/lambda.mli   !@@@ @@@@@<@@@>0-@@?@@@>10@@@ఐ 8find_poll_alloc_or_calls1V'w'1W'w'@@@@(@@@>? @ @@@>=@(!@@@>>@@><@@@>;@@>:S@@ఐѠ(new_body1x'w'1y'w'@]@@(@@@>LW@>NW@>Mg@@- @@ @ @@@>J@(F@@@>K@@>I@@@>Hx@Ġ1''1''@@@@@ ݠ@ @@@>[@(b@@@>\@@>Z@@@>Y311111111@@@@@ @ @@@>_@(s@@@>`@@>^@@@>]@@@ภ@1''1''@?@@@@@@>S@>pS@>' @ఠ1poll_error_instrs1''1''@1jA@@ @ @@@>g@(@@@>h@@>f@@@>e@@ +@ (@@@>k@(@@@>l@@>j@@@>i@@@డ0%raise2''2''@@#exnG@@@!a@@@&%raiseAA/Ƞ@@@/^BB/^Bg@@/@@@@@@@@>u[X@>t@@>s32 222 2 2 2 2 @ RK@L@M@@@@ภ%Error21''22''@;.P1K@@@@.LA.V@@A.I@@.Fภ*Poll_error2@''2A''@;..@@@@.A@@A@A.@@.ఐw1poll_error_instrs2P''2Q'(@+@@.Р@.@@@>@.@@@>@@>@@@>X@>X@>B@@62h'(@@.@@@>X@>I@@2o''2p'( @@h@@@>zX@>Q@@q@@R@@@A2x']'q2y( (@@@Ġ,Default_poll2((2((&@;,Default_pollR@@@AB@@AJ!!K!!'@@@R@@@  @@@@@>5v@@@@@>6y@@@ภ2((*2((,@@@@@@@A2'='A2((0@@@ݠ@@@>R@>@ڠ۠@@@>@@@>R@>@ԡ(fun_body2(2(?2(2(G@ఐ(new_body2(2(J2(2(R@@@*+@@@>R@>@@@@>@@@>R@>@ܠ@@@>R@>@נ@@@>R@>@ҠӠ@@@>@@@>R@>@@ఐ!f2(2(82(2(9@P@@C@@@>R@>R@>R@3(2(63(2(T@@R@>W@j@@X@@@X@3 &&@@@3  &w&y@гŠ$Mach3 &(&h3 &(&l@̰3 &(&m3 &(&t@@@@@@@@A@P@>@A@@@Ӡ@ఠ6requires_prologue_poll3.(\(`3/(\(v@3AkA@@0future_funcnames!@@@?'P@>(fun_name1<@@@? P@>@!@@@?&P@>-W@@@?P@>@@>P@>@@>P@>@@>P@>33Q3P3P3Q3Q3Q3Q3Q@.'@(@)@@@࣠''A+3c(\(x3d(\(@3vlA@@/33b3a3a3b3b3b3b3b@>3k(\(\3l )8)S@@@@@3n(\(w @00A43w(\(3x(\(@3mA@@833v3u3u3v3v3v3v3v@ F@@@@@@3(\(@@!iA3(\(3(\(@3nA@@A333333333@M@@@@@@@@ఐ1 !function_is_assumed_to_never_poll3((3((@0,@@@1@@@?1@@@?@@?333333333@(_@@ @@@@ఐ@(fun_name3((3((@(@@u@@@@(@@@? T@? @ภ,3((3((@,@@@s@ఐ!>potentially_recursive_tailcall3((3()@@@!!@@@?@!@@@?!@@@?@@?@@?:@!Őఐ0future_funcnames3()3()@q@@G@@ఐs!i3()3()@Q@@T@@+@@!@@@?%X@Ġ.Might_not_poll4 ))!4 ))/@$@@@@!@@@?3h@@!@@@?4k@@@ภ-A4))34))7@-@@@@s@Ġ,Always_polls4% )8)>4& )8)J@%O@@@@!@@@?<@@!@@@?=@@@ภ-!43 )8)N@- @@@@@@A46((@@@48((@@@A@P@?P@A@@@砰@ఠ*instr_type4H$)i)m4I$)i)w@4[oA@@@@@@?XP@?R3e@@@?]P@?S@@?TP@?Q34U4T4T4U4U4U4U4U@2+@,@-@@@࣠@!pA4h$)i)x4i$)i)y@4{pA@@34g4f4f4g4g4g4g4g@)4p$)i)i4q))*@@@@@  @@ఐ!p4}%)|)4~%)|)@0@@@@134|4{4{4|4|4|4|4|@"@@@Ġ$Poll4&))4&))@@@@@@@@@@@@-inserted poll4&))4&))@@4&))4&))@@E@Ġ%Alloc4'))4'))@@@@@W&@@W&@@@*allocation4'))4'))@@4'))4'))@@\0@Ġ-Function_call4())4())@@@@@n=@@n=@@@-function call4())4())@@4())4())@@sG@Ġ-External_call4)))4)))@ H@@@@T@@T@@@,*;*N@5PsA@@1@1@@@?}@1@@@?~@@?|@@@?{35L5K5K5L5L5L5L5L@.:]@1@2@@@@@!@@P@@@@ఠ2num_inserted_polls5_.*Z*b5`.*Z*t@5rtA@@#intA@@@?T@?35f5e5e5f5f5f5f5f@4-@.@/@@@డ3$List)fold_left5{/*w*}5|/*w*@ 5/*w*5/*w*@@@@@@$T@?@@@@@?T@?@2@@@?T@?@@?T@?@@?@@?@@@@@?@@?@@?@@?355555555@:@@@@࣠@!sA50**50**@5uA@@1M@@@@9A@ఠ!p50**50**@5vA@@:355555555@a G@@@@@@@50**50**@@< @@50**50**@@@J@E@@?@@ @@డ4k!+50**50**@@@@@~@@@@}@@@|@@{@@z'%addintBA3@@@@30++30+,@@3n@@@@@@@?@@@@?@@@?@@?@@?36 6 6 6 6 6 6 6 @GP@J@K@@@@ఐm!s60**60**@S@@@@ఐf!p6-0**6.0**@@@@Ġ$Poll6:0**6;0**@@@@@,@@,@@@A6A0**6B0**@@Q@@@?5@Ġ%Alloc6T1**6U1**@c@@@@F@@F@Ġ-Function_call6_1**6`1**@@@@@Q@@Q@@@@R@Ġ-External_call6k1**6l1**@@@@@]@@]@@@@^@@@@6s1**6t1**@@2d@@@A6v0**@@@@@?X@?k@@_ @@X@?n@60**62++@@@@@@?@@?U@?U@?@@@62++62++ @@0U@?@@ఐb&instrs62++ 62++@4@@@@@?U@?U@?@@0 @@$@@A@6.*Z*^ @@@ఠ.num_user_polls63++63++,@6wA@@X@@@?T@?366666666@Wha@b@c@@@డ5P!-63++D63++E@@m@@@@s@@@@@@@@@@'%subintBA4@@@@45,~,~45,~,@@4o@@@@@@@?@@@@?6@@@?@@?@@?5@@డ5$List&length73++073++4@ 7 3++57 3++;@@@c!a@5@@@5#intA@@@5@@5@kklk @@jC@@@@@3@@@?@3@@@?@@?U@?@@@?@@@?@@?z@@ఐ&instrs7E3++<7F3++B@ڰ@@<&@@@?V@?V@?@@7Q3++/7R3++C@@@@@?@?V@?@@ఐ2num_inserted_polls7d3++F7e3++X@@@@@@?U@?U@?@@ @@@A@7p3++ @@డ5!=7|4+\+t7}4+\+u@@!a@@5v@@@'@@&@@%&%equalBA5>@@@@5=y5>y@@59*9+  9?@@&OT@FT@F!V@F@@@EU@FU@F   @@@F#U@F/@@6@=V@E@@@FU@F@7F@F@C@@@FU@F2U@F1@@ML@@ʠz&z@@@EU@F @@U@@~@ డ85$List$iter9:,c,k9:,c,o@ 9:,c,p9:,c,t@@@@!a@5~$unitF@@@6A@@6@@ @@@6? @@@6>@@6=@@6<@"#@@!U@&!@@@@@@@@G7T@F`@)Debuginfo!t@@@L T@Fa@@FbT@FM1@@@FO@@FN@.@@@FL-@@@FK@@FJ@@FIa@@࣠@ 5A@ఠ!p͠::,c,{::,c,|@:(xA@@43::::::::@x@@@@ఠ#dbgΠ:":,c,}:#:,c,@:5yA@@: @@:':,c,z:(:,c,@@@H@C@@Fd@@ @@ఐ%!p::;,,:;;,,@X@%@&@@Y3:9:8:8:9:9:9:9:9@0#V@@@@@Ġ$Poll:L<,,:M<,,@@@@@j@@j@@@ภ ϰ:T<,,:U<,,@ @@@@@@Fo@Ġ%Alloc:h=,,:i=,,@w@@@@-@@-@Ġ-Function_call:s=,,:t=,,@@@@@8@@8@@@@9@Ġ-External_call:=,,:=,,@@@@@D@@D@@@@E@@@ డ9'fprintf:>,,:>,-@ð@@@@@@F|@à@I@@@F @@@G9Y@FY@FY@F@@FY@Fx@@@Fz@@@F{@@@Fy@@Fw@@Fvw@@ఐ#ppf:>,-:>,-@n@@@@ภ:::>,-:>,-Aภ:,Char_literal: ;,Char_literal!a@A!b@A!c@A!d@A!e@A!f@A@@@D@$charB@@@D)%!@@@D@BLAYAA%%%%@@@l@II@@@@FZ@FZ@F@ภ:&String:Y;&Stringݠ!x@A!b@A!c@A!d@A!e@A!f@A@@@D!a@A@+'padding)@@@@D@@D@@@D0,($ @@@D@BBAYAA Z|@@@Ab@ภU;A*No_padding;C;*No_padding&!a@C@@@C@@@@ABAA!e"e@@@Zj@@@6[@Fݠ@@@FZ@FL@ภv;b(;c'$ at @@ @@@G Z@G Z@G `@ภ;v;w@@^Y@FY@FY@G[@F@@@FZ@FZ@FZ@FZ@G@@@G Z@G@@@{%@@@FZ@G@@@8[@FȠ%&'(@@@FZ@F@@@D[@F(=>?@@@@FZ@F@' %s at @@@@@FZ@GZ@G@@&%@@ ]>S@@@FZ@F@@ఐ*instr_type<>,-<>,-@@@@@@@@G0;@@@G/@@G.@@ఐ!p<>,-<>,-@@@:@@< >,-,-@@[@G6@@@@Y@F@ డ(Location#Doc#loc(Location<;?-!--<<?-!-5@ =C--=C--@@!a@@;@@@0@@/@@.,%greaterthanBA;S@@@@;R;S@@;QT@@@@I@@@LS@L@@@@L@@L@@L@@ఐa2num_inserted_polls=C--=C--@@@@@@=C--=C--@@ T@L@@@@2@@@LT@L@డD--@@@ @@ภ=ܠ=ݰ> D-->E..7Aภ==  N (plus compiler-inserted polling point(s) in prologue and/or loop back edges) @@@@@MT@MT@M @ภ=u=t@@NS@M8S@LS@MS@MU@M E@@@LT@MT@M@@@MT@M!-@@:@U@L@@@MT@M9@;J@J@@@@MT@M$T@M#D@@QP@@y&/@@@LT@LM@@Y@@}N@@>hC--[@@P@\@@Q@>k7+,>lF.8.A@@T@>n4+\+b@@uV@@@v@>q-*R*T I@@ h @@A%param6>u+**2 M@@@ W NA@ P@M= U@A@ R@ R Q@ h@Ġ>I.I.M>I.I.O@@@@@@@@M@3>>>>>>>>@ y  @ @ @@@డd5register_error_of_exn(Location>J.R.T>J.R.\@ >J.R.]>J.R.r@@@@#exnG@@@Jn&optionLb%error@@@Jm@@@Jl@@Jk$unitF@@@Jj@@Ji@ey44fy44@@m_@)$@@@@!@@@MG@@@MF@@@ME@@MD@@@MC@@MB3>>>>>>>>@J@@@@@Ġ%Error>L..>L..@ ఠ#err7>L..>L..@>zA@@;@@@M]@@@@@N@@@M_#@@@ภ$Some>L..>L..@1 డ5error_of_printer_file(Location? L..?L..@ ?L..?L..@@@@)formatter@@@Jh@!a@Gam@@@Jg@@Jf@@Je@ y@@@Jd@@Jc@@Jb@t4"4"t4"4p@@^@&!@@@@@@@Mx@ @@@MS@Mt@@@Mw@@Mv@@Mu@ @@@Ms@@Mr@@Mq3?D?C?C?D?D?D?D?D@c\@]@^@@@@ఐ g,report_error?VL..?WL..@̰@@@ b@@@M@ @@@M W@@@M@@M@@M@@ఐ#err?pL..?qL..@'@@7T@M,@@?vL..?wL..@@@@@Mm@MT@M6@@ @@Ԡ@@@Mf@@@Me>@@?M..?M..@@@@@Mb@@@ภ$None?M..?M..@1@@@@@A'8?K.s.x@@@?K.s.w?N..@@@@@@MT@@@MS@@@MR@@MQQ@MQ@M%@@@@)@@@MQ@MP+@A@?I.I.I@@@.@>A=@=>@@=A=@==@@=J@?J@ H Copyright 2021 OCaml Labs Consultancy Ltd @DK@EKN@ H Copyright 2021 Jane Street Group LLC @JLOO@KLO@ H @PM@QM@ H All rights reserved. This file is distributed under the terms of @VN@WN5@ H the GNU Lesser General Public License version 2.1, with the @\O66@]O6@ H special exception on linking described in the file LICENSE. @bP@cP@ H @hQ@iQ@ H************************************************************************@nR@oRi@ 6 These are used for the poll error annotation later on@t^QQ@u^Q@ ] Detection of recursive handlers that are not guaranteed to poll at every loop iteration. @zd''@{ej@ | We use a backwards dataflow analysis to compute a mapping from handlers H (= loop heads) to either "safe" or "unsafe". H is "safe" if every path starting from H goes through an Ialloc, Ipoll, Ireturn, Itailcall_ind or Itailcall_imm instruction. H is "unsafe", therefore, if starting from H we can loop infinitely without crossing an Ialloc or Ipoll instruction. @g@o  @ { [exnescape] is [Safe] because we can't loop infinitely having returned from the function via an unhandled exception. @W x z@X  @ ] Detection of functions that can loop via a tail-call without going through a poll point. @[ A A@\  @ M We use a backwards dataflow analysis to compute a single value: either "Might_not_poll" or "Always_polls". "Might_not_poll" means there exists a path from the function entry to a Potentially Recursive Tail Call (an Itailcall_ind or Itailcall_imm to a forward function) that does not go through an Ialloc or Ipoll instruction. "Always_polls", therefore, means the function always polls (via Ialloc or Ipoll) before doing a PRTC. This includes the case where it does not perform any PRTC. A note on Potentially Recursive Tail Calls ------------------------------------------ Tail calls can create infinite loops, of course. (Consider a function that tail-calls itself.) But not all tail calls need to be flagged as potential infinite loops. We optimise by making a partial ordering over Mach functions: in definition order within a compilation unit, and dependency order between compilation units. This order is acyclic, as OCaml does not allow circular dependencies between modules. It's also finite, so if there's an infinite sequence of function calls then something has to make a forward reference. Also, in such an infinite sequence of function calls, at most finitely many of them can be non-tail calls. (If there are infinitely many non-tail calls, then the program soon terminates with a stack overflow). So, every such infinite sequence must contain many forward-referencing tail calls. These tail calls are the Potentially Recursive Tail Calls (PTRCs). Polling only on those calls suffices. Several functions below take a parameter [future_funcnames] which is the set of functions defined "after" the current function in the current compilation unit. The PTRCs are tail calls to known functions in [future_funcnames], or tail calls to unknown functions. @^  @@0 this is a PTRC @"O@"c@0 this is a PTRC @@@4 this is not a PTRC @6@N@  We refer to the set of recursive handler labels that need extra polling as the "unguarded back edges" ("ube"). Given the result of the analysis of recursive handlers, add [Ipoll] instructions at the [Iexit] instructions before unguarded back edges, thus ensuring that every loop contains a poll point. Also compute whether the resulting function contains any [Ipoll] instructions. @mm@@ Since we are only interested in unguarded _back_ edges, we don't use [ube'] for instrumenting [body], but just [ube] instead. @gm@@. Error report @")U)U@")U)g@@*./ocamlopt)-nostdlib"-I(./stdlib"-I1otherlibs/dynlink"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I'asmcomp"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events2-function-sections"-c@@ J/home/ci/builds/workspace/precheck/flambda/false/label/ocaml-ubuntu-latest ?>3210/.-,+*)('&%$#"! @@0 0v +3AA A AAAAA@A @@$Arch0;:1-K^1ʹ*}(Asttypes0>n{T8cئ+Backend_var0G}afTd5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0c˯7͗ԩmݠ#Cmm0rhmsT4u%{*Data_types0I'Ue`wq]Ѡ905!bv)Debuginfo0PtJ=^w/#Env0zV L{YWI*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`&Lambda0z1x]&ZT)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕcAv0( C'~A̠$Misc0ob]6>Vê>?ː0ve"NHSqt+Outcometree0kX%d5Q/+)Parsetree0T鿁ۘ7Qu$Path0Y2kf֯J._ϠA04ZB73;턠)Primitive0²~$xzT෠#Reg0dfǝhO%Shape0oNՄBH&Stdlib0Lku]8_٠+Stdlib__Arg0اp2/٠r)w-Stdlib__Array0?3$( Q&.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/Stdlib__Hashtbl0ѱN][/!-Stdlib__Int640l-J ~m-۠,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V ,Stdlib__List0MYm 7R+Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s)Targetint0!2JTI ϝ.Type_immediacy0A^abOhՠ%Types0^Y~# )Unit_info0ڀh%((Warnings0mJɒkgr>Ӱ@2@<@@h@r@>>@2 2@ J T@  ()0Ș0Ұ==@@@3V3`33@9:@Q[33@@@>>@## 0<0F@  9đ9ΰ?"?@@@@**ð<}<>r>@??@@>*>4? ?@>V>H>L>j@;5;?@CM))00 @Бڰ)3#-@@44 @(-(7@"ԑ"ް=ݑ=@$F$P>?@44=>m>c@_i3ˑ3@@PB@n@k@@@r@o@@@AB@@