Caml1999T036vS*OC/Closure_offsets-ocaml.warning %middle_end/flambda/closure_offsets.mlQQ@2+a-4-9-30-40-41-42 QQ@@QQ@@@@@@QQ@@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@@A+&resultASS@@;@@0function_offsets^@@*Closure_id#Map!to@@@ @A&Stdlib#Map$Make*Closure_id!T!t@89@A+Stdlib__Map$Make!t.@8<@@8=@8;-@8:@88@@ TT@@AA5free_variable_offsets@@2Var_within_closure#Map!t@@@ @A&Stdlib#Map$Make2Var_within_closure!T!t@8E@AC@?)@8H@@8I@8G(@8F@8D@@ UU@@&BA@@A@@@@@SV !@@@@*@A@#J%T@I@@Ш@г*Closure_id2T3T@6T7T@@;Tmiddle_end/flambda/flambda.mli'''';@@ O@30specialised_args'#Map!t@@@~@@@}@@B&@@(6(8(6(i@@2P@36direct_call_surrogates9)#Map!t0!t@@@@@@@@C;@@(22)23@@GQ@@@,$$-$$@@KN@ఠY7ZYX@]FA@N@@@3?>>?????@@@~{@}@|@@@)free_varsaZmbZmAXఠ8@sGA@\U@@@@@@@@@qZmtrZm@гݠ'Flambda~ZmZm@ZmZm@@@@@@2 @@ZmsZm@@@6@@@@@ఠ6assign_function_offset^^@HA@@@(Variable!t@@@"E@ @'Flambda4function_declaration@@@"uE@ @@ #Map!t#intA@@@,ME@"@@@#BE@ ꠠ@ @@@"E@ @@ E@ @ I@,!@@@,jE@,g@!@@@,kE@,h@@,iE@ @@ E@ @@ E@ @@ E@ 3@@@@@@@@࣠@"idA^^@IA@@e3@r ^ o z @@@@@  @@-function_declA^^@"JA@@k3@!|@@@@@@@@s'A@ఠ#map+^,^@8KA@@m3@#@@@@@@ఠ'env_pos:^;^@GLA@@h@@?^@^@@@@q@@ @@ @@@ఠ#posS_T_@`MA@@@@@!I@ 3EDDEEEEE@/8@2@3*@$@%@@@డ!+j_k_@@@@@~@@@@}@@@|@@{@@z'%addintBA @@@@*stdlib.mli0++0+,@@&Stdlibn@@@@@@@ @@@@ @@@ @@ @@ 9@@ఐe'env_pos__@A@@F@@A__@@;@@@!J@!J@!V@@ @@ZW@A@_ @@@ఠ'env_pos``@NA@@@@@"I@!3@m{t@u@v@@@@ఠ%arityaa@OA@@#intA@@@"tJ@! @డ-Flambda_utils.function_arity-Flambda_utilsaa$@ a%a3@@@J@@@!"@@@!@@!@ $middle_end/flambda/flambda_utils.mlif88f8p@@-Flambda_utilsC@@@@Y@@@"n1@@@"m@@"lG@@ఐ-function_decla4aA@@@nT@@-@@BU@A@a @@డ'f(f@@@@T@@@"|@@@@"{g@@@"z@@"y@@"x3      @pha@b@c@@@@డܠްEeFe@۰@@@r@@@"@@@@"@@@"@@"@@"@@డ`dad@@@@@@@"@@@@"@@@"@@"@@"9@@డ{cS[|cS\@@@@@@@"@@@@"@@@"@@"@@"T@@ఐ['env_posbEKbER@7@@a@@AcS]cS^@@1@@@"M@"M@"q@@ @@@@@"@"M@"y@@Add@@I@@@"L@"L@"@@, @@@@@"@"L@"@@Aee@@a@@@"K@"K@"@@D @@@@@"@"K@"@@డ_!>ff@@!a@@$boolE@@@0@@/@@.,%greaterthanBA@@@@@@T@@@@2@@@"J@"@@@@"@@"@@"@@ఐJ%arityf f@@@@@A)f*f@@ K@"@@@@@@@"K@"@A8f9f@@@@@"J@"J@" @@FfGf@@J@"J@"@MfNf@@@@@@@3@@@A@R`@@@ఠ*closure_id]h5=^h5G@jPA@@!t@@@"I@"3QPPQQQQQ@@@@@@డ$wrap*Closure_idxh5Jyh5T@ |h5U}h5Y@@@@@@"@@@@@@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@@@"1@@@"@@"/@@ఐ"idh5Zh5\@@@<@@-@@B=@A@h59@@ డ#Map#mem*Closure_idi`gi`q@ i`ri`u@@i`vi`y@ @@#key@@@v@!a@@@@u$boolE@@@t@@s@@r@6utils/identifiable.mlimm@@+Stdlib__Mapd@+!@@@@@@"@*&@@@"@@@"@@"@@"3@@@@@@@ఐ*closure_idi`zi`@ @@<@@@#3J@#2@@ఐ預#mapi`i`@@@U"@@\@@@@@#OJ@"(@డ$Misc,fatal_errorf$Misc,j-j@ 0j1j@@@&Stdlib'format4!a@$ݠ&Format)formatter@@@$$unitF@@@$!b@$@@@$@@$@.utils/misc.mli\DD\D@@$MiscA@2-@@@*@@*@@@&TI@+@!t@@@,I@&YI@+2@@@&UI@+@@+@@+I@&V@%@@@,I@,I@&Z@@&[I@&W@@&XI@&HL@@@&JH@@@&KI@&L@@@&I6@@&G@@ภ8CamlinternalFormatBasicsb&Formatdjk A;&Format8CamlinternalFormatBasics'format6!a@&!b@&!c@&!d@&!e@&!f@&@@@+}@'#fmt$ @@@+{&stringQ@@@+|@B@@A@A@ TA@@@(Variable!t@@@1E@1@@@1E@1@@ #Map!t@@@3E@1@@@2E@1@E@1@@1E@1@E@2@@@3E@2@@@@3E@2@@3E@1@@1E@1@@1E@1@@1E@13        @@@@@@@@࣠@#varA }  ? }  B@ UA@@V3        @c }   E  @@@@@  @@ CA@ }  C }  D@@W3        @h@@@@@@@@ OA@ఠ#map }  F }  I@ VA@@_@@ఠ#pos }  K }  N@ WA@@Z"@@ }  E }  O@@@r@c@@1+@@ @@@ఠ2var_within_closure ,~ R Z -~ R l@ 9XA@@ 5!t@@@1I@13        @D7@1@2,@&@'@@@డ [$wrap2Var_within_closure I~ R o J~ R @  M~ R  N~ R @@@@@@ a$@@@ `@@ _@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@@@13@@@1@@11@@ఐ#var r~ R  s~ R @}@@>@@-@@D?@A@ w~ R V@@ డ #Map#mem2Var_within_closure      @       @@      @ @@#key@@@ @!a@ +@@@ $boolE@@@ @@ @@ @6utils/identifiable.mlimm@@+Stdlib__Mapd@+!@@@@@@1@ @@@1@@@1@@1@@13        @@@@@@@ఐ2var_within_closure      @ @@<@@@1J@1@@ఐޠ#map      @@@<"@@\@@@@@2 J@1(@డ,fatal_errorf$Misc @   @  @  @   @  @@ϰ@@@Ϡ@@@@@2I@2n@ !t@@@2I@2!I@2j@@@2I@2m@@2z@@2yI@2@@@@2I@2I@2"@@2#I@2@@2 I@2@@@2@@@2I@2@@@25@@2w@@ภ   H@   IA  XAภ a  ` >Closure_offsets.add_closure_offsets: free variable offset for @@E@@@2bJ@2eJ@2d@ภ $) %(ภ ,} -'| would be defined multiple times,@,@a@@@2J@2J@2@ภ @ A;@;@NK@2I@2NI@2`I@2tK@2xI@2OI@2aI@2uK@2K@2 K@2gK@2@@@2J@2@@\@Ԡ!I@2iK@2oK@2pwK@2q@@@2J@2@@l@K@2S-&'(K@2X@@@2cJ@2{@@{@K@23:345K@28@@@2PJ@2_ @ `Closure_offsets.add_closure_offsets: free variable offset for %a would be defined multiple times@@@@@2QJ@2J@2@@@@۠Ҡà@@@2J@2M!@@డ %print2Var_within_closure B Y a B Y s@  B Y t B Y y@@@ &Format)formatter@@@ ^@@@@ ]$unitF@@@ \@@ [@@ Z@`jcmajc@@,IdentifiableD@"@@ I@2S@@ఐ2var_within_closure#B Y z$B Y @]@@ I@2b@@)  *C  @@e@@,  @@g@@ఠ#map7D  8D  @DYA@@w@@@2I@23*))*****@{@@@డ b#Map#add2Var_within_closureSD  TD  @ WD  XD  @@\D  ]D  @ @@@@@ %@!a@ @ @@@ $à @@@ #@@ "@@ !@@ @@F@$@@@@@@2@@Ҡ@@@2֠@@@2@@2@@2@@2G@@ఐf2var_within_closureD  D  @̰@@@@@2J@2Y@@ఐ#posD  D  @k@@f@@ఐ#mapD  D  @y@@s@@b@@xt@A@D  @@@ఐ#mapE  E  @@@@@3@@@@@డ D i kE  E  @ h@@@ @@@3@ h@@@3 @@@3@@3@@3@@ఐ٠#posE  E  @@@2)@@AE  E  @@ @@@3I@3I@39@@ @@1:@@E  @@@@@9@@3B@S@@@@@@ @@ @*!A@E@3(@A@%@@@ఠ5free_variable_offsetsG  G @)ZA@@t M@@@3]@@@3`E@33@X@@@@@@@0G 1G @@E@3  @@@@@@ @@3#@డ#Map$fold(VariableLHMH"@ PH#QH&@@UH'VH+@ @ @@@@@@@3.@ M@@@3yE@3*@@Q@A@@3E@3_E@3( @@3-@@3,@@3+@@@@3)@@@3'@@3&@@3%R@@ఐ;assign_free_variable_offsetH,HG@\@@@@@@3W@/F@3L@@ @@@3S@@@3V@@@3U@ @@@3R@ @@@3T@@3Q@@3P@@3O@@3N@@ఐ N)free_varsIHNIHW@ İ@@ Y@@@3x@@@ఐ 점5free_variable_offsetsIHYIHn@ t@@ E@3@@@3@@ఐ1free_variable_posIHpIH@ @@F@3@@IHXIH@@}E@3@@@@@A@G  @@ຠ 60function_offsetsKKAఐԠ @'@ 8Z@@@3D@3D@3@@@33@@@@@@ M5free_variable_offsetsLLAఐ @@j3@@@3D@3D@3@@@3@@@$K T@@ @< U@@ @= V@@ U@ W@@ @  X@@  8@ B YA@ B@3 `@A@ ]@ ] \@ @ఠ'compute8O9O@E[A@@@ 'program@@@3B@3 @@@8)B@3@@3B@3365566666@   @ @ @@@࣠@'programA@[O\O@@@@@33IHHIIIII@-dOeY@@@@  @s\A'г*'FlambdatOuO@1xOyO@@@9@@@3 @@OO@@@@"@@@@@@PP@@@@@33{zz{{{{{@3@8@;@-@@@$init  @]A @@@3г&resultPP@@@@@3@@! A@@@@@3@ຠ 0function_offsetsQQ@డ#Map%empty*Closure_idQQ@ Q Q#@@Q$Q)@ @ !a@@@@@ @ E@ @@ ?@@@4D@4 D@4 @@@4 Z@/5free_variable_offsetsR+1R+F@డ#Map%empty2Var_within_closureR+IR+[@ R+\R+_@@ R+` R+e@ @b!a@ @@@ @g@cE@ @@l5@@@4'D@41D@4/@@@4.@@@&Q'Sgl@г@@@@3@ A@@@@@4HD@4G@A@:P@@@ఠ!rEUrxFUry@R^A@@@@@8D@4I376677777@@@@@@డ$List)fold_left^V|_V|@ bV|cV|@@@@#acc@5@!a@5 @@6@@6@ @$listK@@@6@@6@@6@@6@(list.mli333r@@,Stdlib__List]@(#@@@@AD@7@@@@8D@7 @@7@@7@ @ @@@7@@7@@7@@7M@@ఐ 3add_closure_offsetsV|V|@X@@@@@@8@@@@8#@@@8@@8@@8 g@@ఐ&$initWW@q@@yE@8v@@డ 4all_sets_of_closures-Flambda_utilsWW@ WW@@@.'program@@@"2$listK:/set_of_closures@@@"1@@@"0@@"/@ (( (r@@ X@"@@@@@@8@@@8@@@8@@8@@ఐ'program W W@z@@5@@@8%F@8'F@8&@@WW@@@@@8E@8(F@8#@@ @@@A@#Urt @@ఐ栐!r+Y@@@@@3@@@@@@@@@@A@B@8+@A@@@@A@@@@@@3&%%&&&&&@ @@@/Closure_offsetsC@@&@@@ H************************************************************************JA@@KA@L@ H PBMMQBM@ H OCaml VCWC@ H \D]D3@ H Pierre Chambart, OCamlPro bE44cE4@ H Mark Shinwell and Leo White, Jane Street Europe hFiF@ H nGoG@ H Copyright 2013--2016 OCamlPro SAS tHuHg@ H Copyright 2014--2016 Jane Street Group LLC zIhh{Ih@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ 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.) []H@ 0 GC header; either [Closure_tag] or [Infix_tag] cS`cS@? full application code pointer dd@' 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. {  |  @@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I2middle_end/flambda"-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_events"-c J/home/ci-ocaml/builds64/workspace/main/flambda/false/label/ocaml-ppc-64-be >10/.-,+*)('&%$#"! @@0Y`UX_fc3        @ @@/Allocated_const0$' Y`E&(Asttypes0E\eǥ]k6e5Build_path_prefix_map0gMOBnM`8CamlinternalFormatBasics0oZ2t,ݠ0CamlinternalLazy0;x#5䢜hLm2Clambda_primitives0H_W— >y}UMܠ/Closure_element0e G(^0\t#:Ն=ĠW0yT.c- iI i.Closure_origin0$A2vJsf{#*Cmi_format0KuEB젠0Compilation_unit0&G 0\jР*Data_types0-k(.I7)Debuginfo0.6硏]fSvi#Env0؞X:Fݗ)06>iz; 10 nfK=}w*Format_doc0Mv9630A %Ident0y43a$+,Identifiable0XnAZ4eҠ7Internal_variable_names08ߋA#99&Lambda0 [, U(Z,Linkage_name0"s_nظfS=)Load_path02&9Q҄;L(Location0nݹV 2f-V )Longident0@#j,6.Nt蠠$Misc0  =73 Z 0Mutable_variable0Ğ*5WB{y'Numbers0I3:+8Р+Outcometree0yl4>Yfܠ)Parameter0zo0:q۠)Parsetree0Z<4$PC$Path09{ְZsv)Primitive0{mV|{J *Projection0s&[\wIihIS S2Set_of_closures_id0fA6Set_of_closures_origin05tQ]%Shape0OĸT>b0Static_exception0=m &Stdlib0y{x!O!.Stdlib__Buffer0_?K|/V>O}~Nࠠ.Stdlib__Digest0 Jjrڵ6.Stdlib__Domain0iW',P6wz.Stdlib__Either0FԤ) 4'>.Stdlib__Format0)n[-Ob/Stdlib__Hashtbl0^iaxG$+-Stdlib__Int640oTV/,Stdlib__Lazy0OM>x9@@ Lo@KU@@@P@h@e@@@A A@C@@@A C@@@B@@B@@