Caml1999T037v}S*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@8}@A+Stdlib__Map$Make!t.@8@@8@8-@8~@8|@@ TT@@AA5free_variable_offsets@@2Var_within_closure#Map!t@@@ @A&Stdlib#Map$Make2Var_within_closure!T!t@8@AC@?)@8@@8@8(@8@8@@ 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@ఠY@ZYX@]FA@N@@@H3?>>?????@@@~{@}@|@@@)free_varsaZmbZmAXఠA@sGA@\U@@@N@@@M@@@qZmtrZm@гݠ'Flambda~ZmZm@ZmZm@@@@@@A2 @@ZmsZm@@@6@@@@@ఠ6assign_function_offset^^@HA@@@(Variable!t@@@# E@!@'Flambda4function_declaration@@@"E@!@@ #Map!t#intA@@@,E@#(@@@#zE@!"@ @@@"E@!#@@!$E@!@ I@,Y@@@,E@,@!@@@,E@,@@,E@! @@!!E@!@@!E@!@@!E@!3@@@@@@@@࣠@"idA^^@IA@@e3@r ^ o z @@@@@  @@-function_declA^^@"JA@@k3@!|@@@@@@@@s1A@ఠ#map+^,^@8KA@@m3@#@@@@@@ఠ'env_pos:^;^@GLA@@h@@?^@^@@@@q@@!&@@ @@@ఠ#posS_T_@`MA@@@@@!:I@!*3EDDEEEEE@/8@2@3*@$@%@@@డ!+j_k_@@@@@~@@@@}@@@|@@{@@z'%addintBA @@@@*stdlib.mli0++0+,@@&Stdlibn@@@@@@@!0@@@@!/@@@!.@@!-@@!,9@@ఐe'env_pos__@A@@F@@A__@@;@@@!;J@!?J@!>V@@ @@ZW@A@_ @@@ఠ'env_pos``@NA@@@@@"I@!@3@m{t@u@v@@@@ఠ%arityaa@OA@@#intA@@@"J@!A@డ-Flambda_utils.function_arity-Flambda_utilsaa$@ a%a3@@@J@@@""@@@"@@"@ $middle_end/flambda/flambda_utils.mlif88f8p@@-Flambda_utilsC@@@@Y@@@"1@@@"@@"G@@ఐ-function_decla4aA@@@nT@@-@@BU@A@a @@డ'f(f@@@@T@@@"@@@@"g@@@"@@"@@"3      @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@@@}@!a@@@@|$boolE@@@{@@z@@y@6utils/identifiable.mlimm@@+Stdlib__Mape@+!@@@@@@#)@*&@@@#'@@@#&@@#%@@#$3@@@@@@@ఐ*closure_idi`zi`@ @@<@@@#kJ@#j@@ఐ預#mapi`i`@@@U"@@\@@@@@#J@#3(@డ$Misc,fatal_errorf$Misc,j-j@ 0j1j@@@&Stdlib'format4!a@%&Format)formatter@@@%!$unitF@@@%"!b@%@@@% @@%@.utils/misc.mli\DD\D@@$MiscA@2-@@@*@@*@@@&I@,@!t@@@,LI@&I@, 2@@@&I@, @@,@@,I@&@%@@@,RI@,QI@&@@&I@&@@&I@&L@@@&H@@@&I@&@@@&6@@&@@ภ8CamlinternalFormatBasicsb&Formatdjk A;&Format8CamlinternalFormatBasics'format6!a@&!b@&!c@&!d@&!e@&!f@&@@@+@'#fmt$ @@@+&stringQ@@@+@B@@A@A@!t@@@ =@@@ <@@ ;@@ :@6utils/identifiable.mlimm@@+Stdlib__Map\@8.@@@@+@@@,@@@@,E@,@@@q@@1E@,E@, @@,@@,@@,@+@@@,@@@,@@,@@,@@ఐ06assign_function_offset r   r  @@@@+@@@,@"@@@,@@@@@,@@@,䠠@ @@@,@@,@'@@@,ࠠ@$@@@,@@,@@,@@,@@,@@ఐ.function_decls s   s  @@@@@@1@1@$funs s   s  @3$funs @@@#Map!t4function_declaration@@@@@@@@C3/is_classic_mode$boolE@@@@@@ @@ 4444@@,R@32set_of_closures_id 2Set_of_closures_id!t@@@@@A@@5254525^@@:S@36set_of_closures_origin.6Set_of_closures_origin!t@@@@@B%@@)"66*"666@@HT@<@@-'7(7*.'7(7U@@LU@OB@@<F@1@@@1@@@ఐ0function_offsets cs   ds  @ @@ Ǡ9E@1@@@16@@ rs   ss  @@/F@1@@@ ws   xs  @@E@1E@@@@F@A@ }q  @@@ఠ;assign_free_variable_offset }  # }  >@ TA@@@(Variable!t@@@1E@1@@@1E@1@@ #Map!t@@@3WE@1@@@2DE@1נ@E@1@@1E@1@E@2@@@3EE@3B@@@@3UE@3C@@3DE@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 @@@@@@ h$@@@ g@@ f@ 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@ 2@@@ $boolE@@@ @@ @@ @6utils/identifiable.mlimm@@+Stdlib__Mape@+!@@@@@@1@ @@@1@@@1@@1@@13        @@@@@@@ఐ2var_within_closure      @ @@<@@@25J@24@@ఐޠ#map      @@@<"@@\@@@@@2QJ@1(@డ,fatal_errorf$Misc @   @  @  @   @  @@ϰ@@@Ϡ@@@@@2`I@2@ !t@@@2I@2eI@2@@@2aI@2@@2@@2I@2b@@@@2I@2I@2f@@2gI@2c@@2dI@2T@@@2V@@@2WI@2X@@@2U5@@2Sw@@ภ   H@   IA  XAภ a  ` >Closure_offsets.add_closure_offsets: free variable offset for @@E@@@2J@2J@2@ภ $) %(ภ ,} -'| would be defined multiple times,@,@a@@@2J@2J@2@ภ @ A;@;@NK@2ƠI@2I@2I@2K@2ǠxI@2I@2I@2K@2ȠK@2ɠ K@2ʠgK@2@@@2J@2@@\@Ԡ!I@2K@2K@2wK@2@@@2J@2@@l@K@2-&'(K@2@@@2J@2@@{@K@2w:345K@2|@@@2J@2 @ `Closure_offsets.add_closure_offsets: free variable offset for %a would be defined multiple times@@@@@2J@2J@2@@@@۠Ҡà@@@2_J@2!@@డ %print2Var_within_closure B Y a B Y s@  B Y t B Y y@@@ &Format)formatter@@@ e@@@@ d$unitF@@@ c@@ b@@ a@`jcmajc@@,IdentifiableD@"@@ I@2S@@ఐ2var_within_closure#B Y z$B Y @]@@ I@2b@@)  *C  @@e@@,  @@g@@ఠ#map7D  8D  @DYA@@w@@@3I@23*))*****@{@@@డ b#Map#add2Var_within_closureSD  TD  @ WD  XD  @@\D  ]D  @ @@@@@ 0@!a@ @ @@@ /à @@@ .@@ -@@ ,@@ +@@F@$@@@@@@2@@Ҡ@@@2֠@@@2@@2@@2@@2G@@ఐf2var_within_closureD  D  @̰@@@@@3 J@3Y@@ఐ#posD  D  @k@@f@@ఐ#mapD  D  @y@@s@@b@@xt@A@D  @@@ఐ#mapE  E  @@@@@3@@@@@డ D i kE  E  @ h@@@ @@@3K@ h@@@3J @@@3I@@3H@@3G@@ఐ٠#posE  E  @@@2)@@AE  E  @@ @@@3VI@3ZI@3Y9@@ @@1:@@E  @@@@@9@@3[B@S@@@@@@ @@ @*!A@E@3a(@A@%@@@ఠ5free_variable_offsetsG  G @)ZA@@t M@@@3@@@3E@3c3@X@@@@@@@0G 1G @@E@3d @@@@@@ @@3g@డ#Map$fold(VariableLHMH"@ PH#QH&@@UH'VH+@ @ @@@@@@@3r@ M@@@3E@3n@@Q@A@@3E@3E@3l @@3q@@3p@@3o@@@@3m@@@3k@@3j@@3iR@@ఐ;assign_free_variable_offsetH,HG@\@@@@@@3@/F@3@@ @@@3@@@3@@@3@ @@@3@ @@@3@@3@@3@@3@@3@@ఐ N)free_varsIHNIHW@ İ@@ Y@@@3@@@ఐ 점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@@@4 D@4D@4@@@4@@@$K T@@ @< U@@ @= V@@ U@ W@@ @  X@@  8@ B YA@ B@4+ `@A@ ]@ ] \@ @ఠ'compute8O9O@E[A@@@ 'program@@@42B@4- @@@8mB@4.@@4/B@4,365566666@   @ @ @@@࣠@'programA@[O\O@@@@@433IHHIIIII@-dOeY@@@@  @s\A'г*'FlambdatOuO@1xOyO@@@9@@@40 @@OO@@@@"@@@@@@PP@@@@@4:3{zz{{{{{@3@8@;@-@@@$init  @]A @@@49г&resultPP@@@@@47@@! A@@@@@4;@ຠ 0function_offsetsQQ@డ#Map%empty*Closure_idQQ@ Q Q#@@Q$Q)@ @ !a@@@@@ @ E@ @@ ?@@@4FD@4PD@4N@@@4MZ@/5free_variable_offsetsR+1R+F@డ#Map%empty2Var_within_closureR+IR+[@ R+\R+_@@ R+` R+e@ @b!a@ $@@@ *@g@cE@ @@l5@@@4kD@4uD@4s@@@4r@@@&Q'Sgl@г@@@@4<@ A@@@@@4D@4@A@:P@@@ఠ!rEUrxFUry@R^A@@@@@8ZD@4376677777@@@@@@డ$List)fold_left^V|_V|@ bV|cV|@@@@#acc@5@!a@5 @@7#@@7"@ @$listK@@@7!@@7 @@7@@7@(list.mli333r@@,Stdlib__List]@(#@@@@AD@87@@@@8YD@89 @@8;@@8:@ @ @@@88@@86@@85@@84M@@ఐ 3add_closure_offsetsV|V|@X@@@@@@8U@@@@8T#@@@8S@@8R@@8Qg@@ఐ&$initWW@q@@yE@8[v@@డ 4all_sets_of_closures-Flambda_utilsWW@ WW@@@.'program@@@"j$listK:/set_of_closures@@@"i@@@"h@@"g@ (( (r@@ X@"@@@@@@8`@@@8_@@@8^@@8]@@ఐ'program W W@z@@5@@@8iF@8kF@8j@@WW@@@@@8HE@8lF@8g@@ @@@A@#Urt @@ఐ栐!r+Y@@@@@3@@@@@@@@@@A@B@8o@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 H/home/touraine/ci/builds/workspace/main/flambda/false/label/ocaml-arm-32 >10/.-,+*)('&%$#"! @@0Y`UX_fc3        @ @@/Allocated_const0ЖݔTWŠ(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ2Clambda_primitives01U1/Closure_element0.1 @1ѧU0sM;@eAlxW0hwa0 .Closure_origin0aBzlt@*Cmi_format0_j~GB00Compilation_unit0i(&ۥ$P.*Data_types0I'Ue`wq]Ѡ)Debuginfo0PtJ=^w/#Env0J=,Wu01Ux|ՍCb- 0 ʆR97cZ*Format_doc0]mWϓ:Mݠ%Ident0ki8' x%+Š,Identifiable0~ܽǞ+7Internal_variable_names0HdeՄL ԩ&Lambda0.Vu$ ^3,Linkage_name0h AEa.C1 R)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0Z1X=_c0Mutable_variable0_ ?.+L'Numbers00$ PS6?nu.+Outcometree0euWS~d栠)Parameter0Kb"Qjʑǭ@uYu)Parsetree0Uҩ=p>*%"e$Path0(|r>8۠dwx)Primitive0²~$xzT෠*Projection0n訥(2Set_of_closures_id0pi|ny6Set_of_closures_origin0{HO/Pؠ%Shape0mA;HXߠ0Static_exception0wBߝܔd3B&Stdlib0-i8Q"L{v;.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Bj|5s)ڠ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!-Stdlib__Int640l-J ~m-۠,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V ,Stdlib__List0eXԶ4r+Stdlib__Map0hؤ5O8% By.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0kb'G|PIF(.Stdlib__String0s&Switch0ܨnm\7&Symbol0_)Ӷӥ!h#Tag0 %XC}{3.Type_immediacy0A^abOhՠ%Types0R.z78m)Unit_info0ڀh%(0H6ʤ(fc2ӉrH(Variable0]Eè0=(Warnings0mJɒkgr@@ Lo@KU@@@P@h@e@@@A A@C@@@A C@@@B@@B@@