Caml1999T037&jgFC-StackframegenР$Mach$Mach8asmcomp/stackframegen.mlSS@@ 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@@@S@@@3@@@A+/analysis_result!AUU@@;@@6contains_nontail_calls"@@e@@@VV@@GA.frame_required#@@q@@@WW@@HA0extra_stack_used$@@@@@XX@@IA@@A@@@@@UY@@@@FA@#))$V@#@@Ш@г,$boolVV@@43@LB;@@@A@@@@@@@@@@@@;@@@7@#33.W@-@@Ш@г6$boolWW@@>@@A@@@=@#994X @3@@Ш@г<#intX  X@@D(@@G@@+@C@@A@?@@?>@3      @w@@/@@2stackframe_generic[![3@'B&B%BБఠ$self(([>)[B@;KA,[=-[C@@1trap_handler_sizeA@@@@@D@'is_callA@$Mach0instruction_desc@@@D@@@$boolE@@@D@@@D@@@D@.frame_requiredA@!'fundecl@@@D@@@@$@@@wD@@@@@@*D@@@D@@@D@@@D@'analyzeA@'D@@@@@@*D@@@D@@@D@@@@D@@D@@D@@D@@@D@3@;@@@A(A'QAPtAsA@@*tC@*m@*v@*w@*x@*yC@@@@@@@[t@@@@JA#@&@@<@A@8@@6@@@@@Aj@A@f@@@]@@W@@@@@@@B@A@@@@@@@@@@@@@@@@AC'*undef*C@@@*#@@@@@@@ ;@@HAoAnAAA@@*@*@*@*@*C@b@@@@@@I@@@F@@F@@@)selfpat-*)ٱLA@e@ذ``@AШ@г٠#int``@@3@yAA@@@@@!`@@'p(p@AA࣠@&self-13Aఠ&self-*2  AJOA@ 354455555@|@.@A/@0@1@ABC@!1@[MAE@@^NA@@@  `PA @ @@@@Ġ#Iop\q]q@;#Iop@@@J@)operation@@@8@A@BG@A0asmcomp/mach.mliT  T  @@@w@Ġ)Icall_indzq{q@;)Icall_ind@@@"@@@CPO@Ann@@@1i@@@  @@#@@@3@RX^@V@U`_@W@@@@@Ġ)Icall_immqq@;)Icall_imm@7@@@.@ACPO@A6o7o&@@;@@$func@@&stringQ@@@ FoGo$@@_j@@CA@@@@@@@@EAbk@@qq@@"@@@5@@@+@@\@@@9@@J @@`@@@=@Ġ(Iextcallq q@;(IextcallS@o@@@*@AEPO@Anracou @@;@@$func@@8@@@ |ras}ra@@o@&ty_res@@#Cmm(machtype@@@ ss@@p@'ty_args@@$listK'exttype@@@@@@ ss@@q@%alloc@@$boolE@@@tt@@r@)stack_ofs@@#intA@@@uu @@s@@EA@@@@@@@@=CAt@@1q2q@@a@@@ @@@j@@@@@ @@;q~@@r-r.@@0@@@ @@@r%r/@@:@@@ @@@H@@T@Ġ#Iopr2r5@LĠ%Ipollr7r<@;%Ipoll7@S@@@$@ANPO@ARE  SE  @@;@@,return_label@@&optionL%label@@@!@@@ iE  jE  @@L@@NA@@@@@@@@@AM@@r=r>@@)@@@ X@@@r6r?@@@@@ ^@@@A@@_@@@@`@@@ภrCrG@@@@h@Ġ#Ioptt@Ġ&Iintoptt@;&Iintop@1integer_operation@@@@AJPO@A~  ~  @@@@Ġ+Icheckboundtt@;+Icheckbound@@@@@@LMA@AZz|Zz@@@X@@@(t)t@@ @@@ @@@)@@@@@ @Ġ*Iintop_imm7t8t@;*Iintop_imm@2@@@@@@@BKPO@A    @@@@@Ġ+IcheckboundPtQt@5@@@@I@@@ "@@YtZt@@@@@ #@@@(_t@@@@@ $@@dtet@@@@@ %@@@p@@@@@డ!!sttt@@&Stdlib#ref!a@@@@3@@2@@1'%field0AA @@@*stdlib.mli@@@@@@GD@D@(G@G@/@@@1@@0@@.@@డ'Clflags%debug'Clflags=t@ tt@C@&Stdlib#ref$boolE@@@A@@@@@1utils/clflags.mliS [ [S [ o@@'Clflagsm@Z@@X<@@@8H@H@L@@d"@@M@Ġ&Iraisevv @;&Iraise@&Lambda*raise_kind@@@I@AFBG@A[  [  @@@~@Ġ&Lambdav v @-Raise_notracev v @@;-Raise_notrace&Lambda*raise_kind@@@ @@@BC@@A1lambda/lambda.mli@@@ @@@@@/@@@@@@8@@@@@ภ%falsev v #@;@@@@B@@A@@@@@@Ġ&Iraise*w $ (+w $ .@KĠ&Lambda7w $ 08w $ 6@-Raise_regularD@9@p@@pC  C  @AA࣠@&self-1AఠSA@3@@@@  TA@@@@࣠@!fAC  C  @UA@@3@@@!@@@@@@  @@.contains_callsAC   C  @VA@@3@ @@@@@@@@డ"||D  D  @@@@@]@@\@@@@[@@Z@@@Y@@X@@W'%sequorBA@@@@@@^@@@@@@@g@@f@@@@e@@d@@@c@@b@@a3EDDEEEEE@?K@B@C@@@@ఐR.contains_callsWD  XD  @ @@@@డLNeE  9fE  ;@K@@@@@@@@@@@@~@@}K@@@|@@{@@z/@@డ!>E  5E  6@@!a@@@*@@@):@@@(@@'@@&,%greaterthanBA@@@@@@"T@@@@@@@I@@@@ @@@@@@@@@i@@డ(%Array#getE  E  4A@%arrayJ!a@@@@@@@#intA@@@@@@@@@/%array_safe_getBA @@@@)array.mlid::d:r@@-Stdlib__ArrayB@)(A@@&NJ@@@@@@@!@@@@@ @@@@@@ఐ!fF E  @H@@@3fun_num_stack_slotsE  E  0@33fun_num_stack_slots@@@U%arrayJu@@@T@@@S@@F3(fun_namez@@@K@@@@A^  #^  4@@@3(fun_args#Reg!t@@@M@@@L@@A@A_ 5 9_ 5 O@@@3(fun_body-@@@N@@B#@A` P T` P j@@@33fun_codegen_options6L`.codegen_option@@@P@@@O@@C4@Aa k oa k @@@3'fun_dbgG!t@@@Q@@D@@Ab  b  @@@3(fun_pollS.poll_attribute@@@R@@EL@Ac  c  @@@_@Ad  d @@ @e@@@@@K@K@4@@@E  2E  3@@@@@K@K@D@@@@E@@@E  7E  8@@J@P@@@@!@@@@J@X@@డ)+E  VE  W@(@@@@@@I@@@@ @@)@@@@@@@v@@డ5  E  <E  UA A@@ %J@@@@@@@@@@@@ @@@@@@ఐ!f E  =@"@@@3fun_num_stack_slotsE  >E  Q@)@@1&@@@K@K@@@A E  S E  T@@3@@@K@K@@@BA@@8@@@ E  X E  Y@@fJ@@@N@@@@@@J@@@a @@@@@u@I@@@@@D@*7D@s@<A@@A@@@@@@@@@@@@@@F@ @@@@@@@@@@@@@@@@@@D@i@ PC  8@@ʰ VN   WN  @AA࣠@&self-1Aఠ/Ӡ0. wWA/@73 b a a b b b b b@-@@@  1 zXA:2@:@@2@࣠@!fA vN   wN  @ YA@@3 u t t u u u u u@BN@F@!O@G@@@@@  @@@ఠ6contains_nontail_calls֠ O   O  @ ZA@@L@@@G@@@@G@3        @!-@$@%@@@డ#ref O   O  @@!a@@@07@@@/@@.,%makemutableAA.@@@-hh.h@@>@@@@.@@H1@@@ @@ ,@@ภ O   O  @@@@=H@9@@.@@C:@A@ O  @ఠ.contains_callsנ P   P  @ [A@@j@@@'G@@@@$G@ S@డ^#ref P   P  @P@@@@@@@@@@g@@ภ P   P  @@@@%H@(t@@@@+u@A@ P  @ఠ+extra_spaceؠ Q   Q  @ ,\A@@ @@@5G@,@@@3G@ @డ#ref 1Q   2Q  @@@@@@-@@@+@@*@@@ CQ   DQ  @@!@@@@'@A@ GQ  @@Aఠ'analyze٠ RR   SR  "@ e]A@@@#intA@@@$gG@7@@B@@@@$G@;@@A @@@$G@=@@@@@?3 l k k l l l l l@@@@@b[@\@]@@@࣠@"spA R  # R  %@ ^A@@-3        @;@6@@8@0@@<+@@>H@9@@:H@6@A@B@@@@@@!iA R  & R  '@ _A@@>3        @*M@!@"@@@@@@ డ 13 S * 4 S * 5@0@@@lG@$hG@G@G@G@pG@U@@V@@@T7@@@S@@R@@Q3        @+7k@.@/@@@@ఐ["sp S * 1 S * 3@7@@@@డ Rwy S * 6 S * 7@v@@@v7K@e@@@g@@f@@d(@@ఐ砐+extra_space S * B@@@@@@nL@qL@o<@@" @@=@@1 @@ @@@rK@`D@డ ":= S * T S * V@@!a@@@@9@@8@ @@7$unitF@@@6@@5@@4*%setfield0BA@@@@@@@#"@@@ȠJ@x@@@z@@y@@@w@@@v@@u@@t@@ఐ@+extra_space YS * H ZS * S@@@@@@K@K@@@ఐ"sp nS * W oS * Y@ʰ@@@@@@ @@@J@K@@@ zS * . @@ @ డ km T [ n T [ p@j@@@G@@@J@@@@@@@ @@k@@@@@@@@@ఐȠ.contains_calls T [ _ T [ m@2@@3!@@@K@K@@@డ % T [  T [ @@@@ E@@@@@@ p@@@@@@@@@@@@@@డ Dik T [ q T [ r@h@@@h k@@@L@L@@@@@@@@@@ఐ.contains_calls T [ @@@@@@M@M@3@@' @@4@@ ఐ$self T [  T [ @հ@@ E@ΰ T [ @@@ @@ @@L@@ఐ!i &T [  'T [ @X@@[@$desc -T [  .T [ @3$desc@@@7 @@@/@@@ 3$next @@@0@@A@AK T XK T j@@ q@3#arg,!t@@@2@@@1@@B@AL k oL k @@ r@3#res#=&!t@@@4@@@3@@C(@AM  M  @@ s@3#dbg4!t@@@5@@D4@A N   N  @@ t@3$live@@#Set!t@@@6A@EB@A O   O  @@ (u@@A J 8 < J 8 S@@ ,p@\T@@ 4M@@@uW@@ -@@X@@L@@@[@@@@@J@@ఐ!i U   U  @˰@@6@$desc U   U  @s @@ S@@@@Ġ$Iend V   V  @;$Iend T@@@@BG@A KS   LS  @@@ dv@@@  @@ j@@@3        @@@@@ n@@@@@@ภ"() V   V  @; f p@@@N@@@@A@@A @@ i@ @@e@Ġ#Iop W   W  @ ~Ġ,Istackoffset W   W  @;,Istackoffset i@@@@@AFPO@A v  v #@@@ u@ఠ%deltaܠ W   W  @ `A@@@@@3        @1@@@@@ W   W  @@ @@@@@@-@@ @@@ @@ @@@@@@ఐĠ'analyze X   X  @@@@@@l@@@k@@j@@i3        @T/(@)@*@@@@డ !+ 0X   1X  @@@@@@@@@@@@@@@@@@@@'%addintBA@@@@0++0+,@@n@ @@@@@@~@@}@@@@|@@{@@@z@@y@@x@@@ఐ렐"sp kX   lX  @ǰ@@M@@ఐ%delta xX   yX  @W@@A@@@M@M@a@@ X   X  @@M@f@@ఐ!i X   X @Ű@@0u@$next X  X @d @@CG@$@@@  q9P q9^@@ m@@DA@@@@@ @@@DA n@@ Y/ Y0@@ @@@@@@)@@ @@@@@YY1@@ @@@@@@Q@@ @@@ @@ @@@ @@@ภKY5Y7@J@@@@Ġ#IopZ8>Z8A@  Ġ)Icall_ind)Z8C*Z8L@ @@@@ @@@0@Ġ)Icall_imm5Z8O6Z8X@ @:Z8Y;Z8Z@@ @@@ @@@@ @@ @@@ D@@DZ8BEZ8[@@ @@@ J@@@,@@ @@@N@@ @@@Q@@@ డ @BZ[_~[[_@?@@@ @@@L@@@@@@@ @@@@@@@@@@r@@ఐ6contains_nontail_calls{[_g|[_}@@@ !@@@M@M@@@ภ H[_[_@ G@@@-M@@@@@)@@@L@@ఐP'analyze\\@@@@O@@@G@@B@@@@@@ఐ7"sp\\@@@`@@ఐ)!i\\@@@c@$next\\@ @@1L@@@1@@h@Y@@i@Ġ#Iop]]@ @]]@@ @@@@@@ @@ @@@@@ @@@@@@ఐ'analyze^^@q@@@@@@@@@@@@@@ఐ"sp ^^@i@@@@ఐ!i^^@N@@ @$next#^$^@ @@L@)@@1@@*@Ġ'Ireturn3_4_@;'Ireturn @@@ABG@A U   U  @@@ x@@@  @@ @@@A@@ @@@D@@@ภH_I_@@@@L@Ġ+IifthenelseU`V`@;+Iifthenelse @ $test@@@9@@@:@@@;@CABG@A V   V  B@@@ y@@o`p`@@@@@"3onnooooo@@@@ఠ$ifsoݠ|`}`@aA@@@@@#@ఠ%ifnotޠ``@bA@@ @@@$@@@=`@@ C@@@%"@@ F@@@&%@@@ ఐR'analyzea a@@@@Q@@@I@@D@@@@3@:3@4@5-&@'@(@@@@ఐ>"spaa@@@g@@ఐO$ifsoaa@@@-M@!@@-@@f"@ ఐ'analyzeaa#@U@@@@@@@@|@@@@8@@ఐq"spa$a&@M@@E@@ఐt%ifnota'a,@M@@`M@T@@(@@U@ఐ'analyze a.a5@@@@@@@@@@@@@i@@ఐ"sp"a6#a8@~@@v@@ఐ!i1a92a:@c@@@$next8a;9a?@ @@L@@@1@@@c@@@@@@Ġ'IswitchJb@FKb@M@;'Iswitch @8 2@@@=@@@<B @@@?@@@>@BBBG@A W C E W C o@@@z@@ib@Njb@O@@@@@/@@@.3mllmmmmm@@@@ఠ(branchesߠzb@Q{b@Y@cA@@% @@@1@@@0@@@<b@Z@@7@@@2@@:@@@3@@@ డ%Array$iterc^fc^k@ c^lc^p@@@@!a@@@Y$unitF@@@X@@W@@V@@@@U@@T@@@S@@R@@Q@@@S@,'@@@@-L@@@"@@@@@@@@ @@@@@@@@@@@@3@le@f@g@@@@ఐ'analyzec^rc^y@h@@@@@8@@@7@@6@@5@@ఐ"spc^zc^|@`@@'@@c^q c^}@@@@@D@@C.@@ఐ(branchesc^~c^@8@@eR@@@.M@IM@GC@@ @@@@@JL@,I@ఐࠐ'analyze2c^3c^@@@@@@O@@@N@@M@@L]@@ఐǠ"spGc^Hc^@@@j@@ఐ!iVc^Wc^@@@y@$next]c^^c^@' @@L@[@@1@@@@@@Ġ&Icatchndod@;&Icatch@ (rec_flag@@@@ |@ a@@@C@ @@@D@@B@@@A @@@E@CCBG@A'X p r(X p @@@@{@@dd@@'@@@=3@@@@ఠ(handlersdd@dA@@/@.@@@@@ 4@@@A@@?@@@>@ఠ$bodydd@eA@@ C@@@B*@@@Zd@@y@@@C/@@|@@@D2@@@ డC$List$iteree@ ee@@@@!a@ @@!$unitF@@@!@@!@@!@$listK@@@!@@!@@@!@@!@@!@(list.mli@@,Stdlib__ListU@0+@@@@@@@@$L@#@~L@#@@#L@#@@#3@@@#@@#@@#@0@@@#@@#-@@@#@@#@@#3.--.....@g@@{t@u@v@@@@࣠@%param.A@@HeIe@@.3EDDEEEEE@@@@@ఠ'handler-SeTe@fhA@@4 @@XeYe@@@B@=@@#@@ @@ఐ'analyzekele@@@@@@$@@@# @@#@@#3qppqqqqq@D)V@#@$@@@@ఐ"spee@߰@@,@@ఐ='handleree@@@p@@)@@)@ee@@@@@#@@@#@@#M@$M@$ X@@ఐ(handlersee@x@@@@@#M@$M@$@@ @@M@@@$L@#s@ ఐv'analyzef f@A@@@u@@$@m@@$h@@$@@$@@ఐ]"spff@9@@@@ఐ*$bodyff@@@HM@$)@@(@@@ఐ'analyzeg#g*@r@@@@@$/@@@$.@@$-@@$,@@ఐ"spg+g-@j@@@@ఐ!ig.g/@O@@@$next$g0%g4@ @@L@$;@@1@@@c@@@N@@@Ġ%Iexit6h5;7h5@@;%Iexit@@@@F@ADBG@AY  Y  @@@|@@Gh5AHh5B@@@@@I@@@@@@@@J@@@@@K@@@ภXh5FYh5H@@@@@Ġ(ItrywitheiIOfiIW@ ఠ$bodyniIXoiI\@fA@@ @@@Q@ఠ'handler|iI^}iIe@gA@@ @@@R@@@iIf@@5@@@S@@8@@@T@@@ ఐ D'analyzejjrjjy@ @@@ C@@$E@ ;@@$D 6@@$C@@$B3@:3@4@5-&@'@(@@@@డjj~jj@@@@ \@@@$W@@$V@@@@$U@@$T@@@$S@@$R@@$Q$@@ఐ O"spjj{jj}@ +@@ x1@@ ఐ }$selfjjjj@@@@@jj@@@@@$eN@$kN@$jJ@@jjzjj@@ N@$cO@@ఐ$bodyjjjj@X@@VM@$l^@@j@@ _@ ఐ 'analyze k k@ @@@ @@$s@ @@$r @@$q@@$pu@@ఐ "sp k!k@ |@@ @@ఐ'handler-k.k@@@M@$~@@(@@ @ఐ ꠐ'analyze<l=l@ @@@ @@$@ @@$ @@$@@$@@ఐ Ѡ"spQlRl@ @@ @@ఐ à!i`lal@ @@ @$nextglhl@1 @@ L@$@@1@@ @c@@ @@@ @Ġ&Iraiseymzm@@~mm@@@@@Y @@@ @@4@@@Z @@7@@@[ @@@ภɰmm@@@@ ' @@@AU  @@ )@@@ *@ @@ +@ A@@ C@@)@ ;@@) 6@@)@@)G@) @@@R  @@ ఐ \'analyzeoo@ '@@@ Y@@@)@@)@;@@@)@@) R@@@)@@)@@)3@ ;@@@@@oo@@ t@@@)H@)H@)@@ఐ l!foo@ E@@L @(fun_bodyoo@  @@l@@@)H@)H@).@@C @@ @@@)G@)4@ະ3Na@@@P@@@3GF@@A@AB@?3<;@@B@A7@4@AO@L6contains_nontail_callsp p!@డyp$p%@@@@n@@@*F@*@@@*@@*@@*^@@ఐ 6contains_nontail_calls*p;@ @@@@@*G@*G@*r@@% @@s@7.frame_required;q=B<q=P@ ఐ 砐$selfHq=SIq=W@ @@@Mq=f@@@@@*@@@*@@*@@*@@ఐ !f`q=gaq=h@ ư@@@@డnq=ioq=j@@@@G@**@@@*,@@*+@@*)@@ఐ .contains_callsq=x@ @@@@@*3H@*6H@*4@@" @@@@I @@@0extra_stack_usedrzrz@డ /1rzrz@.@@@.@@@*@@ఐ +extra_spacerz@ E@@G@@@*HG@*KG@*I@@% @@@@@p rz@@1@@@2@)@@3 Z@ @@4 2@ WA@ [ A@@@A@@*T?@@*S@@*R ]@@@@@*_@M@@*^K@@*]@@*\@@*[D@*V |@N  @@@"[6(@%B@#@AAAiAh@*@*@*@*@*U@@*@@q@A@m@@*k@@*@@*@A@A@@@*@@@*@@*@@*@@*@B˰@A@@@*@@*@@*@@@@@@*@@*@AC@@`@]#@6;@@uAAAAA+@*@*@*@*@*@@*@@@@t@@@q@t@qt@Р@@xw@310011111@@@@A@!#@T @@@|A@##@W!;@@A @@@@@@@@@A@&;@@@A@@@@@@@A@@3@??@@@@@@1#@1@@@2#@3]@@5#@ A@@@*@@*A@@@@*@@* @@@*@@*@@*A@"@@@*@@*@@@@*@@*@@@*@@*@@*@@*A@@@*@@@*@@*@@*@*@*@*@*@@*@@@A@'@@*@@*@@*@A5@A@.@@*@*@@*'@@*@@*@@*@Ba@A@H@@*D@@*@@*@v@@t@@@*@@*@AC@@@#@A@@@*@@*}A@vs@@@*@@*p@@@*@@*@@*kA@d@@@*@@*@_@@@*@@*&@@@*@@*@@*@@*ZA@@@*Q@@@*@@*@@*@*@*@*@*N@@*@@j@A@'@@*@@*@@*@A@A@.@@*@*@@*'@@*@@*@@*@Bİ@A@H@@*D@@*@@*@ٰ@@@@@*@@*@AC;@@@AAcA^AQA=@*@*@*@*А@@*@@@@i@@@f@i@f ;@@@AA@@@@+ @@+@@@+@@+@@+A@@@+ @@@@+ @@+ @@@+ @@+@@+@@+ A@@@@+@@+@@@+@@+@@+'A$@@@+@@*@@*@*@*@*@*@@*@@@@@@@@@@-StackframegenD@@@@@@@ H************************************************************************sA@@tA@L@ H yBMMzBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cambium, INRIA Paris E44E4@ H FF@ H Copyright 2023 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ ^ Compute the parameters needed for allocating and managing stack frames in the Emit phase. P77Q@ U Size of an exception handler block on the stack. To be provided for each target. ]EE^y@  Determine if an instruction performs a call that requires the return address to be saved in the stack frame, and a stack frame to be allocated. At a minimum, these instructions include all non-tail calls, both to OCaml functions or to C functions. For exception-raising constructs, we get better stack backtraces by treating them as non-tail calls, even if they are implemented as tail calls. This method can be overridden in [Stackframe] to implement target-specific behaviors. bn@ 4 caml_alloc*, caml_garbage_collection (incl. polls) sHNsH@; caml_ml_array_bound_error uu@ C caml_stash_backtrace; having a frame gives better stack backtrace x e kx e @ Determine if a function requires a stack frame to be allocated. This is the case if it contains calls, but also if it allocates variables on the stack. This method can be overridden in [Stackframe] to implement target-specific behaviors. |  A  @ 6 Analyze the body of a Mach function to determine - whether it contains non-tail-calls to OCaml functions - whether it requires allocating a stack frame and saving the return address - how much extra stack space is needed for exception handlers and for passing parameters to C function on stack. G [ [L  @@*./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/0 ?/home/ci/builds/workspace/main/flambda/false/label/ocaml-alpine ?>3210/.-,+*)('&%$#"! @@07sȒNRRh3IHHIIIII@G@@$Arch0~:cW{Y ͖hꠠ(Asttypes0eT$BbRM dc+Backend_var0Xʮz{9`z5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-0ۮRЊ0 *Cmi_format0`M{?w}@#Cmm0/bCTxȽgЃzV)j⠠,Identifiable0]/*N &Lambda0H~ށpFE#㠠)Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ0hx`r]fɠ$Misc0Bpg]?[q+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}'Profile0i֓}խ٠#Reg0+CJg`ߝ%Shape0 M``ll0ecub3Ld&Stdlib0t0VoS%{<F:+Stdlib__Arg03#a]֢2T-Stdlib__Array0ѤT f:Pd.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain06wI62J{V.Stdlib__Either0HD ?|>.Stdlib__Format0b HvkR/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0oYӀ7tG[w\+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+)Targetint0ﲵ+^| y栠.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR(Warnings0Ef{&'X86_ast058ߺ<%R@@AICO@@@ۑ@@@@@Q[@@@@@@u@(@@P@A@C@@@C@@@AC@@@BC@@vA@@@AyG@{H@ABC@@