Caml1999T037EDC'PollingР$Mach$Mach2asmcomp/polling.mlTkpTkt@@ 3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .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@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@Tkk@@@3@@@Р*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/../////@-UAM@,P@@@࣠@$funcACZDZ@VIA@@#3BAABBBBB@2KZL\O@@@@@  @@డ"||X\!Y\#@@1@@@]@@\@9@@@[@@Z=@@@Y@@X@@W'%sequorBA @@@@*stdlib.mli@@&Stdlib^@#"@@@ @@@@@@@@@@@[@@@@@@@3@FRk@I@J@@@@డ+starts_with&String[[@ [[@@&prefix@@@&@@%@@@@$@@#$boolE@@@"@@!@@ @*string.mli%@@.Stdlib__StringM@&!@@@@@@@@@@@@@@@@@@@@J@/*caml_apply[[@@[ [@@:@@@ F@F@^@@ఐ$func[[@h@@k@@Y@@@@@@F@ s@@డ'+starts_with&String\$\*@ \+\6@@p@@pn@@@@@@@@@@@m@@@@@@@@)caml_send0\@1\I@@3\?4\J@@@@@)F@+F@*@@ఐ$funcF\K@@@$@@:@@@@@@-F@%@@@@#@A@4C@/ @A@ @  @!A+-polling_pointC^___@@;@@%Alloc@@h_i_@@{KA$Poll@@q_r_@@LA-Function_call @@z_{_@@MA-External_call @@__@@NA@@A@@@@@_@@A@JA@#((&%@$@@@(@#$$_"@!@@@%@#!!_@@@@"@#_@@@@@@A@@@@3@o@@@@A+%error D``@@;@@*Poll_error +@i@@@6@)Debuginfo!t@@@@@@@@@@`` @@PA@@A@@@@@`@@@AOA@#%% `@ @г&$list`@В@г*-polling_point``@@23@RK;@@@A@@@@@$@@@"@@@@@г4)Debuginfo``@9``@@@C@@@N@@@S `<@@@@>@@A@:@@:=@3      @@@%ErrorEb b @#@v@@@@@A"b  #b %@@5QA@г %error.b   @@3*))*****@=@@@@@@@@@A+.unsafe_or_safeF@@@@@@@@@ఐ-"t1.y  /y  @@@P3,++,,,,,@"H@@@@@@ఐ("t2=y  >y  @ @@T@@@@@d@[@@@@Ġ&UnsafeYz  Zz  @@@@@{@,@@Ġ&Unsafeez  fz  @@@@@|@8@@@@@@@@?@@?@@Ġ&Unsafe|{  }{  @@@@@@P@@Ġ$Safe{  {  @;@@@@AB@@A?@@<@@@@@_@@@@@@ @@f@@f@@?@@@@@@m@@Ġ$Safe|  |  @!@@@@@~@@Ġ&Unsafe|  |  @@@@@@@@@@@@ @@@@@@k @@@砠@@@@@@ภ&Unsafe|  |  @@@@@@Ġ$Safe}  }  @X@@@@@@@Ġ$Safe}  }  @e@@@@@@@@@@@ @@@@@@@@@@@ภ$Safe}  @|@@@@@@A y  @@@A@0I@@A@@@@ఠ)lessequal%    @,ZA@@@s@@@5I@@@ @~@@@6I@%@@&@@@TI@'@@(I@!@@"I@343344444@Dha@b@c@@@࣠@"t1'AG  H  @Z[A@@(3FEEFFFFF@7O  PD v @@@@@  @@"t2(A[  \  @n\A@@13ZYYZZZZZ@!?@@@@@@@@@ఐ-"t1q@  )r@  +@@@Q3onnooooo@"I@@@@@@ఐ("t2@  -@  /@ @@U@@@@@e@\@@/@@Ġ&UnsafeA 5 ;A 5 A@@@@@|@1,@@Ġ&UnsafeA 5 CA 5 I@@@@@}@28@@@@@@@@7?@@?@@Ġ&UnsafeB J PB J V@@@@@@8P@@Ġ$SafeB J XB J \@C@@@@@9]@@@@@@ @@>d@@d@@= @@@@@@?k@@Ġ$SafeC ] cC ] g@b@@@@@@|@@Ġ$SafeC ] iC ] m@o@@@@@A@@@@@@ @@F@@@@i @@@栠@@@H@@@ภ$trueC ] qC ] u@;@@@M@@@AB@@A@@@@@@@Ġ$Safe'D v |(D v @@@@@@J@@Ġ&Unsafe4D v 5D v @v@@@@ @K@@@@@@ @@P@@@@@@Q@@@ภ%falseLD v @;:@@@@B@@A@@@@@@@@AQ@  #@@@ A@6I@j @A@@@@A@b@!@IB@C@D@@3ZYYZZZZZ@'L@@bs 1 IcE  @3`__`````@@@@@gs 1 1@@3PolledLoopsAnalysis4IsG  tG  @^A@гР(Dataflow(Backward(DataflowG  G  @ G  G  @@@!D-(Dataflow&DOMAIN'analyze.*exnhandler&optionL@"!t@@@@@!t@@@@@@@@@@)exnescape!t@@@@@@@@(transfer@$Mach+instruction@@@@@$next3!t@@@@@~#exn>!t@@@}@@|C!t@@@{@@z@@y@@x@@w@'+instruction@@@v@@u@V!t@@@p@@#intA@@@t@@sg!t@@@r@@q@@o@@n@@m@@l@@k@4asmcomp/dataflow.mli^~b>_@@L@@@3@@A@/@V@@@@@@@РŠ.Unsafe_or_safe2G  3G  @@A@B@i@)@@@@?G  @3@&@@@@@*@@@@@@@@@@6@@@@@@@@@@@@@@K@@@@@S@@@@@W@@@@@@@@@@@@@@@@@@g@@@砠@@@@@@@t@@@@@@@@@@@@@@@@@@@@@G  e@f@@ఠ5polled_loops_analysis5I  I  @_A@@@@@@! K@@@@@@@! @@! @@@! @@!K@@@K@3@a@@@@1^@@@࣠@'funbody7AI  I  @`A@@(3@7I  Y  ?@@@@@  @@@ఠ(transfer8J  J  @ aA@@@$Mach+instruction@@@M@ @@ $next`@@@M@@@#exn M@@@M@@@M@@@M@ @@ M@ 3        @?Ki@B@C@@@࣠@!i:A .J   /J  @ AbA@@43 - , , - - - - -@C 6J   7U ] r@@@@@  @//;A3 AJ   BJ  @ TcA@@53 @ ? ? @ @ @ @ @@ J@@@@@@ IJ  @33@@@+@@@@@? @@ N a k N a @@@@@@@@@S@@@@@A@@@@ @@@@@C@@@ภ$Safe N a  N a @@@@#@Ġ#Iop O   O  @ఠ"op= "O   #O  @ 5eA@@@@@H@@@@@@@@I@@@@@J@@@డ >3operation_can_raise ;P   <P  @@7@@@@@$boolE@@@@@@ww@@J@@@@I@@@@@@@@@@3 U T T U U U U U@>7@8@9@@@@ఐE"op gP   hP  @ @@c@@@S@S@@@7 @@ +@@@S@@డ$join.Unsafe_or_safe Q   Q  @  Q   Q  @@@@@@@@@@@@@@@@@@@@@@@Ű@@@@@@@@@@@@@@@@@@@@@V@@ఐ{$next Q   Q  @d@@c@@ఐw#exn Q   Q  @]@@p@@F@@S@s@ఐ$next R   R  @@@~@ P  @@@Ġ'Ireturn S   S  @;'Ireturn@@@ABG@AfU  gU  @@@x@@@  @@v@@@N@@y@@@O@@@ภ$Safe S   S  @q@@@@Ġ+Iifthenelse T   T  $@;+Iifthenelse3@$test@@@9@@@:@@@;@CABG@AV  V  B@@@!y@@ )T  % *T  &@@@@@V@@@0@@@W@@ @5@@@X@@@*@@@@@Y@@@Ġ'Iswitch DT  ) ET  0@;'Iswitchh@@@@=@@@<ɠW@@@?@@@>@BBBG@AW C EW C o@@@[z@@ cT  1 dT  2@@@@@a@@@`@@ @q@@@c@@@b @@@2@@@@@d@@@@k@@@@@e@Ġ&Icatch T  5 T  ;@;&Icatch@ (rec_flag@@@@$listK@e@@@C@@@@D@@B@@@A@@@E@CCBG@A'X p r(X p @@@{@@ T  < T  =@@)@@@nL@@@'@$@@@q@@@@r@@p@@@o^@@@@@@sc@@@I@@V@@@tg@@g@@ @@Z@@@uk@Ġ%Iexit T  @ T  E@;%Iexit@@@@F@ADBG@AdY  eY  @@@|@@ T  F T  G@@@@@y@@@@@|@@@z@@@@ @@@@@{@Ġ(Itrywith T  J T  R@;(Itrywith'@@@@G @@@H@BEBG@AZ  Z  @@@}@@ T  S T  T@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ఐ$next 0T  X 1T  \@ڰ@@@Ġ&Iraise =U ] c >U ] i@;&Iraisea@&Lambda*raise_kind@@@I@AFBG@A[  [  @@@J~@@ RU ] j SU ] k@@@@@@@@@@@@@@@@@@@@@ఐ#exn eU ] o/@0@@H@@@A hK  2@@J}@<3A@rM@ :@A@7@డ #snd uY   vY  @@@!a@⠠@!b@@@@@@@'%field1AA @@@  nn  nn9@@ @@@@@s@@@!L@ @L@ @@ @@ @@ 3        @@@@@@@డC'analyze3PolledLoopsAnalysis Y   Y  @  Y   Y  @@" @@@@ @@ @@@ @@ @@@ @@ 4@@@ @@@ @@ @@@@ @@ @@@ @@  @@@ @@  @@@ @@ @@ @@ @@ @H@@@ @@ @n@@@ @@@@@ @@ N@@@ @@ @@ @@ @@ @@ @@ @@c^@@}{@[@@@ @@ Z@@@ @@ @@@ @@ sY@@@ @@@ @@ o@X@@@ @@ hW@@@ @@ dV@@@ @@ U@@@ @@ @@ @@ @@ @@@@ @@ @@@@ à@@Y@@@ @@ @@@ @@ @@ @@ @@ @@ @@ @Аภ$NoneF;   ʐ@@W@@@@AA@AL@@ @L@ڠ@@@@!'@@!&@@@!%@@!$@@@!#@@!"@Ґภ$Somed; @ A@AA@Af@@ ֠ภ$SafeY  (Y  ,@ @@@@@@!N@!/@@@  @@@!2@ఐ(transferY  .Y  6@@@@@@@!@@!@@@!@@!@@@!@@!@@@!@@!@@!@@!N@!>,@@ఐ'funbodyY  7Y  >@@@$9@@Y  @@@M@G@@ M@!MN@!E@@v@@HF@@@I@A@9K@!O @A@ @  @#A+1polls_before_prtcK @@;@@.Might_not_pollݐ@@@@iA,Always_pollsސ@@  -@@jA@@A@@@@@@@A@"hA@#@@@@@#!@@@@@@A@@@@3@Sun@o@p@@1Polls_before_prtcL,/6-/G@?sA@БA+!tM;QX<QY@@;@@ AM@@@!W@@@@DQSEQm@@A@WkA@@Aг 1polls_before_prtcNQ\ @@3JIIJJJJJ@2]W;@@@A#@@@!\@!V@@@@@@@@@@@@@@3XWWXXXXX@ @@@ఠ#botioujox@|lA@@}@@@!`N@!^3nmmnnnnn@$>8@@@ภ,Always_polls{o{|o@;u@@@!U@@@AB@@Aw@@t@@@@@@!a@A@oq @@ @@ఠ$join@mA@@@1@@@!yN@!c@@!d@<@@@!zN@!i@@!jA@@@!N@!k@@!lN@!e@@!fN@!b3@API@J@K@@@࣠@"t1A@nA@@'3@6/_@@@@@  @@"t2A@oA@@03@!>@@@@@@@@@ఐ-"t1@@@P3@"H@@@@@@ఐ("t2@ @@T@@@@@d@[@@!s@@Ġ.Might_not_poll@;@@@@B@@A@@@@@@}@!u.@@Ġ.Might_not_poll$%@@@@@~@!v:@@@@@@@@!{A@@A@@Ġ.Might_not_poll;<@%@@@@@!|R@@Ġ,Always_pollsHI@@@@@@!}_@@@@@@ @@!f@@f@@? @@@@@@!m@@Ġ,Always_pollsgh @@@@@@!~@@Ġ.Might_not_polltu@^@@@@@!@@@@@@ @@!@@@@k @@@砠@@@!@@@ภ.Might_not_poll .@w@@@@@Ġ,Always_polls/5/A@#@@@@@!@@Ġ,Always_polls/C/O@0@@@@@!@@@@@@ @@!@@@@@@!@@@ภ,Always_polls/S@G@@@@@@A@@@A@0N@!@A@@@@ఠ)lessequalagap@pA@@@s@@@!N@!@@!@~@@@!N@!@@! @@@!N@!@@!N@!@@!N@!3@Cg`@a@b@@@࣠@"t1Aaqas@qA@@'3@6 ac +@@@@@  @@"t2Aatav@*rA@@03@!>@@@@@@@@@ఐ-"t1-y.y@@@P3+**+++++@"H@@@@@@ఐ("t2<y=y@ @@T@@@@@d@[@@!@@Ġ,Always_pollsXY@@@@@{@!,@@Ġ,Always_pollsde@@@@@|@!8@@@@@@@@!?@@?@@Ġ,Always_polls{|@@@@@@!P@@Ġ.Might_not_poll@r@@@@@!]@@@@@@ @@!d@@d@@= @@@@@@!k@@Ġ.Might_not_poll@@@@@@!|@@Ġ.Might_not_poll@@@@@@!@@@@@@ @@!@@@@i @@@堠@@@!@@@ภ @ @@@@@Ġ.Might_not_poll@@@@@@!@@Ġ,Always_polls"@o@@@@@!@@@@@@ @@!@@@@@@!@@@ภ &@ @@@@@@Ay}@@@A@,N@!@A@@@@A@X@@?8@9@:@@3        @B@@/J,/@3@@@@@//@@,PTRCAnalysisN&18'1D@9tA@гР (Backward(Dataflow61G71O@ :1P;1X@@@    @@3@??@@@@@@ @A@@X@@@@@8#@@@Р-1Polls_before_prtcX1YY1j@@'!A@@k@S@@@@/e1k@   ˠ@& @@@"c@@"b* @@@"a@@"`@@@"_@@"^  ߠ6 @@@"]@@@"\@@"[ @  @@@"Z@@"Y K @@@"X@@"W S @@@"V@@"UW @@@"T@@"S@@"R@@"Q@@"P@  @@@"O@@"N@g @@@"I@@ @@@"M@@"Lt @@@"K@@"J@@"H@@"G@@"F@@"E@@"D@ @ @@@@11e@f@@ఠ>potentially_recursive_tailcallmqm@uA@@0future_funcnames#Set!t@@@*P@"e@@"f@  @@@.P@"k@@"l @@@.P@"m@@"nP@"g@@"hP@"d3@@@@@<@@@࣠**A.mm@!vA@@03        @Amm=k@@@@@m @@'funbodyA#m$m@6wA@@53"!!"""""@!H@@@@@@@@@ఠ(transfer67@IxA@@@ B@@@"S@"r@@"s$next@@@,S@"x@@"y#exn S@"~@@"S@"@@"S@"z@@"{S@"t@@"uS@"q3XWWXXXXX@7Cn@:@;@@@࣠@!iAkl@~yA@@/3jiijjjjj@>st"7@@@@@  @//A3~@zA@@53}||}}}}}@ E@@@@@@@33A7@{A@@93@I@@@@@@@@ఐ =@@@"@@@"@@ @ = @@@"@@@"@@@@@ @@@"@@@@<@@ $@@@"@Ġ&Icatch@ "@@@ $@@@" @@@ "@ @@@"蠠@ @@@"@@"@@@"@@@ @@@"!@@@"@@ Q@@@"%@@%@@m @@ U@@@")@Ġ%Iexit @ @  @@ @@@";@@@ @@ k@@@"?@@?@@ @@ o@@@"C@Ġ(Itrywith@ @@@ @@@"U@@@ @@@"Z@@@ @@ @@@"^@@^@@@@ @@@"b@@@ఐ$next!@}@@l@Ġ&Iraise"(".@ @""/#"0@@ @@@#@@@ @@ @@@#@@ @@@#@@@ఐ#exn5"4@@@@@@A8@@u@A@S@.`@A@@డ#fstE=?F=B@@@!a@䠠@!b@@@@@ @@'%field0AA@@@mmmm@@~@@@@@sR@.c@@f@@@.@@.(c@@@.@@.R@.f@@.e@@.d@@.b3wvvwwwww@ LE@F@G@@@@డg'analyze,PTRCAnalysis=D=P@ =Q=X@@@R@@@.@@.V@@@.@@.@@@.@@. b@@@.@@@.@@.@@@@.@@.w@@@.@@.@@@.@@.@@@.@@.~@@.}@@.|@@.{@@@@.z@@.y@@@@.t@@@@@.x@@.wv@@@.v@@.u@@.s@@.r@@.q@@.p@@.o@@Ӱc^@@TR@[@@@.@@.Z@@@.@@.@@@.@@.JdY@@@.@@@.@@.F@X@@@.@@.?W@@@.@@.;V@@@.@@.U@@@.@@.@@.@@.@@.@;@@@.@@.@<@@@.@@0@@@.@@.@@@.@@.@@.@@.@@.@@.@@.@ภ  @@@@@@.@@.@@@.@@.@@@.@@.@ภ 3 @3@@@@.@@@.@@.@ఐ@(transferv=Zw=b@@@@@@@.@@.@@@.@@.@@@.@@.@@@.@@.@@.@@.T@/@@ఐ}'funbody=c=j@@@@$@@=C@@@?@=@@.mS@/T@.0@@h@@B1@;@@CQ@A@P@/@A@@@@ఠ(add_poll@~A@@@@@@/SP@/@@/@@@/QP@/@@/P@/3@@@@@@࣠@!iA@A@@3@+b@@@@@  @@డ0instr_cons_debug$Mach@ *@@@@@@{@@z@!t@@@y@@@x@@w@!t@@@v@@@u@@t@y!t@@@s@@r@3@@@q@@p6@@@o@@n@@m@@l@@k@@j@ln1@@8@FA@@@@@@/4@@/3@>=@@@/2@@@/1@@/0@:9@@@//@@@/.@@/-@6@@@/,@@/+@f@@@/*@@/)i@@@/(@@/'@@/&@@/%@@/$@@/#3gffggggg@@@@@@@ภ#Iopx,y/@rภ%Ipoll16@ຐ3!@@@/k@@@A@,return_label9E@ภ$NoneHL@ &@@@'$@@@/u@@@/tR@/{:@@7N@@C@@@/iR@/B@@0O@@@@@/cR@/hJ@@+P@@C@@@/]R@/bR@@A@QU@@@@@/[@@@/ZR@/c@@A@VZ@@@@@/X@@@/WR@/t@@ఐ!i[\@@@(@#dbg]`@G @@@@@/UR@/R@/@@ఐ+!ia @!@@B@@"@@<@,#A@JP@/*@A@'@'&@=@ఠ*instr_bodydhdr@,@A@@@@v#Set#elt@@@;P@/@@/@@@/P@/A@/P@/@@/@A@@@LzP@/@@/P@/@@/P@/@@/P@/3A@@AAAAA@v@@@@@࣠@,handler_safeATdsUd@gAA@@53SRRSSSSS@D\dd]""@@@@@  @@!iAhdid@{BA@@-3gffggggg@!L@@@@@@@@@ఠ2add_unsafe_handler{|@CA@@@\!t@@@;S@/@@/@@oS@/@@@/@@/S@/@@/S@/@@/S@/@@/S@/3@3?b@6@7@@@࣠@#ubeA@DA@@+3@:@@@@@  @@%paramA@ఠ!k@EA@@23@'H@@@@@@@@@8 @@@@@B@A@@/@@ @@ఐ,handler_safe@}@@3@#,W@&@'@@@@ఐ3!k@ @@d@@@@@Ġ$Safe@~@@@@@@@@@ఐh#ube@G@@w(@Ġ&Unsafe@`@@@@5@@5@@@డn#Set#add#Int23@ 67@@;<@ @@@@@1@@1@@@@1@@1@@@1@@1@@1@6utils/identifiable.mlill@@+Stdlib__SetF@%@@@0@@@3@@3@@@@3@@2@@@2@@2@@2|@@ఐ!krs@@@@@ఐ֠#ube@@@@@P@@@@@A@@@A@S@<@A@@Aఠ%instr @FA@@@@@@HS@<@@<@@@@JTS@< @@<S@< @@<@@<3@ 3,@-@.@@@࣠@#ubeA@GA@@!3@/@*@@<@'@@< "@@<T@< @@< T@<@5@6@@@@@@!iA@HA@@53@*A@!@"@@@@@@ఐ!i#$@H@@@@I3@!@@@$desc%)@ @@|@@@7@8@9@@@ఐ۠%instrlbmb@@@@@@<@@@<@@<@@<@@ఐΠ#ubebb@@@(@@ఐu"i0bb@0@@]S@JRS@JPS@JNS@JLS@JIS@JFS@JCS@J@S@J>S@JS@A9S@A3S@A0S@A.S@A*S@@?@@@డ%Array#map#$@ '(!@@@@!a@>F@@?!b@>C@@?@@?@%arrayJ@@@?@@?@@@?@@?@@?@)array.mlirrr@@-Stdlib__ArrayU@/*@@@@W@@@@@S@ImS@IiS@IcS@IES@IXS@IS@I?S@IS@I>S@ADS@A@S@A6B@ఐ^%instr6E6J@5@@@]@@A@X@@AS@@A@@A@@ఐQ#ube6K6N@-@@n@@ఐC!i6O6P@,@@t@$next6Q6U@ @@|X@A)@@1@@y@@@@A5@@@A4W@A1@@@@A;@@@A:W@A7@@@@A?W@A=@@@@ACW@AAA@ఐ|!iLM@e@@>@PQW^@@A@Ġ&Icatch\_e]_k@נఠ"rce_mf_o@xNA@@@@@)"@#@$@@@ఐY"rc@@@7@@@AG@Ġ#Cmm@)Recursive@@;)Recursive#Cmm(rec_flag@@@Bh@@@AB@@A/asmcomp/cmm.mlicc@@@ r@@@@@_@@@C>@@b@@@CA@@@డa$List)fold_left@   @@@@#acc@E @@F@!a@E @@F @@F@@F@@F@@@F@$listK@@@F@@F@@F@@F@@F@(list.mli333r@@,Stdlib__List]@2-@@@@Z@Hk@@Ht@@@F@@@HZ@H@@HZ@Hn@@Hs@@Hr@@Hq@@Hp@@@Ho@1@@@Hm@@Hl@@Hj@@Hi@@Hh@@ఐ䠐2add_unsafe_handler _ `@@@@@@@H@@H@@٠@/@@H@@H @@H@@H@@ఐʠ#ube } ~@@@@@ఐ#hdl  @ٰ@@qX@@@H[@H[@H@@ @@@Ġ#Cmm  @,Nonrecursive  @@;,Nonrecursive@@@@B@@Acc@@@q@@@ @@(@@@C#@@+@@@C$ @@@ఐ #ube    @@@@@@A @@@A@ @@@ఠ-instr_handler  '@ ZA@@@@@@HX@H@9X@H@@HX@H@@H@ @X@H@@HX@H@@HX@H3        @EPI@J@K@@@࣠@@A@ఠ!k!)!*@![A@@)3!!!!!!!!@>! !Tc@@@@@ఠ"i0!,!.@!*\A@@5@@!(!/@@@B@>@@H@@ @@@ఠ"i1!02>!12@@!C]A@@Z@H3!1!0!0!1!1!1!1!1@/8Z@2@3'U@!@"@@@ఐ%instr!D2C!E2H@@@@@@H@@@H@@H@@H@@ఐ$ube'!Y2I!Z2M@g@@&@@ఐO"i0!f2N!g2P@.@@3@@&@@4@A@!k2:@@@ఐr!k!wT]!xT^@@@@3!u!t!t!u!u!u!u!u@EPI@J@K@@@@ఐV"i1!T`!Tb@ @@U@@!T\}@@@@]@@H@'@@\@wA@X@H@A@@@ఠ$body! ! @!^A@@1X@H3!!!!!!!!@@@@@@ఐ%instr! ! @@@@@@H@@@H@@H@@H@@ఐ#ube! ! @@@/$@@ఐC$body! ! @ @@(Y@H3@@(@@14@A@! @@k$desc! , 4! , 8@ภ&Icatch! , ;! , A@fఐ"rc! , C! , E@E@@r@@@IW@I W@I 3!!!!!!!!@\f_@`@a@@@డ u$List#map" G ^" G b@ " G c" G f@@@@!a@EW@@F!b@ET@@F@@F@ @@@F@@F@@@F@@F@@F@@@W@+&@@@@@@@@IW@I=W@I8W@I+@n@@I5W@I@@I@@@@IW@I@@@I/@@I.@@ఐ#hdl" G u" G x@@@nZ@@@I$X@I:X@I6@@ @@L@@@IW@I;X@I"@ఐ$body" z " z @@@@@" z @@>@@@HW@I@<$next"  "  @ఐ9%instr"  "  @@@@8@@IJ@3@@II.@@IH@@IG@@ఐ,#ube"  "  @@@I@@ఐ!i"  "  @@@O@$next"  "  @y @@IX@IV@@1@@T@tur@@@Ib@@@IaW@I^@jkj@@@Ih@@@IgW@Id@de@@@IlW@Ij@]^@@@IpW@InA@ఐW!i#'  %#(  &@@@@+@#+  ##,  @@.@U@@@"@@=@k@@@Ġ%Iexit#:  #;  @]ఠ!k#C  #D  @#VQA@@e@@@@@ఐ!i# !# !@@@BK@@@@$X@IN@ఐ!i#!!#!!@@@PY@#  @@M[@Ġ(Itrywith#!!#!!@ఠ$body$!! $!!$@$RA@@ @@@@@@࣠@!iA&"?"M&"?"N@'bA@@/3&&&&&&&&@>&"?"A&%:%_@@@@@  @@ఐ!i'"Q"]'"Q"^@E@@@@F3''''''''@$@@@$desc'"Q"_'"Q"c@ @@@@@L @Ġ#Iop'!"i"q'""i"t@Ġ%Ipoll'*"i"u'+"i"z@Ǡ@'/"i"{'0"i"|@@@@@L)@@@'5"i"}@@+@@@L.@@@@@@@@L2@@@@@L5@@@ภ$Some'F"i"'G"i"@@ภ$Poll'S"i"'T"i"@;#@@@5@@@AD@@A#@@#@@@R@MR@@ఐ{!i'h"i"'i"i"@a@@`@#dbg'o"i"'p"i"@ð @@g@@'s"i"'t"i"@@R@Ml@@2@@m@Ġ#Iop'""'""@|Ġ&Ialloc'""'""@m@'""'""@@l@@@L@@@'""@@@@@L@@@@@#@@@L@@&@@@L@@@ภ$Some'""'""@@ภ%Alloc'""'""@;$Ra@@@@D@@A$Q@@$N@@@R@M@@ఐ٠!i'""'""@@@@#dbg'""'""@! @@U@M@@'""'""@@R@M@@1@@@Ġ#Iop'""'""@ܠĠ)Icall_ind'""'""@;)Icall_ind@@@CPO@Asntn@@@i@@@  @@@@@L@Ġ)Icall_imm(""(""@;)Icall_imm@@@@.@ACPO@Aoo&@@;@@$func@@:@@@ oo$@@j@@CA@@@@@'@@@(3EAk@@('""((""@@ @@@L!@@@)@@"@@@L%@@@ @@&@@@L)@Ġ-Itailcall_ind(:""(;"#@@@@@2@@@L5@@P@@6@@@L9@Ġ-Itailcall_imm(J"#(K"#@@(O"#(P"#@@@@@LI@@@ @@J@@@LM@@v(Y"#@@O@@@LR@@@|@@@@@LV@@@@@LY@@@ภ$Some(j"#(k"#@ؠ@ภ-Function_call(w"#(x"#+@;%$@@@BD@@A%@@$@@@R@Ms@@ఐ!i("#-("#.@@@@#dbg("#/("#2@ @@U@M@@("#("#3@@R@M@@1@@@Ġ#Iop(#4#<(#4#?@Ġ(Iextcall(#4#@(#4#H@;(Iextcall@@@@*@AEPO@A6rac7u @@;@@$func@@@@@ DrasEra@@o@&ty_res@@Q(machtype@@@ RsSs@@p@'ty_args@@Lc'exttype@@@@@@ esfs@@q@%alloc@@@@@qtrt@@r@)stack_ofs@@@@@}u~u @@s@@EA@@@@@(@@@)CA t@ঠ%alloc)#4#K)#4#P@3$`@@@L&@@C3VU@@@AQ@N3KJ@@AAD@A3>=@@BA2@/3 @@DA@A'@$Ġ") #4#S)!#4#W@"@@@@3@@@L@@@)'#4#I)(#4#Y@@x@@@LV@L#@@@)/#4#Z@@%@@@L(@@@@@@@@L,@@@@@L/@@@ภ$Some)@#4#^)A#4#b@@ภ-External_call)M#4#d)N#4#q@;%@@@CD@@A%@@%@@@}R@MI@@ఐr!i)_#4#s)`#4#t@X@@W@#dbg)f#4#u)g#4#x@ @@U@M`@@)l#4#c)m#4#y@@R@Me@@1@@f@Ġ#Iop){#z#)|#z#@uĠ%Imove)#z#)#z#@;%Imove@@@@PO@A 6h 7h@@@ c@@@  @@@@@L@Ġ&Ispill)#z#)#z#@;&Ispill@@@APO@A Ii Ji@@@ d@@@  @@@@@L@@! @@@@@L@Ġ'Ireload)#z#)#z#@;'Ireload@@@BPO@A `j aj@@@ e@@@  @@@@@L@@8 @@@@@L@Ġ*Iconst_int)#z#)#z#@;*Iconst_int@)nativeintM@@@@A@PO@A ~k k@@@!f@@*#z#* #z#@@@@@L@@@@@ @@@L@@^ @@ @@@L @Ġ,Iconst_float*#z#*#z#@;,Iconst_float@%int64O@@@@AAPO@A l l@@@!&g@@*.#z#*/#z#@@@@@L(@@@@@ )@@@L,@@ @@ -@@@L0@Ġ-Iconst_symbol*A##*B##@;-Iconst_symbol #@g@@@@ABPO@A m m@@@!Jh@@*R##*S##@@@@@LL@@@@@ M@@@LP@@ @@ Q@@@MT@Ġ(Iextcall*e##*f##@ঠ%alloc*p##*q##@3@@@M@@C3@@@tA@3@@AuA@3@@BvA@3@@DwA{@xwA@Ġ#5*##*##@#5@@@@@@@M {@@@*##*##@@@@@M|@M@@@*@@ @@@M@@ @@ @@@M@Ġ,Istackoffset*##*#$@;,Istackoffset ~@ k@@@@AFPO@A!#v !$v #@@@!u@@*#$ *#$ @@@@@M@@@@@ @@@M@@ @@ @@@M@Ġ%Iload*$ $*$ $@;%Iload @ @@@(@AGPO@A!Hw$&!Iz@@;@@,memory_chunk@@ W,memory_chunk@@@!Xw$3!Yw$S@@!v@/addressing_mode@@$Arch/addressing_mode@@@!hxTc!ixT@@!w@*mutability@@(Asttypes,mutable_flag@@@!xy!yy@@!x@)is_atomic@@@@@!z!z@@"y@@GA@@@@@*@@@+BA" z@@+$ $+$ $ @@N@@@M @@@W@@! @@@M@@g @@!@@@M@Ġ&Istore+$$ $#+%$ $)@;&Istore!@ ,memory_chunk@@@M/addressing_mode@@@@@@@CHPO@A!{!{ @@@";{@@+C$ $*+D$ $+@@@@@M#=@@@@@@M$B@@ @@@@M%G@@@/@@!H@@@M&K@@@@!L@@@M'O@Ġ&Iintop+`$ $.+a$ $4@;&Iintop!B@"e1integer_operation@@@@AJPO@A!~  !~  @@@"j@@+r$ $5+s$ $6@@@@@M+l@@@@@!m@@@M,p@@ @@!q@@@M-t@Ġ*Iintop_imm+$ $9+$ $C@;*Iintop_imm!g@%@@@!X@@@@BKPO@A"  "  @@@"@@@+$ $D+$ $E@@7@@@M2@@@@@@M3@@@  @@!@@@M4@@@@!@@@M5@Ġ+Ifloatofint+$ $H+$ $S@;+Ifloatofint!@@@KPO@A"4B K M"5B K Z@@@"H@@@  @@!@@@M8@@  @@!@@@M9@Ġ+Iintoffloat+$V$b+$V$m@;+Iintoffloat!@@@LPO@A"KB K ["LB K h@@@"I@@@  @@!@@@M<@@# @@!@@@M=@Ġ%Inegf+$V$p+$V$u@;%Inegf!@@@EPO@A"bA  "cA  "@@@"B@@@  @@!@@@M@@@: @@!@@@MA@Ġ%Iabsf+$V$x+$V$}@;%Iabsf!@@@FPO@A"yA  #"zA  *@@@"C@@@  @@!@@@MD@@Q @@!@@@ME@Ġ%Iaddf,$V$,$V$@;%Iaddf!@@@GPO@A"A  +"A  2@@@#D@@@  @@" @@@MH@@h @@"@@@MI@Ġ%Isubf,%$V$,&$V$@;%Isubf"@@@HPO@A"A  3"A  :@@@#)E@@@  @@"$@@@ML'@@ @@"(@@@MM+@Ġ%Imulf,<$V$,=$V$@;%Imulf"@@@IPO@A"A  ;"A  B@@@#@F@@@  @@";@@@MP>@@ @@"?@@@MQB@Ġ%Idivf,S$V$,T$V$@;%Idivf"5@@@JPO@A"A  C"A  J@@@#WG@@@  @@"R@@@MTU@@ @@"V@@@MUY@Ġ'Iopaque,j$$,k$$@;'Iopaque"L@@@MPO@A"C i k"C i t@@@#nJ@@@  @@"i@@@MXl@@ @@"m@@@MYp@Ġ)Ispecific,$$,$$@;)Ispecific"c@2specific_operation@@@@AMPO@A# D u w# D u @@@#K@@,$$,$$@@@@@M]@@@@@"@@@M^@@ @@"@@@M_@Ġ(Idls_get,$$,$$@;(Idls_get"@@@NPO@A#)F  #*F  @@@#N@@@  @@"@@@Mb@@ @@"@@@Mc@Ġ&Icompf,$$,$$@;&Icompf"@#0float_comparison@@@@ALPO@A#F@  #G@  @@@#A@@,$$,$$@@@@@Mg@@@@@"@@@Mh@@& @@"@@@Mi@Ġ,Ireturn_addr,$$,$$@;,Ireturn_addr"@@@OPO@A#eG  #fG  @@@#O@@@  @@"@@@Ml@@u,$$@@"@@@Mm@@@{@@#~@@@Mn@@#@@@Mo@@@ภ$None-$$-$$@@@@;@Ġ$Iend-$$-$$@#A@@@@#@@@Ms@@@Ġ'Ireturn-+$$-,$%@!G@@@@#@@@Mv&@@&@@@@#@@@Mw*@Ġ+Iifthenelse-=$% ->$%@!.@-B$%-C$%@@!0@@@M}<@@@$I@@@M~A@@ @$N@@@MF@@@@@#@@@MJ@@J@@9@@#@@@MN@Ġ'Iswitch-a$%-b$% @!@-f$%!-g$%"@@!!@@@M@@@Md@@ @!$t@@@M@@@Mm@@@@@$@@@Mq@@q@@`@@$@@@Mu@Ġ&Icatch-$%%-$%+@!@-$%,-$%-@@!@@@M@@@!@!@@@M@$@@@M@@M@@@M@@@$@@@M@@@"@@$2@@@M@@@@ @@$6@@@M@Ġ%Iexit-$%0-$%5@ ܠ@-$%6-$%7@@ @@@M@@@ @@$L@@@M@@@@ @@$P@@@M@Ġ(Itrywith-%:%B-%:%J@ Р@-%:%K-%:%L@@$@@@M@@@$@@@M@@@ @@$k@@@M@@@@@@$o@@@M@Ġ&Iraise-%:%O-%:%U@ @-%:%V-%:%W@@ @@@M@@@ @@$@@@M@@@@ @@$@@@M@@@ภ$None. %:%[@@@@B@@@A. "Q"W@@D@A@PR@N.@A@@@ఠ'matches.%g%m.%g%t@..cA@@+#ref-Q@N=@@@N>R@N3@@@N:R@N/3.-.,.,.-.-.-.-.-@Q}v@w@x@@@డ,#ref.>%g%w.?%g%z@@!a@@@0(@@@/@@.,%makemutableAA+ߠ@@@+hh+h@@+@@@@2@@N495@@@N2@@N1,@@ภ"[].g%g%{.h%g%}@;-@-ِ@@U@@@@AA@A.>@@-@@@GR@N??@@4 @@Q@@A@.s%g%i @@ డ.*instr_iter$Mach.%%.%%@ .%%.%%@@@@%@@@@@$unitF@@@@@@@@%@@@@@ @@@~@@}@@|@%$o22%%o2n@@%@)$@@@@%@@@NK@@NJ!@@@NI@@NH@@NG@%@@@NF@@NE@@@ND@@NC@@NB3........@@@@@@@࣠@!iA.%%.%%@.dA@@%@@@Nh3........@@@@@ @@ఐ/'f_match.%%.%%@@@@%@@@Nt@@Ns }@n@@@Nq@%P@@@Nr@@Np@@@No@@Nn3........@A8&@@@Ng@2@3@@@@ఐB!i/%%/%%@@@&@@@NV@NV@N@@5 @@ @@@@N@%{@@@N@@N@@@N~+@Ġ$Some/9%%/:%%@ ఠ!x/B%%/C%%@/UeA /F%%@@@@@@N@%@@@N@@NO@@@@@ ݠ@@@@N@%@@@N@@N@@@N`@@ @@@@N@%@@@N@@N@@@Np@@@డ-":=/}%%/~%%@@c!a@@@@9@@8@ @@7$unitF@@@6@@5@@4*%setfield0BA-(@@@@-'-(@@-&@#"@@@~@@@NV@N@@@N@@N@ @@N"@@@N@@N@@N3////////@yq@s@t@@@@ఐ'matches/%%/%%@@@%@@@NW@NW@N@@ภ"::/%%/%%@;/9o@/7B@AA@A/@@/1ఐ!x/%%/%%@-@@ \0@డ.W!!/%%/%%@@ՠ!a@@@@3@@2@@1'%field0AA-@@@--@@-@@@@/nV@N@@@NW@NW@N@@@N@@N @@Nc@@ఐ'matches20"%%@]4@@@@@NX@NX@Nw@@> @@x@@L @@V@N{@@o@@@@@N@Ġ$None0>%%0?%%@!@@@@!ʠ@ @@@N@&@@@N@@N@@@NM@@!ڠ@ @@@N@&@@@N@@N@@@N]@@@ภ"()0g%&0h%&@;00@@@N@@@@A@@A0?@@0 @ @@?l@@@A0q%% @@@@@N30p0o0o0p0p0p0p0p@q@@@0w%%0x%&@@@'@@@Na@@N`@@@N_@@N^S@NS@N@@ఐ %instr0 && 0 &&@ @@ @@@@0=@@@NR@NZ@డ/ $List#rev0 &&0 &&@ 0 &&0 &&@@@!a@E@@@F5@@F4 :@@@F3@@F2@ee@@M@@@@ F@@@O@@O K J@@@O@@N@@డ/F0 &&0 &&@@@@à7 g@@@O R@OR@O@@@O@@O @@O@@ఐߠ'matches L@4 M@@ޠ@@@OS@OS@O'@@' V@@(@@] W@@ )@ X@@ *@ Y@@ @  Z@@  &@ d [A@ P@O b@A@ _@ _ ^@ u@ఠ2instrument_fundecl1 &(&,1 &(&>@1*fA@@0future_funcnames@@O$P@O @@O!@19'fundecl@@@O+P@O%@@O&1A'fundecl@@@O/P@O'@@O(P@O"@@O#P@O31817171818181818@   @ @ @@@࣠%A@1H &(&Q1I &(&R@@'31E1D1D1E1E1E1E1E@81N &(&(1O(U(Z@@@@@1Q &(&? @@!fA1[ &(&T1\ &(&U@1ngA@г3$Mach1j &(&X1k &(&\@:1n &(&]1o &(&d@@@B@@@O)* @@1v &(&S1w &(&e@@@I.@@@@ఐ/k !function_is_assumed_to_never_poll1 &w&|1 &w&@-@@@/f@@@O5@@O4/a@@@O3@@O2311111111@I@f@@@O,@:@;@@@@ఐL!f1 &w&1 &w&@@@('fundecl@@@OB@O@@(fun_name1 &w&1 &w&@3(fun_name @@@U&@@@K@@@ 3(fun_args (6(4!t@@@M@@@L@@A@A(H_ 5 9(I_ 5 O@@(@3(fun_body(@@@N@@B@A(Q` P T(R` P j@@(@33fun_codegen_options$%I'`.codegen_option@@@P@@@O@@C(@A(ba k o(ca k @@(@3'fun_dbg5(;!t@@@Q@@D4@A(nb  (ob  @@(@3(fun_pollA$.poll_attribute@@@R@@E@@A(zc  ({c  @@(@33fun_num_stack_slotsM(y'@@@T@@@S@@FO@A(d  (d @@) @@A(^  #(^  4@@)@qb@@/@@@O>S@OCS@OA@@j@@&@@@ODS@O<@ఐѠ!f2) &w&2* &w&@@@@@@O0R@OFR@OE@@ఠ2handler_needs_poll2>&&2?&&@2QhA@@@*9@@@Oa@@O`)@@@O_@@O^S@OG32I2H2H2I2I2I2I2I@@@@ఐ)5polled_loops_analysis2X&&2Y&&@#9@@@)@@@OO@@ON@*W@@@OM@@OL)@@@OK@@OJ@@OI@@ఐ !f2x&&2y&&@@@@@@Og@Oe2@(fun_body2&&2&&@@@)@@@OcT@OhT@Of@@@7 @@KA@A@2&& @@@ఠ(new_body2&'2&'@2iA@@)@@@OS@Oi322222222@le@f@g@@@ఐ*instr_body2&'2&'@ @@@@@@@Os@@Or. @@@OqA@Op@@Oo@)@@@Om@@On@@Ol@@Ok%@@ఐ2handler_needs_poll2&'2&'.@/@@@*@@@O@@O*@@@O@@O<@@ఐ!f2&'/2&'0@Z@@H@@@O@OP@(fun_body2&'12&'9@+@@^T@OT@O[@@P@@_\@A@3&' @@ ఐ!f3'='M3'='N@}@@k@@@O@O333333333@t{@|@}@@@(fun_poll3'='O3'='W@+@@*@@@O @Ġ*Error_poll3.']'c3/']'m@;*Error_poll&Lambda.poll_attribute@@@@@@@B@@A1lambda/lambda.mli   !@@@ @@@@@J@@@O-@@M@@@O0@@@ఐ ࠐ8find_poll_alloc_or_calls3R'w'3S'w'@@@@*Y@@@O@@O ٠@ @@@O@)@@@O@@O@@@O@@OU@@ఐ۠(new_body3v'w'3w'w'@_@@*}@@@OW@OW@Oi@@/ @@ @ @@@Oɠ@)@@@O@@O@@@Oz@Ġ43''3''@3@@@@ @ @@@O۠@)@@@O@@O@@@O333333333@@@@@ +@ (@@@Oߠ@* @@@O@@O@@@O@@@ภ]3''3''@\@@@3@@@P;S@OS@O @ఠ1poll_error_instrs3''3''@3jA@@ X@ U@@@O砠@*7@@@O@@O@@@O@@ h@ e@@@O렠@*G@@@O@@O@@@O@@@డ2l%raise4''4''@@#exnG@@@@@!a@@@&%raiseAA1@@@1^BB1^Bg@@1@@@@@@@@O@@O_X@O@@O34"4!4!4"4"4"4"4"@VO@P@Q@@@@ภ%Error43''44''@;0!32@@@@0A0'@@A0@@0ภ*Poll_error4B''4C''@;00@@@@0A@@A@A0{@@0xఐ{1poll_error_instrs4R''4S'(@+@@0@0@@@P@0@@@P@@P @@@P X@PX@PB@@64j'(@@0P@@@PX@P I@@4q''4r'( @@j@@@OX@PQ@@u@@R@@@A4z']'q4{( (@@@Ġ,Default_poll4((4((&@;,Default_pollX@@@AB@@AP!!Q!!'@@@X@@@  @@@@@O|@@@@@O@@@ภ54((*4((,@4@@@@@@A4'='A4((0@@@@@@PKR@PI@@@@PR@@@PQR@PN@衠(fun_body4(2(?4(2(G@ఐ*(new_body4(2(J4(2(R@@@+@@@PCR@PD @@@@P[@@@PZR@PW@@@@P`R@P^@@@@PeR@Pc@@@@Pl@@@PkR@Ph@@ఐ!f4(2(84(2(9@g@@W@@@PjR@PdR@PHV@5(2(65(2(T@@R@Po[@j@@\@ @@f@5 &&@@@5  &w&y@гڠ$Mach5 &(&h5 &(&l@5 &(&m5 &(&t@@@Ұ@@@@@A@P@Ps@A@@@蠰@ఠ6requires_prologue_poll50(\(`51(\(v@5CkA@@0future_funcnames"Z@@@PP@Pu@@Pv(fun_name3%@@@PP@P{@@P|@"b@@@PP@P@@P/&@@@PP@P@@PP@P}@@P~P@Pw@@PxP@Pt35Y5X5X5Y5Y5Y5Y5Y@"MF@G@H@@@࣠--A15k(\(x5l(\(@5~lA@@335j5i5i5j5j5j5j5j@D5s(\(\5t )8)S@@@@@5v(\(w @44A85(\(5(\(@5mA@@:35~5}5}5~5~5~5~5~@ J@@@@@@5(\(@@!iA5(\(5(\(@5nA@@A355555555@O@@@@@@@@ఐ3 !function_is_assumed_to_never_poll5((5((@2@@@3@@@P@@P3@@@P@@P355555555@*a@!@"@@@@ఐB(fun_name5((5((@*@@y@@@@*Q@@@PT@P@ภ.5((5((@.@@@u@ఐ#>potentially_recursive_tailcall5((5()@ @@#"@@@P@@P@"@@@P@@P"@@@P@@P@@P>@#ఐ0future_funcnames5()5()@w@@K@@ఐy!i6()6()@U@@X@@/@@#@@@P\@Ġ.Might_not_poll6))!6))/@&@@@@#!@@@Pl@@#$@@@Po@@@ภ/6&))36'))7@/@@@w@Ġ,Always_polls63 )8)>64 )8)J@&@@@@#<@@@P@@#?@@@P@@@ภ.6A )8)N@.@@@@@@A6D((@@@6F((@@@A@P@P@A@@@@ఠ*instr_type6V$)i)m6W$)i)w@6ioA@@@@@@PP@P@@P5Z@@@PP@P@@PP@P36e6d6d6e6e6e6e6e@ @9@:@;@@@࣠@!pA6x$)i)x6y$)i)y@6pA@@36w6v6v6w6w6w6w6w@+6$)i)i6))*@@@@@  @@ఐ!p6%)|)6%)|)@0@@@@1366666666@"@@@Ġ$Poll6&))6&))@J@@@@@@@@@@@-inserted poll6&))6&))@@6&))6&))@@E@Ġ%Alloc6'))6'))@@@@@W&@@W&@@@*allocation6'))6'))@@6'))6'))@@\0@Ġ-Function_call6())6())@T@@@@n=@@n=@@@-function call6())6())@@6())6())@@sG@Ġ-External_call6)))6)))@ @@@@T@@T@@@7<+**7=G.B.G@@@@@  @@Ġ*Poll_error7H,*;*=7I,*;*G@ఠ&instrs7Q,*;*H7R,*;*N@7dsA@@3@3@@@Q@3@@@Q@@Q@@@Q 37`7_7_7`7`7`7`7`@.:_@1@2@@@@@!@@P@@@@ఠ2num_inserted_polls7s.*Z*b7t.*Z*t@7tA@@#intA@@@QcT@Q37z7y7y7z7z7z7z7z@4-@.@/@@@డ5$List)fold_left7/*w*}7/*w*@ 7/*w*7/*w*@@@@@@(T@Q@@Q!@@ @@@QfT@QE@3@@@QT@QF@@QGT@Q@@Q @@Q@@Q@@Q@@@Q@@@@Q@@Q$@@Q@@Q@@Q377777777@D@@@@࣠@!sA70**70**@7uA@@7W@@@@ A@ఠ!p70**70**@7vA@@>377777777@k M@@@@@@@70**70**@@@ @@70**70**@@@N@I@@QI@@ @@డ6n!+80**80**@@@@@@@@@@@@@@@@@@@@'%addintBA5@@@@50++50+,@@5n@ @@@@@@QS@@QR@@@@QQ@@QP@@@QO@@QN@@QM38281818282828282@OX@R@S@@@@ఐu!s8D0**8E0**@[@@@@ఐn!p8S0**8T0**@@@@Ġ$Poll8`0**8a0**@ @@@@,@@,@@@A8g0**8h0**@@U@@@Qk5@Ġ%Alloc8z1**8{1**@@@@@F@@F@Ġ-Function_call81**81**@@@@@Q@@Q@@@@R@Ġ-External_call81**81**@D@@@@]@@]@@@@^@@@@81**81**@@2d@@@A80**@@@@@QaX@Qtk@@_ @@,X@Q_n@80**82++@@@@@Q:@@@Q9@@Q8@@Q7U@QU@Q{5@@@82++82++ @@FU@Q@@ఐx&instrs82++ 82++@J@@.@@@Q4U@QU@Q@@F @@6V@A@8.*Z*^ @@@ఠ.num_user_polls83++83++,@8wA@@n@@@QT@Q388888888@m~w@x@y@@@డ7_!-83++D83++E@@@@@@@@@@@@@#@@@@@@@'%subintBA6@@@@65,~,~65,~,@@6o@ @@@@@@Q@@Q@@@@Q@@Q>@@@Q@@Q@@Q=@@డ7$List&length983++0993++4@ 9<3++59=3++;@@@$!a@E@@@F@@F#intA@@@F@@E@,k-k @@+C@ @@@@5@@@Q@5@@@Q@@QU@Q@@@Q@@Q!@@@Q@@Q@@ఐ*&instrs9{3++<9|3++B@@@>&@@@QV@QV@Q@@93++/93++C@@@@@Q@QV@Q@@ఐ'2num_inserted_polls93++F93++X@@@@@@QU@QU@Q@@ @@@A@93++ @@డ8!=94+\+t94+\+u@@!a@@@@@@7@@@@@@@&%equalBA7W@@@@7Vy7Wy@@7UQ@@@@@@@QS@Q@@Q@ @@Q@@@Q@@Q@@Q399999999@@@@@@@ఐ .num_user_polls94+\+e94+\+s@ @@@@@94+\+v94+\+w@@%T@Q@@@@.@@@QT@Q!@డ8b'fprintf: 5+}+: 5+}+@@@@@ ]@@ \@&Stdlib&format!a@  @@@ Z@@@ [@@@ Y@@ X @@ W@@ V@4utils/format_doc.mliQ@@!y@)(@@@+@@@Q@@Q@&"S@QҠ8@@@Qՠ'@@@Q@@@Q@@Q @@Q@@Ql@@ఐ$#ppf:U5+}+:V5+}+@@@Oy@@ภ8CamlinternalFormatBasics:2&Format:4:e5+}+:f6++A;&Format8CamlinternalFormatBasics'format6!a@RT!b@RU!c@RV!d@RW!e@RX!f@RY@@@W@'#fmt$ @@@W&stringQ@@@W@B@@A@A,,<>,-@۰@@@@@@X@@X@۠@_@@@Yw@@Yv n@@@YY@Y Y@YIY@Y`@@YuY@X@@@X@@@X@@@X@@X@@X@@X}@@ఐꠐ#ppf=>,-=>,-@@@@@ภ<<=)>,-=*>,-AĠภ=,Char_literal= ;,Char_literal!a@Sq!b@Sr!c@Ss!d@St!e@Su!f@Sv@@@W@$charB@@@WϠ)%!@@@W@BLAYAA%%%%@@@l@II@@@@Y\Z@Y_Z@Y^@ภ=O&String=QY;&String!x@R!b@R!c@R!d@R!e@R!f@R@@@VѠ!a@R@A'padding)@@@@V@@V@@V@@@VҠ)2.*&"@@@V@BBAYAA !Z|@@@Yb@ภm=*No_padding=;*No_padding(!a@Uנ@@@U@@@@ABAA9e:e@@@rj@@@8[@Yb@@@YtZ@YT@ภ=@=?$ at @@$@@@YZ@YZ@Yh@ภ=Ӡ=@@vY@Y[Y@YsY@Y[@Y@@@Y Z@YHZ@YZZ@YrZ@Y@@@YZ@Y@@@'@@@YxZ@Y@@@<[@YM%&'(@@@Y]Z@Yq@@@H[@Y((?@AB@@@YJZ@YY@' %s at !@!@@@@YKZ@YZ@Y@@('@@<a>U@@@Y Z@YG@@ఐ*instr_type>e>,->f>,-@?@@@@@@Y@@Y=b@@@Y@@Y@@ఐ!p>|>,->}>,-@@@F@@>>,->>,-@@[@Y@@@@Y@Y@ డ(Location#Doc#loc(Location>?-!-->?-!-5@ >?-!-6>?-!-9@@>?-!-:>?-!-=@ @*Format_doc'printer(Location!t@@@^:@@@^9@4parsing/location.mli"$"A@@ d@$@@@@@^?@@@^>2@@ఐ#ppf>?-!->>?-!-A@k@@?@@డ;+to_location)Debuginfo>?-!-C>?-!-L@ >?-!-M>?-!-X@@@@@@@@(Location!t@@@@@@4lambda/debuginfo.mliF - -F - N@@i@@@@@@@_@@_@@@_@@_v@@ఐ#dbg??-!-Y??-!-\@@@@@??-!-B??-!-]@@n@@@^U@_[@_@@ @@@@@_Y@^Z@డ='fprintf?0@-_-k?1@-_-r@'@@@,@@@_@@_@'2@@@`hX@_X@_>@@@_-@@@_@@@_@@_@@_@@_@@ఐ*#ppf?[@-_-s?\@-_-v@@@U@@ภ?7?8?i@-_-w?j@-_-{Aภ?B@?C ?J@#@@@`DY@`GY@`F@ภ$?U?V@@NX@`1X@`CZ@`5@@@_Y@`0Y@`B  @@@`EY@`Q @@5@Z@`@@@`2Y@`A@! F@F@@@@`3Y@`TY@`S!@@ML@@z'z@@@_Y@`/*@@U@@~+@%V@@,@W@@-@@@A?;,,?A-|-@@@@@`m3@?:,c,u?B--@@@@@X@@@X@@XU@`rU@`of@@ఐ&instrs?B--?B--@`@@ɠ@@@XU@`yU@`u @@ @@V@@@`zT@X@డ>c!>?C--?C--@@!a@@@*@@@)=@@@(@@'@@&,%greaterthanBA=@@@@==@@=T@@@@@@@`S@`@@`@ @@`@@@`~@@`}@@`|@@ఐ2num_inserted_polls@2C--@3C--@G@@@@@@<C--@=C--@@"T@`@@@@4@@@`T@`@డ>'fprintf@OD--@PD--@F@@@ K@@@`@@`@F BS@` X@@@` G@@@`@@@`@@` @@`@@`@@ఐ D#ppf@uD--@vD--@ @@ o @@ภ @Q@R@D--@E..7Aภ+@\@] ܠ N (plus compiler-inserted polling point(s) in prologue and/or loop back edges) @@@@@`T@`T@`*@ภ?@p@q@@NS@aS@`S@`S@`U@` @@@`T@`T@`@@@`T@aM@@:@.U@` @@@`T@`Y@;J@J@4@@@`T@aT@ad@@QP@@y&/@@@`T@`m@@Y@@}n@@@C--[@@p@\@@q@@7+,@F.8.A@@t@@4+\+b@@v@@@@@@-*R*T @@  i@@A%paramA@+**2 @@@  A@ P@a @A@ @  @ ʠ@Ġ@I.I.M@I.I.O@@@@@@@@a"3@@@@@@@@@   @ @ @@@డz5register_error_of_exn(LocationAJ.R.TAJ.R.\@ AJ.R.]AJ.R.r@@@@#exnG@@@^@@^&optionL|%error@@@^@@@^@@^@@]$unitF@@@]@@]@y44y44@@_@-(@@@@%@@@a+@@a*"@@@a)@@@a(@@a'@@a&@@@a%@@a$3AMALALAMAMAMAMAM@R@@@@@Ġ%ErrorAaL..AbL..@ .ఠ#errBAjL..AkL..@A}zA@@=Q@@@aF@@@@@R@@@aH#@@@ภ$SomeA{L..A|L..@2డ5error_of_printer_file(LocationAL..AL..@ AL..AL..@@@@)formatter@@@]@@]@!a@Y@@]w@@@]@@]@@]@@]@ @@]@@@]@@]@@]@t4"4"t4"4p@@^@.)@@@@&@@@ae@@ad@ @@@aS@a^@@ac$@@@ab@@aa@@a`@@a_@ @@a]@@@a\@@a[@@aZ3AAAAAAAA@sl@m@n@@@@ఐ 堐,report_errorAL..AL..@@@@ @@@a@@a@ @@@a@@a @@@a@@a@@a!@@ఐ#errBL..BL..@+@@=T@a0@@BL..B L..@@@@@aV@aT@ay:@@ @@@@@aO@@@aNB@@BM..BM..@@@@@aK@@@ภ$NoneB(M..B)M..@3@@@@@ACCB-K.s.x@@@B/K.s.wB0N..@@@@@@a<@@a;@@@a:@@@a9@@a8Q@aQ@aC@@4@@@@@aQ@a6I@A@BJI.I.I@@@L@@A@x@@v@@@@pA@K@@F@j@@@>>@>>A@>>A@>F>@B@>$>A@=@:@:=@@:@:"@9:@@93C@3q3kA@3A@0R@0P3;@@0J@0@/0D@@/)@)((@(]@5@c @ L @ ( R@ z@@3BwBvBvBwBwBwBwBw@|@@@ M'PollingG@@jF@A1:C@A2:B@A3!:A@A3I:@@A @ H************************************************************************BA@@BA@L@ H BBMMBBM@ H OCaml BCBC@ H BDBD3@ H Xavier Leroy and Damien Doligez, projet Cambium, INRIA Paris BE44BE4@ H Sadiq Jaffer, OCaml Labs Consultancy Ltd BFBF@ H Stephen Dolan and Mark Shinwell, Jane Street Europe BGBG@ H BHBHg@ H Copyright 2021 Institut National de Recherche en Informatique et BIhhBIh@ H en Automatique. BJBJ@ H Copyright 2021 OCaml Labs Consultancy Ltd BKBKN@ H Copyright 2021 Jane Street Group LLC BLOOBLO@ H BMBM@ H All rights reserved. This file is distributed under the terms of BNBN5@ H the GNU Lesser General Public License version 2.1, with the BO66BO6@ H special exception on linking described in the file LICENSE. BPBP@ H BQBQ@ H************************************************************************CRCRi@ 6 These are used for the poll error annotation later onC^QQC ^Q@ ] Detection of recursive handlers that are not guaranteed to poll at every loop iteration. Cd''Cej@ | 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. CgCo  @ { [exnescape] is [Safe] because we can't loop infinitely having returned from the function via an unhandled exception. CW x zCX  @ ] Detection of functions that can loop via a tail-call without going through a poll point. C [ A AC!\  @ 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. C&^  C'@0 this is a PTRC C,"OC-"c@0 this is a PTRC C2C3@4 this is not a PTRC C86C9N@  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. C>mmC?@ Since we are only interested in unguarded _back_ edges, we don't use [ube'] for instrumenting [body], but just [ube] instead. CDgmCE@. Error report CJ")U)UCK")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"-cCC S/home/teraram/ci/builds/workspace/parallel-build/flambda/true/label/ocaml-manycores ?>3210/.-,+*)('&%$#"! @@0 0v +3CCCCCCCC@C@@$Arch0ʬ)f} W(Asttypes0eT$BbRM dc+Backend_var0Xʮz{9`z5Build_path_prefix_map0zd,J4z8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Cmi_format0{)ݬ[ƥ  #Cmm0ϝI1R*Data_types0v\3,SvhЃzV)j⠠,Identifiable0]/*N &Lambda0x_edT-uq)Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡD 0T>Pąlvٵ$Misc0Kvor#2DBD0 q޷He+Outcometree03DCͰN )Parsetree0v o[pY Y$Path0k.tbGmᠠD40B^L=(%)Primitive0i>ŸkTǍ#Reg0+CJg`ߝ%Shape0 M``ll&Stdlib0t0VoS%{<F:+Stdlib__Arg03#a]֢2T-Stdlib__Array0ѤT f:Pd.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ-Stdlib__Int640q=cT?Q1ˠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0C|Z`>s䠠+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+)Targetint0ﲵ+^| y栠.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR(Warnings0Ef{&'X86_ast058ߺ<%R@@At##(55@@@ARA6BB@BB@AFA0@33@ Α @  _i*X*b22@P@b@@@5E5O55@<-<7@$.5ޓ5@@@AA@$$22@ v ;<AAeC0C:@@,6,@>ܑ>@Ք@@AsA@@@AAj@@@@@@==@Ց߰**1ӑ1@pzϑٰ@@65@))@##@@@J@%q%{AHAu@66,@Г@@ 55@@PE:@@@@@@@@@AB@@