Caml1999T031lu%MgI</Closure_offsets-ocaml.warning %middle_end/flambda/closure_offsets.mlQQ@2+a-4-9-30-40-41-42 Q Q@@QQ@@@@@QQ@@0@@@@@@%arrayH8@@M@A@A@@@@@@&_none_@@A@@@ $boolE8@@%false^@@ @$true_@@@@@A@@@@@@A@$charB8@@@A@@@@@@A@#exnG8@@AA@@@@@@@@5extension_constructorP8@@@A@@@@@ @@@%floatD8@@@A@@@@@$@@@*floatarrayQ8@@@A@@@@@(@@@#intA8@@@A@@@@@,@A@%int32L8@@@A@@@@@0@@@%int64M8@@@A@@@@@4@@@&lazy_tN8@@O@A@A@Y@@@@@=@@@$listI8@@P@A"[]a@@J@"::b@@@Q@@W@ @@A@Y@@@@@Z@@@)nativeintK8@@@A@@@@@^@@@&optionJ8@@S@A$Nonec@@k@$Somed@@r@@@A@Y@@@@@u@@@&stringO8@@@A@@@@@y@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@A=ocaml.warn_on_literal_pattern@@0Division_by_zeroY @@@A  @+End_of_fileX !@@@A@'FailureU )@%@@A@0Invalid_argumentT 2@.@@A$#@-Match_failureR ;@:67@@\@@Aʠ21@ )Not_foundV I@@@AҠ:9@-Out_of_memoryS Q@@@AڠBA@.Stack_overflowZ Y@@@A⠰JI@.Sys_blocked_io[ a@@@A꠰RQ@)Sys_errorW i@e@@A󠰠[Z@:Undefined_recursive_module] r@qmn@@c@@Aih@ %bytesC8@@@A@@@@@@@@&Stdlib@@A(&result ASSTS@@8@@0function_offsetsU@*Closure_id#Map!t@@@@A&Stdlib#Map$Make*Closure_id!T!t@5@A+Stdlib__Map$Make!t.@6@@6@6-@6@5@@TT@@A5free_variable_offsets@2Var_within_closure#Map!tD@@@ R@A&Stdlib#Map$Make2Var_within_closure!T!t@6 @AC@?)@6@@6@6 (@6 @6 @@ TUU@@B@@A@@@@@SV !@@@@@@JT@@Ш@г*Closure_idTT@г#intTT@@0@8@@@A@@@@@"@@@@@@@@@@@C@@h@dd-U@@Ш@гg2Var_within_closuregf UU@гh#intUU@@p!@@@{" @@~@C@ U%@H@@A@D@@DC@@ࠠ3add_closure_offsetsϠ(X#')X#:@@@@@@@'B@!@'Flambda/set_of_closures@@@B@3@@@1B@4@@5B@"@@#B@ 032233333@2@@@@%paramfঠ0function_offsetsXY;CYY;SA,*@@@@@,@A@A@@A@ࠠ Ѡ  @@ @@@)@@@(0WVVWWWWW@%IpX##qM@@@@5free_variable_offsetsxY;UyY;jAࠠҠ@@@@@.@@@-@@@Y;AY;l@@ZD@$@@@Aeঠ.function_declsZmvZmA,.function_decls'Flambda/set_of_closures@@@5function_declarations@@@x@@,)free_vars(Variable#Map!t.specialised_to@@@z@@@y@A@@>middle_end/flambda/flambda.mli'a'c'a'@@ P,0specialised_args'#Map!t@@@|@@@{@B&@@((((@@2Q,6direct_call_surrogates9)#Map!t0!t@@@~@@@}@C;@@(3%3')3%3Z@@GR@@,$$-$%@@KOࠠYZYX@@M@@@0@@@D}{@|@E@@@)free_varsZmZmAYࠠ@@\U@@@@@@@@@ZmtZm@гڠ'FlambdaڰZmZm@@@@@-@@#Zms$Zm@@@1@@@ࠠ6assign_function_offseth/^0^@@@@(Variable!t@@@!C@@'Flambda4function_declaration@@@![C@@#Map!t#intA@@@*C@!@@@"/C@Ϡ @@@!C@@@C@D@*z@@@*C@*@@@*C@*@@*C@@@C@@@C@@@C@0nmmnnnnn@@@F@@G@@@@"idj^^@@@a0@m^o z @@@@@@-function_declk^^@@@f0@ w@@I@@@@@dࠠ#mapl^^@@@h0@"~@@J@@@ࠠ'env_posm^^@@@c@@^^@@|j@E@@@@ࠠ#posn__@@@@@@D@0@)1@,@K%@ @L@@@డ!+__@@@@@@@@@@@@@@@@'%addintBA @@@@*stdlib.mli[5:5:[5:5h@@&Stdlibp@@@@@D@@@@D@@@D@@D@@D@;@@ఐa'env_pos+_,_@B@@H@@A5_6_@@;@@E@E@E@X@@ @@\Y@@@_ @@@ࠠ'env_posoK`L`@@@@@@!mD@0>==>>>>>@n{u@v@aM@@@@ࠠ%aritypaaba@@@#intA@@@!ZE@@డ-Flambda_utils.function_arity-Flambda_utilsza{a3@@9@@@ @@@ @@ @ $middle_end/flambda/flambda_utils.mlif88f8p@@-Flambda_utilsC@@@H@@E@!T+@@E@!S@E@!RA@@ఐ-function_decla4aA@߰@@]N@@(@@<O@@a @@డbff@@@@E@@D@!c@@@D@!bW@@D@!a@D@!`@D@!_0@ja[@\@O@@@@డ֠ذee@հ@@@d@@E@!u@@@E@!tv@@E@!s@E@!r@E@!q@@డdd@@@@@@F@!@@@F@!@@F@!@F@!@F@!:@@డ cS[cS\@ @@@@@G@!@ @@G@!@@G@!@G@!@G@!U@@ఐQ'env_posbEKbER@2@@b@@A%cS]&cS^@@+@@H@!H@!H@!r@@ @@@@G@!G@!H@!z@@A=d>d@@C@@G@!G@!G@!@@, @@@@F@!F@!G@!@@AUeVe@@[@@F@!F@!F@!@@D @@@@E@!oE@!F@!@@డ)!>tfuf@@!a@@$boolE@@@0@@/@@.,%greaterthanBA~@@@@}~%@@|T@@@-@@E@!E@!@@@E@!@E@!@E@!@@ఐD%arityff@@@@@Aff@@ F@!@@@@w@@E@!F@!@Aff@@@@E@!nE@!E@! @@ff@@E@!E@!@ff@@@@@@@4@@@@`@@@ࠠ*closure_idh5=h5G@@@r!t@@@!D@!0@@@N@@@డ$wrap*Closure_idh5Jh5Y@@@@@@@@@@@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@D@!,@@D@!@D@!*@@ఐ"id!h5Z"h5\@w@@7@@(@@=8@@&h59@@డ#Map#mem*Closure_id:i`g;i`y@@#key@@@@!a@@@@$boolE@@@@@@@@6utils/identifiable.mlimm@@+Stdlib__MapG! @@@@@D@!@ @@D@!@@D@!@D@!@D@!0TSSTTTTT@}@@wP@@@@ఐ*closure_idwi`zxi`@@@=@@E@" E@"@@ఐ͠#mapi`i`@@@5#@@S@@@@D@"=E@!)@డ$Misc,fatal_errorf$Miscjj@@&Stdlib'format4!a@#&Format)formatter@@@#$unitF@@@#!b@#@@@#@@#@.utils/misc.mliXX@@$MiscA-,@@@*@@*@@D@$D@*-@n!t@@D@*kD@*)0@@D@$D@*,@D@*9@D@*8D@$@D@$A@@C@*sD@*qD@$ڐ@D@$D@$א@D@$D@$ȠK@@D@$ʠG@@D@$ˠD@$@@D@$5@D@$@@ภ8CamlinternalFormatBasics&Formatjk A8&Format8CamlinternalFormatBasics'format6!a@%!b@%!c@%!d@%!e@% !f@%!@@@)@'#fmt$ @@@)&stringO@@@)@B@@A@A$}$}?$%@@@wk 9Closure_offsets.add_closure_offsets: function offset for @@@@E@*!E@*$E@*#5@ภ%Alpha8%Alphai@@!b@&c@!x@&_!c@&b@@)f@@)e@ !a@&^@@)d@@)c !d@&d!e@&e!f@&f@@@)b@+"@@@)g@AOAYAA''(.(j@@@oภ would be defined multiple times@@q@@E@*LE@*OE@*N@ภ-End_of_format8-End_of_format!f@&̠!b@&͠!c@&Π!e@&Ϡ@@@)@@@@AYAA.../!@@@y@@ޠF@*AMD@* D@*D@*3F@*BGD@*D@* D@*4F@*CF@*D F@*E4F@*F@@E@*ME@*W@@)@!D@*(gZF@*.F@*/DF@*0@@E@*?E@*K@@9@}F@*-&'(SF@*@@E@*"E@*:@@H@F@):345bF@)@@E@*E@*@ [Closure_offsets.add_closure_offsets: function offset for %a would be defined multiple times\@\@(@@E@*E@*YE@*X @@cb@@Ҡx@@E@$E@* @@డ%%print*Closure_idl  l  .@@!&Format)formatter@@@@@@@$unitF@@@@@@@@NjcmOjc@@,IdentifiableD@@D@*hA@@ఐѠ*closure_idl  /l  9@K@@D@*mP@@i`m : A@@S@@i`d@@U@@ࠠ#mapn C Kn C N@@@tV@@@*D@*t0@h@@@డy#Map#add*Closure_idn C Qn C c@@@@@@!a@@ @@@ @@@@@@@@@@@H@@@@@D@*|@@@@D@*{@@D@*y@D@*x@D@*w@D@*v;@@ఐ3*closure_id n C d n C n@@@@@E@*E@*M@@ఐJ#pos (n C o )n C r@հ@@Z@@ఐy#map 5n C s 6n C v@N@@g@@X@@lh@@ :n C G@@ఐ}#map Eo z  Fo z @}@~@ SQ@@0 5 4 4 5 5 5 5 5@@@@ఐ 'env_pos To z  Uo z @g@@ @@ Xo z ~@@@C@*@$@@@@@@:@@s@@@@"@@C@~@@AA@C@0 R Q Q R R R R R@@@@@AA@)C@0 V U U V V V V V@@@@@AA@@9/@@*0 Z Y Y Z Z Z Z Z@@@@@@@ࠠ0function_offsets }q   ~q  @@@)#@@@+@@@+C@*0 t s s t t t t t@`Z@[@ H@@@ࠠ1free_variable_pos q   q  @@@-@@@+C@*@@ @@  @@*@డ(Variable#Map$fold(Variable r   r  @@@(Variable#Map#key@@@@!a@@!b@@@@@@@@!t@@@@@@@@@@@6utils/identifiable.mlimm@@+Stdlib__MapQ.-@@@@+@@C@*@@@C@+C@*@UC@*@C@*@C@*@C@*@#@@C@*@  @C@*@C@*@C@*q@@ఐՠ6assign_function_offset r   r  @{@@@@@D@+ @@@D@+@@@D@+@@D@+@@D@+@D@+ˠ@@D@+@@D@+@D@+@D@+@D@*@D@*@@ఐF.function_decls 8s   9s  @@@@@D@/v@/s@$funs Ds   Es  @,$funs@@@#Map!t4function_declaration@@@@@@@C,/is_classic_mode$boolE@@@@@ @@5555(@@S,2set_of_closures_id 2Set_of_closures_id!t@@@@A@@5555@@T,6set_of_closures_origin.6Set_of_closures_origin!t@@@@B%@@#6T6V#6T6@@U<@@(7z7|(7z7@@VOB@@<D@/u@@D@/t@@ఐ40function_offsets s   s  @@@ BC@/@@C@/@ s   s  @@D@/#@@ s   s  @@C@+C@/)@@@@*@@ q  @@@ࠠ;assign_free_variable_offsetU }  # }  >@@@@(Variable!t@@@/C@/@@@/C@/@ +#Map!t@@@1,C@/@@@0C@/C@/@@/C@/C@0@@@1C@1@@@1*C@1@@1C@/@@/C@/@@/C@/@@/C@/0        @}@@ Rys@t@ S@@@@#varW }  ? }  B@@@R0        @^ }   E  @@@@@@c@ %}  C &}  D@@S0        @d@@ 5U@@@@@bࠠ#mapX 9}  F :}  I@@@[@ࠠ#posY C}  K D}  N@@@U@@ G}  E H}  O@@k\@E@/&@@@ࠠ2var_within_closureZ W~ R Z X~ R l@@@ !t@@@/D@/0 L K K L L L L L@</@*@ pV'v@"@ rW@@@డ $wrap2Var_within_closure t~ R o u~ R @@@@@ K @@@ J@@ I@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@D@//@@D@/@D@/-@@ఐ#var ~ R  ~ R @q@@:@@(@@@;@@ ~ R V@@డ #Map#mem2Var_within_closure      @@#key@@@ @ڠ!a@ @@@ $boolE@@@ @@ @@ @6utils/identifiable.mlimm@@+Stdlib__MapG! @@@@@D@/@@@D@/@@D@/@D@/@D@/0        @@@ X@@@@ఐ2var_within_closure      @@@=@@E@0E@0@@ఐǠ#map      @@@"#@@S@@P@@D@0#E@/)@డw,fatal_errorf$Misc @   @  @u@@@u@@u@@D@02D@0@ v!t@@D@0D@0{@@D@03D@0@D@0@D@0D@04@D@07K@@C@0D@0D@08@D@09D@05@D@06D@0&@@D@0(@@D@0)D@0*@@D@0'4@D@0%q@@ภJH Y@   ZA  XAGภR >Closure_offsets.add_closure_offsets: free variable offset for  @ @@@E@0xE@0{E@0z@ภc͠ภh would be defined multiple times#@#@@@E@0E@0E@0@ภy/@/@L?F@0pD@0dD@0vD@0F@0jD@0eD@0wD@0F@0F@0 F@0XF@0@@E@0E@0@@P@m!D@0}F@0F@0hF@0@@E@0E@0@@`@}F@0i-&'(wF@0n@@E@0yE@0@@o@F@0I:345F@0N@@E@0fE@0u@ `Closure_offsets.add_closure_offsets: free variable offset for %a would be defined multiple times@@@@E@0gE@0E@0@@@@@ˠ @@E@01E@0c @@డ P%print2Var_within_closure B Y a B Y y@@ L&Format)formatter@@@ H@@@@ G$unitF@@@ F@@ E@@ D@EjcmFjc@@,IdentifiableD@@D@08@@ఐˠ2var_within_closure "B Y z #B Y @B@@D@0G@@ (   )C  @@J@@ +  @@L@@ࠠ#mapa 6D   7D  @@@XB@@@0D@00 * ) ) * * * * *@_@@@డ #Map#add2Var_within_closure OD   PD  @@@@@ @!a@ @| @@@  @@@ @@ @@ @@ @@H@@@@@D@0@t@y@@D@0}@@D@0@D@0@D@0@D@0;@@ఐ-2var_within_closure D   D  @@@@@E@0E@0M@@ఐS#pos D   D  @2@@Z@@ఐj#map D   D  @A@@g@@X@@lh@@ D  @@ఐ}#map E   E  @}@~@ Y@@0        @@@@డ y Π а E   E  @ Ͱ@@@ \@@C@1 @ @@C@1 n@@C@1@C@1@C@1@@ఐ#pos E   E  @y@@(@@A E   E  @@ @@D@1+D@1/D@1.8@@ @@9@@ E  @@@C@11?@P@@@@@@]@@C@/@@AA@%C@/0        @@@@@AA@1C@/@@AA@@@6@@170        @@@@@@@ࠠ5free_variable_offsetsdG  G @@@6 @@@1w@@@1zC@190        @ga@b@.T@@@@'G (G @@C@1: @@@@@@1=@డ#Map$fold(Variable?H@H+@@@@@@@C@1H@ @@C@1C@1D@(C@1B@C@1G@C@1F@C@1E@@@C@1C@  @C@1A@C@1@@C@1?<@@ఐ;assign_free_variable_offsetfH,gHG@F@@@@@D@1q@'D@1f@ @@D@1m@@D@1p@D@1o @@D@1l %@@D@1n@D@1k@D@1j@D@1i@D@1hj@@ఐ )free_varsIHNIHW@ @@ M@@D@1{@@ఐ (5free_variable_offsetsIHYIHn@ @@ C@1@@C@1@ఐ%1free_variable_posIHpIH@@@D@1@@IHXIH@@qC@1yC@1@@@@s@@G  @@ຠ q0function_offsetsKKAఐ\ @@  z@@C@1C@1C@1@@C@10@@@Z@@@ 5free_variable_offsetsLLAఐ⠐ @@ T@@C@1C@1C@1@@C@1@@@K @@ B@!@? @@@ @@@S @@~@ m @@ @@A  A@ B@20@ @@@@A  A@@  @@20@ @@@@ @  @ ɠ@ࠠ'computegOO@@@@ 'program@@@2B@2 @@@5B@2@@2B@20@   @ @>C@@@@'programi@>O?O@@@@@2 0.--.....@,GOHY@@@@  @г)'Flambda+UOVO@@2@@@2@@\O]O@@@9@@@ࠠ$initjhPiP@@Ш@г$&resultwPxP@@ @@@20gffggggg@:H?@B@\@@  @@ @@2  A@ A@@@@@2@@2@ຠ 40function_offsetsQQ@డ:#Map%empty*Closure_idQQ)@ L!a@@@@@ Y@ UE  @@ VQ@@D@2 D@2*D@2(@@D@2'>@ \5free_variable_offsetsR+1R+F@డ$#Map%empty2Var_within_closureR+IR+e@!a@ @@@ @@ E  @@;@@D@2ED@2OD@2M@@D@2Lk@@@QSgl@г}@@@@2ws@ @@@oC@2z@@P@@@ࠠ!rkUrxUry@@@ @@@5C@2j0@@@@2@@]@@@డ$List)fold_leftV|V|@@@!a@3@!b@3 @@4@@4@ @$listI@@@4@@4@@4@@4@(list.mli@@,Stdlib__List[#"@@@@?C@5@@@C@5C@5 @C@5@C@5@ @ @@C@5@C@5@C@5@C@5K@@ఐ73add_closure_offsets_V|`V|@/@@@3@@D@5@.@@D@5;@@D@5@D@5@D@5e@@ఐ$inityWzW@o@@wD@5t@@డ 4all_sets_of_closures-Flambda_utilsWW@@ L'program@@@!$listI X/set_of_closures@@@!@@@!@@!@ (( !(r@@ X@@@@@D@5@@D@5@@D@5@D@5@@ఐ'programWW@D@@5@@E@5E@5E@5@@WW@@@@D@5D@5D@5@@ @@@@Urt @@ఐݠ!rY@@@^@@0@@@@@@@@@B@2 m@@AA@@@@50@@@@@@@@A@@@@[@@0@@@@'Flambda'program@@@5&result@@@5@@5@ &middle_end/flambda/closure_offsets.mli[[@@/Closure_offsetsC@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml !C"C@ H 'D(D3@ H Pierre Chambart, OCamlPro -E44.E4@ H Mark Shinwell and Leo White, Jane Street Europe 3F4F@ H 9G:G@ H Copyright 2013--2016 OCamlPro SAS ?H@Hg@ H Copyright 2014--2016 Jane Street Group LLC EIhhFIh@ H KJLJ@ H All rights reserved. This file is distributed under the terms of QKRKN@ H the GNU Lesser General Public License version 2.1, with the WLOOXLO@ H special exception on linking described in the file LICENSE. ]M^M@ H cNdN5@ H************************************************************************iO66jO6@ Build the table mapping the functions declared by the set of closures to the positions of their individual "infix" closures inside the runtime closure block. (All of the environment entries will come afterwards.) o[p]H@ 0 GC header; either [Closure_tag] or [Infix_tag] ucS`vcS@? full application code pointer {d|d@' arity ee@ " partial application code pointer ff-@ i Adds the mapping of free variables to their offset. Recall that projections of [Var_within_closure]s are only currently used when compiling accesses to the closure of a function from outside that function (in particular, as a result of inlining). Accesses to a function's own closure are compiled directly via normal [Var] accesses. u ! #z  @ CR-someday mshinwell: As discussed with lwhite, maybe this isn't ideal, and the self accesses should be explicitly marked too. {  |  @@*./ocamlopt"-g)-nostdlib"-I&stdlib"-I1otherlibs/dynlink0-strict-sequence*-principal(-absname"-w>+a-4-9-40-41-42-44-45-48-66-70+-warn-error"+a*-bin-annot,-safe-string/-strict-formats"-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(toplevel2-function-sections"-c"-I2middle_end/flambda 3/home/barsac/ci/builds/workspace/step-by-step-build 0/$#"! @0Y`UX_fc0@@@/Allocated_const08UYwBkc6@.(Asttypes0'$O~75Build_path_prefix_map0xөvĠ8CamlinternalFormatBasics0cEXy*Su}Ck&Switch0Ź=Z$xr%ՠ&Symbol0SW9粩i#Tag0.ΒN1BK@:), .Type_immediacy0dV^25b)̓ԆSj%Types0lm?ƈ0GMUu_%T[(Variable0+d2 ޲ՠ(Warnings0zdͦkUe$@@AC@@@@@@@@@@@@25@@@@@@P@@"@@AA?@@B