Caml1999T031mM+Ib<.Unbox_closures-ocaml.warning $middle_end/flambda/unbox_closures.mlQQ@5+a-4-9-30-40-41-42-66 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@@Р?Int_replace_polymorphic_compare?Int_replace_polymorphic_compareWRXR@@ 0FEEFFFFF@D@@@@@0GFFGGGGG@F@@_R@@ @L#ASAAkTlT@AР8Augment_specialised_args8Augment_specialised_argsvTwT@@ 0eddeeeee@@@@@|T@@!WBUU@AР(2What_to_specialise#ASAUU@@ 0@=4A-@!@@@@@U @ @!ECV%V&@AР7Inline_and_simplify_aux#Env7Inline_and_simplify_auxV)VD@@0@%;A4@#A@@@@V @ @)TransformDXFMXFV@@Б@ࠠ)pass_name Y`fY`o@@@@@@ZE@Y0@+CA<@)B@@@.unbox-closuresY`sY`@@Y`rY`@@@@Y`b@@@@ࠠ,precondition![[@@@#envm!t@@@E@\/set_of_closures'Flambda/set_of_closures@@@ ?E@b$boolE@@@ SE@c@@dE@]@@^E@[0@GTN@O@:C@@@((#-9[:[@@@00'&&'''''@>@[A^F@@@@@,,h@K[L[@@1@@@ @0;::;;;;;@ G@@^E@@@<  @ г='Flambda=`[a[@@F@@@ =@@@@@K@@డ%"&&p]q]@@O@@@K@U@@@JY@@@I@@H@@G(%sequandBA @@@@*stdlib.mli####3@@&Stdlib]@@@@@E@ I@@@E@ Hs@@E@ G@E@ F@E@ E0@MZR@U@F@@@@డa!!\\@@)#ref!a@~@@@s@@r'%field0AA;@@@9:@@8Ӱ@@@Z@@F@ UF@ F@ X@@F@ Y@F@ W7@@డ'Clflags.unbox_closures'Clflags5\@&Stdlib#ref$boolE@@@ @@@ @1utils/clflags.mli@@'ClflagsM@@M6@@G@ ^G@ G@ f@@W!@@8g@@డ^^@@@@@@F@ @@@F@ @@F@ @F@ @F@ @@డ#not*]+]@@ @@@F @@@E@@D(%boolnotAA@@@""""@@\@@@@@G@ @@G@ @G@ @@డ+at_toplevel!EW]X]@@N@@@o$boolE@@@n@@m@ .middle_end/flambda/inline_and_simplify_aux.mli|~|@@7Inline_and_simplify_auxa@@@`@@H@@@H@@H@@@ఐH#env~]]@.@@u@@]]@@Y@@H@ H@?I@@@b @@@@G@ G@AH@ @@డT#not^^@u@@@u@@G@Et@@G@D@G@C@@డ(Variable#Map(is_empty(Variable^^+@@(Variable#Map!t!a@@@@$boolE@@@@@@6utils/identifiable.mlimm@@+Stdlib__MapF! @@@'Flambda.specialised_to@@H@H@@@H@@@H@@H@V@@ఐ/set_of_closures^,^;@b@@/set_of_closures@@I@@l@)free_vars ^< ^E@,)free_vars @@@(Variable#Map!t7@@@@@@@A,.function_decls>5function_declarations@@@@@@@>middle_end/flambda/flambda.mli$$$%@@CO ,0specialised_args #Map!tR@@@@@@@B@@((((@@UQ,6direct_call_surrogates2/#Map!t6!t@@@@@@@C0@@(3%3')3%3Z@@jR@@,'a'c-'a'@@nP\M@@Gw@@I@@@_^@@5@@H@LH@I@@@'@@@@G@ G@H@K@@F/@@@@F@ TF@G@ @@7@@TE@ C@@A{[;A@hE@a0ihhiiiii@.@@@@A[@A@ywo@@0nmmnnnnn@G@@@@E@ED@Y@ࠠ2what_to_specialise`HN`H`@@@#env@@@BE@/set_of_closures/set_of_closures@@@E@/!t@@@6E@@@E@@@E@0@@@D@@@##(`Hb`He@@@+0@9`HJT@@@@@**@`Hh`Hw@@/@@@0@ B@@H@@@:  @ г;'Flambda=`Hz`H@@D@@@@@@@@I@@@ࠠ2what_to_specialiseaa@@@P@@@ F@0@*7/@2@I@@@డ&create!Waa@/set_of_closures'Flambda/set_of_closures@@@r@@@@@@ /middle_end/flambda/augment_specialised_args.mli\^@@8Augment_specialised_argsE@@@@F@@@F@@F@1@ఐl/set_of_closurese,E@@@@@@@@@@@q  q  0@@D@@@@@F@;(@@F@:@F@9%@@ఐB#enve,Fe,I@(@@j2@@&@@93@@e,2@@@ࠠ0num_closure_varsˠfMWfMg@@@#intA@@@RF@G0@[U@V@)K@@@డr#Map(cardinal(Variable.fMj/fM@@p!a@@@@&@@@@@@f@bW@@@a@@F@]F@L@@F@K6@@F@J@F@I3@@ఐ/set_of_closuresZfM[fM@Y@@\@@G@^@[G@)free_varsffMgfM@Z@@V%@@G@\R@@@@@YS@@ofMS @@!BGxgyg@AР-Inlining_cost'Benefit-Inlining_costgg@@0uttuuuuu@pz@{@L@@@@ࠠ=saved_by_not_building_closureؠhh@@@.!t@@@H@0@2A+@0M@@@డ;,remove_prims!Bkiqki@@@@@@#intA@@@'@@@@@@@@ $middle_end/flambda/inlining_cost.mliN Q SN Q s@@-Inlining_costQ@@@3@@H@N@@@H@M;@@H@L@H@K@H@J8@@డq+remove_call!Bkiki@@R@@@U@@@@@@.I } /I } @@-N@@@_@@I@b@@I@@I@_@@డ$zero!Bkiki@u@@@@NE 0 2OE 0 >@@MK  @@@@J@ J@ J@ ~@@"ki#ki@@@@I@ @@ఐ!0num_closure_vars1ki2ki@@@z@@I@I@ I@ @@ @@@@=h @@డ1Flambda_iterators "fold_function_decls_ignoring_stubs1Flambda_iteratorsLmMm@@'Flambda/set_of_closures@@@"l$init!a@ !f'fun_var(Variable!t@@@"k-function_decl$4function_declaration@@@"j@  @@"i@@"h@@"g @@"f@@"e@@"d@ (middle_end/flambda/flambda_iterators.mli@@1Flambda_iteratorsc87@@@5@@G@"v0@@E@"G@"p/-+@@G@"u&$@@G@"t@@G@"s@G@"r@G@"q@G@"o@G@"n@G@"m0@ @@N@@@@ఐܠ/set_of_closuresmm@@@b@@H@"H@"H@"0@@@@^ఐȠ2what_to_specialisen n @b@@7@cÐ'fun_var!o  .o  5@@@l@@I@":@@Ð-function_decl"@o  8o  E@@4function_declaration@@@"0@N"@@@"@@O@@@@г'Flambdao  Ho  d@@@@@"@@"@@@@@J@"J@"@@@2what_to_specialise#p f tp f @@@G@$.G@"0@1A9@<@)P@@@@@ࠠ)body_size$)q  *q  @@@p@@@"I@"0@(@@@Q@@@డ+lambda_size-Inlining_costBq  Cq  @@'Flambda$expr@@@!@@@@@@@@i@@@@@I@".@@I@"@I@"-@@ఐ-function_declkq  lq  @P@@4function_declaration@@J@"@"C@$bodyyq  zq  @,$body @@@!t@@@@B,,.closure_origin .Closure_origin!t@@@@@ @@g.8c8eh.8c8@@W,¶ms$listI)Parameter!t@@@@@@@A @@|/88}/88@@X.,.free_variables.#Set!t@@@@C.@@39 939 9.@@Z,,free_symbols<&Symbol#Set!t@@@@D>@@7::7::.@@[,$stubL$boolE@@@@EJ@@;::;::@@\,#dbgX)Debuginfo!t@@@@FX@@@<(<*@<(<<@@],&inlinef&Lambda0inline_attribute@@@@Gf@@B@@@B@@@@@@@'%divintBA@@@@j77j772@@s@@@@@N@#@@@N@#@@N@#@N@#@N@#$@@ఐj)body_size |   |  @`@@6@@O@#O@#O@#8@@డ ^ |   |  @@@@J@@O@#O@#O@#@@O@#@O@#S@@డ5unbox_closures_factor'Clflags |  @#ref#intA@@@ @@@ @@@/@@+/@@P@#P@#P@#{@@9@@1|@@ |   |  @@@@N@#N@#O@#@@A |   |  !@@@@N@#N@#N@#@@ |   |  "@@m@@M@#M@#N@#@lఐw=saved_by_not_building_closure } # < } # Y@q@@u@@M@#@oภ! ~ Z s ~ Z x@ @@@x@@M@#M@$@wఐi%round / y  0 y @@@@@M@#M@$M@$@@ @@@@ ;x O [ @@డ(evaluate!W HA   IA  @@@@@##@@@#@@#@x,.x,F@@`@@@@@K@$ 0@@K@$@K@$0 K J J K K K K K@ @@ nU@@@@ఐ#wsb nA   oA  @@@@@L@$L@$L@$@@1 @@L@? @@M@ {w   @@QI@"K@@ v  @@@ࠠ2what_to_specialise4 C   C  @@@@@G@$,I@$0 } | | } } } } }@`pj@k@ S@@@ఐw9small_enough_to_duplicate D   D  @ @@@@I@$I@$@డ *>make_direct_call_surrogate_for!W E  & E  F@@ @@@'fun_var(Variable!t@@@@@@@@@@@gg@@G@@@#@@I@$@@I@$+@@I@$@I@$@I@$J@@ఐ֠2what_to_specialise E  G E  Y@@@W@.ఐ$'fun_var E  [ E  b@@@;@@J@$-J@$5J@$4k@@K @@ol@ఐ2what_to_specialise G t  G t @԰@@w@ D  @@|y@@ C  @@@ࠠ4bound_by_the_closure5 I   I  @@@(Variable#Set!t@@@-I@$90        @@@ 4V@@@డ-Flambda_utils>variables_bound_by_the_closure-Flambda_utils 8J   9J  @@*Closure_id!t@@@%@'Flambda5function_declarations@@@%3@@@$@@$@@$@ $middle_end/flambda/flambda_utils.mlip ? ?q d @@-Flambda_utilsD! @@@@@I@%@@@I@%G@@I@%@I@%@I@%@@@డ*Closure_id$wrap*Closure_id wK xK@@(Variable!t@@@-*Closure_id!t@@@-@@-@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@J@.@@J@.@J@.u@@ఐ֠'fun_var K K&@@@0@@K@.K@.K@.@@ K K'@@y@@J@-J@.K@.@@ఐ/set_of_closures L(6 L(E@İ@@@@J@.#@.!@.function_decls L(F L(T@@@@@J@-J@.$J@."@@ @@@@ I   @@డ 1#Set$fold(Variable Nbl Nb}@@@ 1#Set#elt@@@&@!a@&N@@&@@&@!t@@@&@  @@&@@&@@&@ 2l 3l@@+Stdlib__SetT#"@@@@ @@H@..@m@@G@.uH@.*@H@.-@H@.,@@@H@.+@  @H@.)@H@.(@H@.'0        @@@ 3W@@@@@.inner_free_var 6Nb 7Nb@@@E@@J@.H@@@2what_to_specialise FNb GNb@@@0H@.M0 6 5 5 6 6 6 6 6@'Z@@@.G@@ \X@@@@డ 3new_specialised_arg!W ^O _O@@@@@'fun_var!t@@@%group!t@@@*definition\*Definition!t@@@@@@@@@@@@@@@g`hev~@@fF10@@@@@I@.[.,@@I@.Z)'@@I@.Y$"@@I@.X@@I@.W@I@.V@I@.U@I@.T@I@.S0        @\j`@a@ Y@@@@ఐr2what_to_specialise O O@@@n@Qఐ'fun_var P P@ְ@@^@@J@.tJ@.|J@.{%@[ఐ.inner_free_var P P @@@@@J@.}5@aภ7Existing_inner_free_var Q+ QB@87Existing_inner_free_varjh!t@@@.@0!t@@@.@A@@B@AUU@@@AఐР.inner_free_varQCQQ@@@@@J@.b@@ Q* QR@@@@J@.rJ@.j@@@@ e@@H@.qH@.Qp@@A A@@@I@.I@.0@@@@@ANb~QS@@@/@@I@.?@@I@.>@I@.=I@.0@@@@@ఐ4bound_by_the_closure3RT`4RTt@@@7@@I@. A@@?G@"?G@"@H@.H@.0EDDEEEEE@?@@@@A\o  6A@@@H@.@@H@.@H@.H@.0QPPQQQQQ@{@@@@Aho  (iSu@@@@H@"@@H@"@@H@"@H@"@H@"H@.@@-@@@=@@@{g@@E@s0ihhiiiii@@@@@@e@d& @@@b @@ @ = @@ E@ @@A`Hf A@ E@0vuuvvvvv@ @@@@A`Ha A@   @@.0{zz{{{{{@ @@@@ @  @ @  f@  @  @ @G@@0@  @@XFYU@0@ @@@@XFF@@гР J$Make#ASAWW@@ 0@  @  @  @ 8,@@@#Z@@@#Arg@J!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_varJ!t@@@/  4function_declaration@@@/ [#Map!t .specialised_to@@@/ @@@/ @@/ @@/@@/@@/@@//set_of_closures /set_of_closures@@@/&optionJ #$expr@@@/-Inlining_cost'Benefit!t@@@/@@/@@@/@@.@@.@@.@ *v +@ | @@ )L@@@@@Р )TransformYWZW@@  1@ b @ @@@@@B@@@iW@@@@/H@@@/G@@@/F@@@/E@@@/D@@@/A~}|@@@/C@@@/B@@/@@@/?@@/>@@/=@@/<{yx@@@/;wts@@@/9ron@@@/:@@/8@@@/7@@/6@@/5@@/4@m@j@@@@@@/]@@@/\@@@/[@@@/Z@@@/Y@@@/V͠@@@/X@@@/W@@/U@@/T@@/S@@/R@@/Q@@@/PƠ@@@/N@@@/O@@/M@@@/L@@/K@@/J@@/I@@@@ W@@@R@A@s@@A{@uR@@oAZ@T+@@N@y@wT@@^@0@`_^@@`#env7Inline_and_simplify_aux#Env!t@@@/r2duplicate_function#env#Env!t@@@/q/set_of_closures'Flambda/set_of_closures@@@/p'fun_var(Variable!t@@@/o+new_fun_var !t@@@/n!4function_declaration@@@/k#Map!t0.specialised_to@@@/m@@@/l@@/j@@/i@@/h@@/g@@/f/set_of_closures;/set_of_closures@@@/e&optionJJ$expr@@@/c-Inlining_cost'Benefit!t@@@/d@@/b@@@/a@@/`@@/_@@/^@ %middle_end/flambda/unbox_closures.mliV''a@@.Unbox_closures@ #env#Env!t@@@//set_of_closures /set_of_closures@@@/=2What_to_specialise!t@@@/@@/@@/@ m ph@@ J&stringO@@@/@ k k@@ I@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Pierre Chambart, OCamlPro E44E4@ H Mark Shinwell and Leo White, Jane Street Europe FF@ H GG@ H Copyright 2013--2016 OCamlPro SAS HHg@ H Copyright 2014--2016 Jane Street Group LLC IhhIh@ 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. M M@ H %N&N5@ H************************************************************************+O66,O6@ g For the moment assume that we're going to cause all functions in the set to become closed. 1i2jEh@ 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.) 7r  8u  @@*./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"-cf"-I2middle_end/flambdai 3/home/barsac/ci/builds/workspace/step-by-step-build 0/$#"! @0 Dlb ɭ0jiijjjjj@h@@/Allocated_const08UYwBkc6@.(Asttypes0'$O~70%5PR#s,Backend_intf0;U4]{.M5Build_path_prefix_map0xөvĠ8CamlinternalFormatBasics0cEXy*Su}Ck&Switch0Ź=Z$xr%ՠ&Symbol0SW9粩i#Tag0.ΒN1BK@:), .Type_immediacy0dV^25b)̓ԆSj%Types0lm?ƈ0HjᮬEWO?mߠ2Var_within_closure0GMUu_%T[(Variable0+d2 ޲ՠ(Warnings0zdͦkUe$@@AG@)@@@@4@@SZ@@)LRs@@@@0S@@@@@P@&@@@@RB@@,@@@ @V@@@x@@ABCA@@A