Caml1999I037W͠'Emitaux.output_channel&Stdlib#ref+out_channel@@@F@@@G@3asmcomp/emitaux.mliRjjRj@@@@@+emit_string@&stringQ@@@H$unitF@@@I@@J@SS@@0A@@(emit_int@#intA@@@K@@@L@@M@-T.T@@EB@@.emit_nativeint@)nativeintM@@@N,@@@O@@P@BUCU@@ZC@@*emit_int32@%int32N@@@QA@@@R@@S@WVXV @@oD@@+emit_symbol@V@@@TT@@@U@@V@jW  kW +@@E@@+emit_printf@&format!a@Z+out_channel@@@Xs@@@W@@@Y@@[@X,,X,a@@F@@)emit_char@$charB@@@\@@@]@@^@YbbYb}@@G@@3emit_string_literal@@@@_@@@`@@a@Z~~Z~@@H@@5emit_string_directive@@@@b@@@@c@@@d@@e@@f@[[@@I@@4emit_bytes_directive@@@@g@@@@h@@@i@@j@@k@\\ @@J@@6emit_float64_directive@@@@l@%int64O@@@m@@@n@@o@@p@]  ] @@@K@@@@@@@@@@@@@ðF  F  @@^@&efa_32?@@@l@@@@@@@@G  G  @@_@(efa_word@@@@@@@@@@@@H  H  @@`@)efa_alignA@@@@@@@@@@@I  I  @@a@-efa_label_relB@@@@@@@@@@@@@@@@@J  J  @@b@-efa_def_labelC@@@@@@@@@@@K  K  ;@@'c@*efa_stringD@@@ @@@ @@@@@!L < @"L < Z@@9d@@@A@@@@@%B  &L < \@@@@=Z@A@+emit_frames@@@@"@@@@@@8N ^ ^9N ^ @@Pe@@3is_generic_function@7@@@$boolE@@@@@@MP  NP  @@ef@@-cfi_startproc@F@@@J@@@@@@`R  aR  @@xg@@+cfi_endproc@Y@@@]@@@@@@sS  tS  @@h@@5cfi_adjust_cfa_offset@[@@@p@@@@@@T  T  @@i@@*cfi_offset#regp@@@&offsetx@@@@@@@@@@@U  U  J@@j@@2cfi_def_cfa_offset@@@@@@@@@@V K KV K o@@k@@2cfi_remember_state@@@@@@@@@@W p pW p @@l@@1cfi_restore_state@@@@@@@@@@X  X  @@m@@4cfi_def_cfa_register#reg@@@@@@@@@Y  Y  @@ n@@8binary_backend_available#ref@@@@@@@[  [  @@o@@/create_asm_file#ref@@@@@@@``@@/p@@%error;@@5Stack_frame_too_largeR@@@@@+d,d8@@Cr@@@A@@@@@/c  @@@AFq@A@ %Error##exnG@"@@@@@A&_none_@@A@Xs@B@,report_error*Format_doc.format_printer@@@@@@@UgSSVgS@@mt@@0report_error_doc'printer(@@@@@@@hhih@@u@@&mk_env@&Linear'fundecl@@@'Emitenv0per_function_env@@@@@@jj@@x@@7emit_named_text_section@@@@@@@@@@@@@@@@m;;m;o@@y@@@_ 'Emitaux0V/O##uP?4'X86_ast058ߺ<%RӠ(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0*%"e+Outcometree0euWS~d栠$Misc0ob]6>Vê>$Mach0( C'~A̠)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~&Linear0{L:ա;&Lambda0z1x]&ZT,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ#Env0zV L{YWI'Emitenv0ÂDhIϝkˠ)Debuginfo0PtJ=^w/*Data_types0I'Ue`wq]Ѡ#Cmm0rhmsT4u%{*Cmi_format0c˯7͗ԩmݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs+Backend_var0G}afTd(Asttypes0>n{T8cئ$Arch0;:1-K^1ʹ*}@@@Caml1999T037eEkBEC'Emitaux.output_channel3asmcomp/emitaux.mliRjnRj|@г&Stdlib#ref RjRj@г +out_channelRj~Rj@@ @@@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@@Azy@@@{@@@y@@@Rjj@@@@@@@+emit_stringSS@б@г\&stringSS@@ @@@3@@A@@гN$unitSS@@ @@@@@@@@@@@S @@A@@ @@(emit_intTT@б@г#intTT@@ @@@3@1F@A@@г~$unitTT@@ @@@@@@@@@@@T @@B@@ @@.emit_nativeintUU@б@г:)nativeintUU@@ @@@3@1F@A@@г$unitUU@@ @@@@@@@@@@@(U @@5C@@ @@*emit_int323V4V@б@гf%int32>V?V@@ @@@3'&&'''''@1F@A@@гޠ$unitMVNV @@ @@@@@@@@@@@XV @@eD@@ @@+emit_symbolcW dW @б@г&stringnW oW #@@ @@@3WVVWWWWW@1F@A@@г$unit}W '~W +@@ @@@@@@@@@@@W   @@E@@ @@+emit_printfX,0X,;@б@г&formatX,UX,[@А!a@A@3@7L%@AX,>X,@@@г+out_channelX,BX,M@@ @@@@@гU$unitX,OX,S@@ @@@ @@@3) @@@'X,=3@@А!a1,X,_X,a@@@6@@1 @@@X,,@@F@@ @@7)emit_charYbfYbo@б@г$charYbqYbu@@ @@@3@Pk@A@@г$unitYbyYb}@@ @@@@@@@@@@@ Ybb @@G@@ @@3emit_string_literalZ~Z~@б@гѠ&string#Z~$Z~@@ @@@3        @1F@A@@гà$unit2Z~3Z~@@ @@@@@@@@@@@=Z~~ @@JH@@ @@5emit_string_directiveH[I[@б@г&stringS[T[@@ @@@3<;;<<<<<@1F@A@@б@г&stringd[e[@@ @@@@@г$unitq[r[@@ @@@@@@@@!@@@'@@$* @@@[@@I@@@@*4emit_bytes_directive\\@б@гC&string\\@@ @@@3~}}~~~~~@CX@A@@б@гT&string\\@@ @@@@@гD$unit\\ @@ @@@@@@@@!@@@'@@$* @@@\@@J@@@@*6emit_float64_directive] ] '@б@г&string] )] /@@ @@@3@CX@A@@б@г %int64] 3] 8@@ @@@@@г$unit] <] @@@ @@@@@@@@!@@@'@@$* @@@]  @@K@@@@*$unitt d t d @@ @@@S}@@@@Tt d  @@3(@@Ut d w @@H=@@Vt d g@@гW$unitt d t d @@ @@@W@@@@@Xt d f @@@e@@Ys 4 6 @@@@@Z@@@q  @@T@@@@A+/frame_debuginfo5Av  v  @@;@@)Dbg_alloc6 -alloc_dbginfo@@@[@@w  w  @@V@)Dbg_raise7!t@@@\@@x  x  @@W@)Dbg_other8*!t@@@]@@y  y  @@$X@@@A@@@@@v  @@@@'U@@#44!w  "w  @+@г6)Debuginfo-w  .w  @=1w  ;@<@@D3@_U;@@@A@@@@@@@@@A B@@@@D@#@@=x  >x  @7@гB)DebuginfoIx  Jx  @IMx  G@H@@PI@@@@K@#GGTy  Uy  @>@гI)Debuginfo`y  ay  @Pdy  N@O@@W3P@@@@R@@A@N@@3KJJKKKKK@3@AOR@2record_frame_descr9q{  r{  .@б%labelг8#int~| 1 9| 1 <@@ @@@r3gffggggg@P@A@@б*frame_sizeгK#int} b o} b r@@ @@@s@@б+live_offsetг$list~  ~  @гf#int~  ~  @@ @@@t.@@@@@@v3 @@б@г۠/frame_debuginfo    @@ @@@wB@@г^$unit@  @  @@ @@@xO@@@@@yR@@?&@@zU~   @@TI@@{Y} b d@@k`@@|]| 1 3@@@{  @@Y@@@@dA+2emit_frame_actions:BB  B  +@@;@@.efa_code_label;@@@@@@}@@@~@@C . 2C . N@@[@.efa_data_label<@@@@@@@@@@@D O SD O o@@#\@%efa_8=@@@@@@@@@@@'E p t(E p @@5]@&efa_16>@@@@@@@@@@@9F  :F  @@G^@&efa_32?@@@q@@@@@@@@KG  LG  @@Y_@(efa_word@@@@@@@@@@@@]H  ^H  @@k`@)efa_alignA@@@'@@@@@@@@oI  pI  @@}a@-efa_label_relB@@@9@@@@@@@@@@@@@@J  J  @@b@-efa_def_labelC@@@Q@@@,@@@@@K  K  ;@@c@*efa_stringD@@@W@@@>@@@@@L < @L < Z@@d@@@A@@@@@B  L < \@@@@Z@@#C . @@@@Ш@б@г #intC . BC . E@@3@CZ;@@@A@@@@@@@@@A@@г̠$unitC . IC . M@@@@@@@@@@#РаD O a@@@Ш@б@гӠ#intD O cD O f@@#@@гؠ$unitD O jD O n@@,@@- @@@@0@@#ܠܰE p y@@@Ш@б@гߠ#int E p { E p ~@@A@@г䠐$unit E p  E p @@J@@K @@@@N@@# F  @@@Ш@б@г렐#int !F   "F  @@_@@г$unit *F   +F  @@h@@i @@@@l@@# 4G  @@@Ш@б@г%int32 ?G   @G  @@}@@г$unit HG   IG  @@@@  @@@@@@# RH  @@@Ш@б@г#int ]H   ^H  @@ @@г$unit fH   gH  @@@@ @@@@@@#   pI  @@@Ш@б@г#int {I   |I  @@@@г$unit I   I  @@°@@#ð @@&@@@@# J  @@@Ш@б@г#int J   J  @@#װ@@б@г %int32 J   J  @@(@@г%$unit J   J  @@-@@4 @@;@@>@@@.@#** K  -@@@Ш@б@г-#int K  / K  2@@5@@г2$unit K  6 K  :@@: @@A  @@D@@@:@#66+ L < J@*@@Ш@б@г9&string L < L L < R@@A@@г>$unit L < V?@@E'@@@L( A@@O@@+@E@@A@A@@3        @*@ABA@+emit_framesE N ^ b N ^ m@б@г2emit_frame_actions N ^ o N ^ @@ @@@3        @E@A@@г $unit N ^  N ^ @@ @@@@@@@@@@@ N ^ ^ @@ +e@@ @@3is_generic_functionF )P   *P  @б@г ⠐&string 4P   5P  @@ @@@3        @1F@A@@г 堐$bool CP   DP  @@ @@@@@@@@@@@ NP   @@ [f@@ @@-cfi_startprocG YR   ZR  @б@г $unit dR   eR  @@ @@@3 M L L M M M M M@1F@A@@г $unit sR   tR  @@ @@@@@@@@@@@ ~R   @@ g@@ @@+cfi_endprocH S   S  @б@г %$unit S   S  @@ @@@3 } | | } } } } }@1F@A@@г 4$unit S   S  @@ @@@@@@@@@@@ S   @@ h@@ @@5cfi_adjust_cfa_offsetI T   T  @б@г ~#int T   T  @@ @@@3        @1F@A@@г d$unit T   T  @@ @@@@@@@@@@@ T   @@ i@@ @@*cfi_offsetJ U   U  *@б#regг #int U  1 U  4@@ @@@3        @3H!@A@@б&offsetг à#int U  ? U  B@@ @@@@@г $unit U  F U  J@@ @@@ @@@@# U  8 @@5*@@' #U  - @@@ &U  @@ 3j@@@@.2cfi_def_cfa_offsetK 1V K O 2V K a@б@г #int <V K d =V K g@@ @@@3 % $ $ % % % % %@G^@A@@г ܠ$unit KV K k LV K o@@ @@@@@@@@@@@ VV K K @@ ck@@ @@2cfi_remember_stateL aW p t bW p @б@г $unit lW p  mW p @@ @@@3 U T T U U U U U@1F@A@@г $unit {W p  |W p @@ @@@@@@@@@@@ W p p @@ l@@ @@1cfi_restore_stateM X   X  @б@г -$unit X   X  @@ @@@3        @1F@A@@г <$unit X   X  @@ @@@@@@@@@@@ X   @@ m@@ @@4cfi_def_cfa_registerN Y   Y  @б#regг #int Y   Y  @@ @@@3        @3H!@A@@г n$unit Y   Y  @@ @@@ @@ @@  Y   @@@ Y   @@ n@@@@8binary_backend_availableO [   [ @г #ref [   [  @г $bool [  [ @@ @@@ 3        @:Q'@A@@@ @@@  @@@ [  @_ Is a binary backend available. If yes, we don't need to generate the textual assembly file (unless the user request it with -S).  #\  $^@@@@@@@ 1o@@)@o 䐠@@@@@@&/create_asm_fileP :` ;`@г 9#ref C` D`@г $bool M` N`@@ @@@3 6 5 5 6 6 6 6 6@Gd@@A@@@ @@@ @@@ \`@ 7 Are we actually generating the textual assembly file?  ia ja @@@@@@@ wp@@)@ *@@@@@@&A+%errorQC c  c @@;@@5Stack_frame_too_largeR L@@@@@ d d8@@ r@@@A@@@@@ c  @@@A q@@# d d1@ @г#int d5@@3        @VsO,;@@@A@@@@@@@@@A@@@@@@A@@@3        @@A@%ErrorSD f:D f:I@# @B@@@@@A f:: f:R@@ s@@г %error f:M @@3        @(SM@A@@@@@@@,report_error gSW gSc@г*Format_doc.format_printer*Format_doc gSk gSu@  gSv gS@@гw%error gSe gSj@@ @@@ a3        @0LF@A@@@$ @@@ c @@@ gSS@@ t@@@@ 0report_error_doc h h@г8'printer*Format_doc h h@  #h $h@@г%error .h /h@@ @@@ d3        @7_0@A@@@" @@@ f @@@ =h@@ Ju@@@@ &mk_env Hj Ij@б@г&Linear'fundecl&Linear Yj Zj@  ]j ^j@@@@@@ 3 G F F G G G G G@1W*@A @@г'Emitenv0per_function_env'Emitenv sj tj@  wj xj@@@@@@ ' @@@ @@ (( @@@ j @@ x@@@@#7emit_named_text_section m;? m;V@б@г G&string m;Y m;_@@ @@@ )3        @<\@A@@б@г \$char m;c m;g@@ @@@ *@@г H$unit m;k m;o@@ @@@ +@@@@@ ,!@@@'@@ -$* @@@ m;;@@ y@@@@*@  4@ - @  @  @  |@ u N@ G @  @  @  _@ X @  @  @  _@ X 1@ @@oH@A@@@ A@@ A@@@@{T@M&@@@@}V@O%@@@A@a[B@@@ @@Y@@3  @[@A@ H************************************************************************"A@@#A@L@ H (BMM)BM@ H OCaml .C/C@ H 4D5D3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt :E44;E4@ H @FAF@ H Copyright 1996 Institut National de Recherche en Informatique et FGGG@ H en Automatique. LHMHg@ H RIhhSIh@ H All rights reserved. This file is distributed under the terms of XJYJ@ H the GNU Lesser General Public License version 2.1, with the ^K_KN@ H special exception on linking described in the file LICENSE. dLOOeLO@ H jMkM@ H************************************************************************pNqN5@ - Common functions for emitting assembly code vP77wP7h@ * [emit_size_directive symbol] Emit a [.size] assembler directive for the given [symbol] when it is supported by the assembler  * [emit_type_directive symbol typ] Emit a [.type] assembler directive that [symbol] has type [typ] when it is supported by the assembler  ^ F* Emit a [.note.GNU-stack] section when it is supported by the linker  0 Return address | 1 M| 1 a@5 Size of stack frame } b ~} b @ Offsets/regs of live addresses ~  ~  @2 Location, if any     @ * Is a binary backend available. If yes, we don't need to generate the textual assembly file (unless the user request it with -S). z 8* Are we actually generating the textual assembly file? 7 H Output .text section directive, or named .text.caml. if enabled. ll:@@-./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"-I'asmcomp"-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 F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest >10/.-,+*)('&%$#"! @@0u$Xw,%`3@@@$Arch0;:1-K^1ʹ*}(Asttypes0>n{T8cئ+Backend_var0G}afTd5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0c˯7͗ԩmݠ#Cmm0rhmsT4u%{*Data_types0I'Ue`wq]Ѡ >0PtJ=^w/=0V/O##uP?4Ő0ÂDhIϝkˠ#Env0zV L{YWI*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`&Lambda0z1x]&ZT0{L:ա;)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Mach0( C'~A̠$Misc0ob]6>Vê>+Outcometree0euWS~d栠)Parsetree0Uҩ=p>*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠#Reg0dfǝhO%Shape0oNՄBH&Stdlib0Lku]8_٠+Stdlib__Arg0اp2/٠r)w.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Bj|5s)ڠ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s)Targetint0!2JTI ϝ.Type_immediacy0A^abOhՠ%Types0xH+}q)Unit_info0ڀh%((Warnings0mJɒkgr@@ & r@ ? k "@  @ ; @@ ΐ @  @ @8o@l@߰@uҐq@B4]@@ޒ@ Z   @@P@@