Caml1999T037zT P3C.Unbox_closures-ocaml.warning $middle_end/flambda/unbox_closures.mlQQ@5+a-4-9-30-40-41-42-66 QQ@@QQ@@@@@@QQ@@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@@Р?Int_replace_polymorphic_compare?Int_replace_polymorphic_compareRR@@ 3@@@@@@3@@@R@@ @#ASAATT@@AAР8Augment_specialised_args8Augment_specialised_argsTT@@ 3@@@@@T@@!WBUU@AAAР*2What_to_specialise#ASAUU @ U U@@@3@E?@@=@@@@c@@@ kH@H@ n@@@ p@@ o@@ m:@@డ'Clflags.unbox_closures'Clflags:l\@ o\p\@@@&Stdlib#ref$boolE@@@~@@@}@1utils/clflags.mli@@'Clflags@W@@U<@@@ wI@I@o@@a"@@>p@@డ^^@@@@@@@@@ @@@@ @@ @@@ @@ @@@@డ#not]]@@,@@@O@@N0@@@M@@L(%boolnotAAȠ@@@LLLt@@\@@@@@@@#@@"@@@!@@ @@డ+at_toplevel!E]]@ ]]@@@}@@@@@$boolE@@@@@@ .middle_end/flambda/inline_and_simplify_aux.mli|~|@@7Inline_and_simplify_auxa@@@@@@@U@@T@@@S@@R@@ఐv#env] ]@[@@@@#]$]@@e@@@,@K@\ @@p @@<@@@@J@*@@డ#not@^A^@@@@@@@@@@@@@@+@@డ(Variable#Map(is_empty(Variablec^d^@ g^h^"@@l^#m^+@ @@(Variable#Map!t!a@{@@@@@$boolE@@@@@@6utils/identifiable.mlimm@@+Stdlib__Mapc@-#@@@ 'Flambda.specialised_to@@@'J@@@@@@@@@@@@@ఐ/set_of_closures^,^;@@@/set_of_closures@@@'@'@)free_vars^<^E@3)free_vars @@@ =(Variable#Map!t7@@@ 8@@@ 7@@A3.function_decls>5function_declarations@@@ 6@@@@@>middle_end/flambda/flambda.mli$$$$@@CN@ 30specialised_args #Map!tR@@@ :@@@ 9@@B@@(6(8(6(i@@UP@36direct_call_surrogates2/#Map!t6!t@@@ <@@@ ;@@C0@@(22)23@@jQ@@@,''-'';@@nO@\M@@Gw@@@'@@^_@@S@@@@(K@@@g@@"@@@@(J@@@fo@@*@@@ i@(I@@@w@@ @vxA@E@(@A@|@|{@@ఠ2what_to_specialise:`HN;`H`@GGA@@#env@@@(E@(@@(/set_of_closures/set_of_closures@@@(%E@(@@( ~!t@@@(E@(!@@("E@(@@(E@(3LKKLLLLL@@@@@@࣠((A,p`Hbq`He@}HA@@.3]\\]]]]]@?x`HJyT@@@@@{`Ha @//A@`Hh`Hw@@1@@@(&3rqqrrrrr@!F@@@@@=  @IA: г='Flambda`Hz`H@D`H`H@@@L@@@(# @@"@@@Q@@`Hf`H@@@ఠ2what_to_specialiseaa@JA@@]@@@(H@()3@5A:@=@2@@@డ&create!Waa@ aa@@/set_of_closures'Flambda/set_of_closures@@@(H@@(G@@@(F@@(E@ /middle_end/flambda/augment_specialised_args.mli\^@@8Augment_specialised_argsE@ @@@@@(`@@(_@@@(^@@(]:@"ఐ/set_of_closuresaa@D@@-@@@(I@(I@(N@@? @@RO@A@ a @@డo#notbb@\@@@\@@@(@@([@@@(@@(3@jxq@r@s@@@@ఐŠ,precondition5b6b@Ұ@@@@@(@@(@@@(@@(@@@(@@(@@(#@Ӑఐ堐#envSbTb@ʰ@@0@Аఐޠ/set_of_closures`bab@@@@@@(I@(I@(D@@kblb@@@@@(@(I@(N@@\ @@@@@(H@(U@ఐΠ2what_to_specialisec c@\@@(_@@ఠ%rounde,6e,;@KA@@#intA@@@(H@(3@v@@@డ%round!Ee,>e,?@ e,@e,E@@@8@@@@@#@@@@@@q  q  0@@D@@@@G@@@(@@(2@@@(@@(/@@ఐg#enve,Fe,I@L@@<@@/@@C=@A@e,2@@@ఠ0num_closure_varsfMWfMg@LA@@#intA@@@(H@(3@g`@a@b@@@డ#Map(cardinal(VariablefMjfMr@  fMs fMv@@fMwfM@ @@!a@X@@@@@3@@@@@@@M@@@@@@@(H@(@@@(@@(E@@@(@@(B@@ఐ/set_of_closures?fM@fM@@@@@@(@(V@)free_varsKfMLfM@@@%@@@(a@@N@@hb@A@TfMS @@ !BI`gag@mMAAР-Inlining_cost'Benefit-Inlining_costpgqg@ tgug@@@3baabbbbb@@@@@@@}g @ @@ఠ=saved_by_not_building_closurehh@NA@@8!t@@@+J@)e3~}}~~~~~@@@@*9@@*8@@@@*7@@*6H@@@*5@@*4@@*3E@@డ+remove_call!Bkiki@ kiki@@@g@@@)@@)j@@@)@@)@:I } ;I } @@9N@@@@v@@@+@@+y@@@+@@+v@@డ$zero!Bkiki@ kiki@@@@@)@bE 0 2cE 0 >@@aK@ @@@@@++L@+/L@+.@@1ki2ki@@@@@+@+0L@+)@@ఐ_0num_closure_varsDkiEki@˰@@@@@+K@+2K@+1@@ @@@A@Ph @@డ1Flambda_iterators "fold_function_decls_ignoring_stubs1Flambda_iterators`mam@ dmem@@@'Flambda/set_of_closures@@@.@@.$init!a@+7@@.!f'fun_var(Variable!t@@@.@@.-function_decl,4function_declaration@@@.@@.@(@@.(@@.@@.@@.@@.(@@.@@.@@.@ (middle_end/flambda/flambda_iterators.mliu|@@1Flambda_iteratorsc@ID@@@A@@@.@@.<Y@@@0I@.@@.;97@@@.@@.20@@@.@@.@@@.@@.@@.@@.@@.@@.@@.@@.3@;LE@F@G@@@@ఐZ/set_of_closuresmm@@@w@@@.J@.J@.3@@@@sఐ=2what_to_specialisen n @˰@@DI@0I@0I@.@{࣠'fun_varJA o  . o  5@ OA@@@@@.)@@ o  -@-function_declKA@ o  8 o  E@@4function_declaration@@@.3        @U#@@@.@@@@@@ 6PA@@@.M@.г'Flambda @@26993699@@tZ@3$stubL$boolE@@@ J@@EJ@@>:::?:::@@[@3#dbgX)Debuginfo!t@@@ K@@FX@@L?;;M?;;@@\@3&inlinef&Lambda0inline_attribute@@@ L@@Gf@@ZA<<[A<<@@@]@3*specialiset4specialise_attribute@@@ M@@Hr@@fC@@@0@@0@@@0@@03        @?PI@J@K@@@@ఐW#wsb A   A  @ @@X@@@0Q@0Q@0@@9 @@@H @@W@ w   @@@A@ v  @@@ఠ2what_to_specialise] #C   $C  @ 0VA@@sN@03        @@@@@@ఐ 9small_enough_to_duplicate 5D   6D  @ @@@@@0N@0@డ `>make_direct_call_surrogate_for!W JE  & KE  '@  NE  ( OE  F@@@@@@(\@@(['fun_var(Variable!t@@@(Z@@(Y @@@(X@@(W@@(V@gg@@G@% @@@@@@0@@0@@@0@@0 @@@0@@0@@0W@@ఐ62what_to_specialise E  G E  Y@@@d@4ఐ'fun_var E  [ E  b@t@@?@@@0O@0O@0x@@X @@y@ఐV2what_to_specialise G t  G t @6@@@ D  @@@A@ C  @@@ఠ4bound_by_the_closure^ I   I  @ WA@@(Variable#Set!t@@@=N@03        @@@@@@డ-Flambda_utils>variables_bound_by_the_closure-Flambda_utils J   J  @  J   J  @@@*Closure_id!t@@@1@@1@'Flambda5function_declarations@@@1@@1<@@@1@@1@@1@ $middle_end/flambda/flambda_utils.mlip ? ?q d @@-Flambda_utilsD@*%@@@"@@@2@@2@@@@2@@2T@@@2@@2@@2M@@డ*Closure_id$wrap*Closure_id*K+K@ .K/K@@@(Variable!t@@@>n@@>m*Closure_id!t@@@>l@@>k@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@#@@@@@@>@@>@@@>@@>@@ఐ['fun_varaKbK&@>@@2@@@>P@>P@>@@lKmK'@@@@@>@>P@>@@ఐ/set_of_closuresL(6L(E@İ@@ @@@>@>@.function_declsL(FL(T@ @@@@@>O@>O@>@@ @@@A@I   @@డ J#Set$fold(VariableNblNbt@ NbuNbx@@NbyNb}@ @@@ L#Set#elt@@@4@@4@#acc@3r@@4@@4@@4@@4@!t@@@4@@4@@@4@@4@@4@@4@ Sl Tl@@+Stdlib__Set\@7-@@@@*@@@>@@>@ @@@?M@>@@>@@>@@>@@>@'@@@>@@>@@@>@@>@@>@@>3@7LE@F@G@@@@࣠@.inner_free_varANbNb@XA@@V@@@>3@@@@@ @@2what_to_specialiseA$Nb%Nb@1YA@@73@(k@@@>@@@@@@  @@డ S3new_specialised_arg!W=O>O@ AOBO@@@ @@@(U@@(T'fun_var!t@@@(S@@(R%group!t@@@(Q@@(P*definition *Definition!t@@@(O@@(N @@@(M@@(L@@(K@@(J@@(I@ ` ev~@@ F@>9@@@ "@@@>@@>64@@@>@@>1/@@@>@@>,*@@@>@@> :@@@>@@>@@>@@>@@>3@s@v@w@@@@ఐ2what_to_specialiseOO@ @@@^ఐ'fun_varPP@@@i@@@? Q@?Q@?$@fఐ.inner_free_varPP @@@ @@@?4@jภ7Existing_inner_free_varQ+QB@;7Existing_inner_free_varqo!t@@@?a@!t@@@?_@A@@B@A U U@@@ A@ఐ栐.inner_free_varQCQQ@Ͱ@@8@@@?ha@@Q*QR@@@@@? Q@?fi@@@@Q@?l@Nb~QS@@@Q@@@>@@>@'@@>'@@>@@>N@?yN@?t@@ఐg4bound_by_the_closure"RT`#RTt@!@@V@@@>N@?N@?+@@ఐ2what_to_specialise6Su7Su@k@@8@@@@I!@@@Jp@@@K@%@@L@@@M@?o  (@Su@@@@@.@@.@@@.@@.@@@.@@.@@.@@.J@?J@?q@@@@r@ @@@Zg@@3DCCDDDDD@@@@ @@ l@^d& @@ @`b @@  @ U @@  @  A@ %E@? @A@ @  @ @! @  @ 6 /@ 0@ 1@@3VUUVVVVV@  9@@pXFYqU@ 3\[[\\\\\@@@@@uXFF@@гР$Make#ASAWW@ WW@@@3|{{|||||@@`@R @/ 6@ g1@@@)a@@@#Arg@6!S7rewrite_set_of_closures#env7Inline_and_simplify_aux#Env!t@@@?@@?2duplicate_function#env#Env!t@@@?@@?/set_of_closures /set_of_closures@@@?@@?'fun_var!t@@@?@@?+new_fun_var!t@@@?@@?@ 4function_declaration@@@? @#Map!t ,.specialised_to@@@?@@@?@@?@@?@@?@@?@@?@@?/set_of_closures 9/set_of_closures@@@?@@?&optionL@ I$expr@@@?@-Inlining_cost'Benefit!t@@@?@@?@@@?@@?@@?@@?@ Qv R@ | @@ PL@@@@@@Р )TransformCWDW@@@ @ @@@@@B@@@SW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@@@ @@@@ @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@@@?@@?@@?@@?@@|@@#@   @@@@2@@@1@@@@0@@@/@@@@.@@@-@@@@,@@@+@@@@*@@@)@@@@@&@@@@@(@@@@'@@@%@@@$@@@#@@@"@@@!@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@WAD@BQ@@BM@ H OCaml CCDC@ H IDJD3@ H Pierre Chambart, OCamlPro OE44PE4@ H Mark Shinwell and Leo White, Jane Street Europe UFVF@ H [G\G@ H Copyright 2013--2016 OCamlPro SAS aHbHg@ H Copyright 2014--2016 Jane Street Group LLC gIhhhIh@ H mJnJ@ H All rights reserved. This file is distributed under the terms of sKtKN@ H the GNU Lesser General Public License version 2.1, with the yLOOzLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ g For the moment assume that we're going to cause all functions in the set to become closed. ijEh@ If the function is small enough, make a direct call surrogate for it, so that indirect calls are not penalised by having to bounce through the stub. (Making such a surrogate involves duplicating the function.) r  u  @@-./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Ԑ ;C:\builds\workspace\main\flambda\false\label\ocaml-mingw-32 >10/.-,+*)('&%$#"! @@0 Dlb ɭ3@@@/Allocated_const0/vVǟx(Asttypes0eT$BbRM dc+0#Ή`,Backend_intf0󋚕LQ:X^r#5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-2Clambda_primitives0|& %ZIǝz0ۮRЊ0 /Closure_element0ǔf#M*Closure_id0 (?$.Closure_origin0!Havl5"_*Cmi_format0`M{?w}@0Compilation_unit0Dl ]wN*Data_types0v\3,Svh)Debuginfo0_ |PooGq#Env0S B2)Export_id0CJ9DןRa7ݷ$E'Flambda0VJ͟ 0|Jٻb{0J/驨Ӆi$*Format_doc0uy@GmWUࠠ*Freshening0xW("-9wVԠ%Ident0>ЃzV)j⠠,Identifiable0]/*N 7Inline_and_simplify_aux0E#X̕B,;x -Inlining_cost0i(wypP1 󰠠4Inlining_stats_types0)x0pukC\ɐ0Dw\jۛv7Internal_variable_names0TbgѹG+L&Lambda0x_edT-uq,Linkage_name0tԈK1G)Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[q0Mutable_variable0CQᷧ$'Numbers0 q޷He+Outcometree0BuG^)= 9c )Parameter0zk^f2my19)Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}'Profile0i֓}խ٠*Projection02hS xj562Set_of_closures_id0LbO`ܩ&M6Set_of_closures_origin0!YA _XO %Shape0 M``ll3Simple_value_approx0 c[k%S\KѠ0Static_exception0Jmyrqܒx-8ɞ&Stdlib0t0VoS%{<F:+Stdlib__Arg03#a]֢2T.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__Map0*4ɇ2ɠ%Subst0=aqT/!p+&Switch0,9QKu @&Symbol03E?Y7(#Tag0&b rٍ.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X l0[wZn