Skip to content

Instantly share code, notes, and snippets.

@waywardmonkeys
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save waywardmonkeys/2e2ef18ef7942c5309da to your computer and use it in GitHub Desktop.
Save waywardmonkeys/2e2ef18ef7942c5309da to your computer and use it in GitHub Desktop.
Some LLVM output
METHOD format-to-string (control-string :: <byte-string>, #next next-method, #rest args) => (result :: <byte-string>)
t10 := [METHOD-CALLi ^{<&method> make (singleton(<byte-string>))}(^{<&class> <byte-string>}, ^#[], ^' ', ^32)]
Vt15 := [STACK-VECTOR (^#"contents", t10, ^#"direction", ^#"output")]
*t15(1) := [CONGRUENT-CALLi ^{<&method> <byte-string-stream> constructor (<class>)}(^{<&class> <byte-string-stream>}, Vt15, ^#unbound-slot-value, ^{<&class> <object>}, ^#f, t10)]
t16 := *t15(1) [0]
[METHOD-CALLi ^{<&method> format (<stream>, <byte-string>)}(t16, {{ control-string }}, {{ args }})]
*t14(1) := [METHOD-CALLi ^{<&method> stream-contents (<sequence-stream>)}(t16, ^#[], ^#t)]
*t7(1) := multiple-value-check-type *t14(1) :: ^{<&class> <byte-string>}
return *t7(1)
END
METHOD parse-integer (input :: <byte-string>, index :: <integer>, #next next-method) => (result :: false-or(<integer>), index :: <integer>)
{{ index }} := make-cell({{ index }})
{{ result }} := make-cell(^0)
t53 := cell-value({{ index }})
t71 := SLOT-VALUE-INITD({{ input }}, size)
t76 := [PRIMOP cast-integer-as-raw(t53)]
t78 := [PRIMOP cast-integer-as-raw(t71)]
t83 := [PRIMOP machine-word-unsigned-less-than?(t76, t78)]
IF (t83)
t84 := REPEATED-SLOT-VALUE({{ input }}, string-element, t76)
ELSE
*t67(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ input }}, t53)]
t104 := *t67(1) [0]
t121 := [PRIMOP byte-character-as-raw(t104)]
END IF
t107 := [IF-MERGE t84 t121]
t111 := [PRIMOP machine-word-shift-left-signal-overflow(t107, ^%2)]
t117 := [PRIMOP machine-word-logior(t111, ^%1)]
t128 := [PRIMOP machine-word-equal?(t117, ^%181)]
IF (t128)
t52 := cell-value({{ index }})
t131 := [PRIMOP cast-integer-as-raw(t52)]
t144 := [PRIMOP machine-word-add-signal-overflow(t131, ^%4)]
t146 := [PRIMOP cast-raw-as-integer(t144)]
cell-value({{ index }}) := t146
ELSE
END IF
{{ negative? }} := [IF-MERGE t146 ^#f]
t51 := cell-value({{ index }})
t165 := [PRIMOP cast-integer-as-raw(t51)]
LOOP ()
{{ i }} := [LOOP-MERGEi t165 t372]
t167 := [PRIMOP cast-raw-as-integer({{ i }})]
{{ len }} := [LOOP-MERGEi t78 {{ len }}]
{{ ascii-zero }} := [LOOP-MERGEi ^%193 t336]
t337 := [PRIMOP cast-raw-as-integer({{ ascii-zero }})]
t164 := [PRIMOP machine-word-equal?({{ i }}, {{ len }})]
IF (t164)
ELSE
t191 := [PRIMOP machine-word-unsigned-less-than?({{ i }}, t78)]
IF (t191)
t192 := REPEATED-SLOT-VALUE({{ input }}, string-element, {{ i }})
ELSE
*t175(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ input }}, t167)]
t212 := *t175(1) [0]
t227 := [PRIMOP byte-character-as-raw(t212)]
END IF
t215 := [IF-MERGE t192 t227]
t216 := [PRIMOP machine-word-shift-left-signal-overflow(t215, ^%2)]
t222 := [PRIMOP machine-word-logior(t216, ^%1)]
t224 := [PRIMOP cast-raw-as-integer(t222)]
*t225(1) := [VALUES t224]
*t208(1) := multiple-value-check-type *t225(1) :: ^{model-object :: <limited-integer>}
t226 := *t208(1) [0]
t225 := [METHOD-CALLi ^{<&method> element (<simple-object-vector>, <integer>)}(^{char-classes in format-internals}, t226, ^#[], ^{<&generic> unsupplied-object})]
t225 := [PRIMOP id?(t225, ^#"digit")]
t227 := [PRIMOP not(t225)]
END IF
t37 := [IF-MERGE t164 t227]
IF (t37)
ELSE
t58 := cell-value({{ result }})
t233 := [PRIMOP cast-integer-as-raw(t58)]
t239 := [PRIMOP machine-word-logxor(t233, ^%1)]
t249 := [PRIMOP machine-word-multiply-signal-overflow(t239, ^%10)]
t255 := [PRIMOP machine-word-logior(t249, ^%1)]
t278 := [PRIMOP machine-word-unsigned-less-than?({{ i }}, t78)]
IF (t278)
t279 := REPEATED-SLOT-VALUE({{ input }}, string-element, {{ i }})
ELSE
*t262(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ input }}, t167)]
t299 := *t262(1) [0]
t314 := [PRIMOP byte-character-as-raw(t299)]
END IF
t302 := [IF-MERGE t279 t314]
t303 := [PRIMOP machine-word-shift-left-signal-overflow(t302, ^%2)]
t309 := [PRIMOP machine-word-logior(t303, ^%1)]
t311 := [PRIMOP cast-raw-as-integer(t309)]
*t312(1) := [VALUES t311]
*t295(1) := multiple-value-check-type *t312(1) :: ^{model-object :: <limited-integer>}
t313 := *t295(1) [0]
t319 := [PRIMOP cast-integer-as-raw(t313)]
t327 := [PRIMOP machine-word-logxor({{ ascii-zero }}, ^%1)]
t332 := [PRIMOP machine-word-subtract-signal-overflow(t319, t327)]
t350 := [PRIMOP machine-word-logxor(t332, ^%1)]
t355 := [PRIMOP machine-word-add-signal-overflow(t255, t350)]
t357 := [PRIMOP cast-raw-as-integer(t355)]
cell-value({{ result }}) := t357
t372 := [PRIMOP machine-word-add-signal-overflow({{ i }}, ^%4)]
t28 := check-type t337 :: ^{model-object :: <limited-integer>}
t336 := [PRIMOP cast-integer-as-raw(t28)]
[CONTINUE #(t372, {{ len }}, t336)]
END IF
[IF-MERGE #f #f]
t57 := cell-value({{ result }})
t369 := [PRIMOP cast-integer-as-raw(t57)]
t376 := [PRIMOP machine-word-equal?(t369, ^%1)]
IF (t376)
t50 := cell-value({{ index }})
*t376(2) := [VALUES ^#f t50]
ELSE
IF ({{ negative? }})
t56 := cell-value({{ result }})
t380 := [PRIMOP cast-integer-as-raw(t56)]
t386 := [PRIMOP machine-word-logxor(t380, ^%1)]
t389 := [PRIMOP machine-word-negative-signal-overflow(t386)]
t395 := [PRIMOP machine-word-logior(t389, ^%1)]
t397 := [PRIMOP cast-raw-as-integer(t395)]
ELSE
t55 := cell-value({{ result }})
END IF
t43 := [IF-MERGE t397 t55]
*t398(2) := [VALUES t43 t167]
END IF
*t45(2) := [IF-MERGE *t376(2) *t398(2)]
BREAK
END LOOP
return *t45(2)
END
METHOD do-dispatch (char :: <byte-character>, stream :: <stream>, arg, #next next-method) => (consumed-arg? :: <boolean>)
t83 := [PRIMOP id?({{ char }}, ^'s')]
IF (t83)
ELSE
t82 := [PRIMOP id?({{ char }}, ^'S')]
END IF
{{ _tmp }} := [IF-MERGE t83 t82]
IF ({{ _tmp }})
ELSE
t81 := [PRIMOP id?({{ char }}, ^'c')]
END IF
{{ _tmp }} := [IF-MERGE {{ _tmp }} t81]
IF ({{ _tmp }})
ELSE
t80 := [PRIMOP id?({{ char }}, ^'C')]
END IF
t17 := [IF-MERGE {{ _tmp }} t80]
IF (t17)
[CONGRUENT-CALLg ^{<&generic> print-message}({{ arg }}, {{ stream }})]
*t18(1) := [VALUES ^#t]
ELSE
t79 := [PRIMOP id?({{ char }}, ^'=')]
IF (t79)
{{ %old-value% }} := ^{*print-escape?* in print}
UNWIND-PROTECT (t23)
{*print-escape?* in print} := ^#t
[CONGRUENT-CALLg ^{<&generic> print-object}({{ arg }}, {{ stream }})]
end-protected-block entry-state: t23
CLEANUP
{*print-escape?* in print} := {{ %old-value% }}
end-cleanup-block entry-state: t23
END UNWIND-PROTECT
*t28(1) := [VALUES ^#t]
ELSE
t77 := [PRIMOP id?({{ char }}, ^'d')]
IF (t77)
ELSE
t76 := [PRIMOP id?({{ char }}, ^'D')]
END IF
t34 := [IF-MERGE t77 t76]
IF (t34)
[ENGINE-NODE-CALLg ^{<&generic> format-integer}({{ arg }}, ^10, {{ stream }})]
*t35(1) := [VALUES ^#t]
ELSE
t75 := [PRIMOP id?({{ char }}, ^'b')]
IF (t75)
ELSE
t74 := [PRIMOP id?({{ char }}, ^'B')]
END IF
t41 := [IF-MERGE t75 t74]
IF (t41)
[ENGINE-NODE-CALLg ^{<&generic> format-integer}({{ arg }}, ^2, {{ stream }})]
*t42(1) := [VALUES ^#t]
ELSE
t73 := [PRIMOP id?({{ char }}, ^'o')]
IF (t73)
ELSE
t72 := [PRIMOP id?({{ char }}, ^'O')]
END IF
t48 := [IF-MERGE t73 t72]
IF (t48)
[ENGINE-NODE-CALLg ^{<&generic> format-integer}({{ arg }}, ^8, {{ stream }})]
*t49(1) := [VALUES ^#t]
ELSE
t71 := [PRIMOP id?({{ char }}, ^'x')]
IF (t71)
ELSE
t70 := [PRIMOP id?({{ char }}, ^'X')]
END IF
t55 := [IF-MERGE t71 t70]
IF (t55)
[ENGINE-NODE-CALLg ^{<&generic> format-integer}({{ arg }}, ^16, {{ stream }})]
*t56(1) := [VALUES ^#t]
ELSE
t69 := [PRIMOP id?({{ char }}, ^'m')]
IF (t69)
ELSE
t68 := [PRIMOP id?({{ char }}, ^'M')]
END IF
t62 := [IF-MERGE t69 t68]
IF (t62)
Vt68 := [STACK-VECTOR ({{ stream }})]
t63 := [CONGRUENT-CALLi ^{<&method> list ()}(Vt68)]
[CALLx ^{<&method> apply (<function>)}({{ arg }}, t63)]
*t64(1) := [VALUES ^#t]
ELSE
t68 := [PRIMOP id?({{ char }}, ^'%')]
IF (t68)
[CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, ^'%')]
*t67(1) := [VALUES ^#f]
ELSE
Vt68 := [STACK-VECTOR ({{ char }})]
*t69(1) := [METHOD-CALLi ^{<&method> error (<string>)}(^"Unknown format dispatch character, %c", Vt68)] // tail call
END IF
*t69(1) := [IF-MERGE *t67(1) *t69(1)]
END IF
*t70(1) := [IF-MERGE *t64(1) *t69(1)]
END IF
*t71(1) := [IF-MERGE *t56(1) *t70(1)]
END IF
*t72(1) := [IF-MERGE *t49(1) *t71(1)]
END IF
*t73(1) := [IF-MERGE *t42(1) *t72(1)]
END IF
*t74(1) := [IF-MERGE *t35(1) *t73(1)]
END IF
*t75(1) := [IF-MERGE *t28(1) *t74(1)]
END IF
*t76(1) := [IF-MERGE *t18(1) *t75(1)]
return *t76(1)
END
METHOD format (stream :: <stream>, control-string :: <byte-string>, #next next-method, #rest args) => ()
t100 := SLOT-VALUE-INITD({{ control-string }}, size)
BIND-EXIT ({{ exit%exit-52 }})
{{ start }} := make-cell(^0)
{{ arg-i }} := make-cell(^0)
LOOP ()
t83 := cell-value({{ start }})
t101 := [PRIMOP cast-integer-as-raw(t83)]
t103 := [PRIMOP cast-integer-as-raw(t100)]
t108 := [PRIMOP machine-word-less-than?(t101, t103)]
IF (t108)
t91 := cell-value({{ start }})
t153 := [PRIMOP cast-integer-as-raw(t91)]
LOOP ()
{{ i }} := [LOOP-MERGEi t153 t203]
t155 := [PRIMOP cast-raw-as-integer({{ i }})]
t106 := [PRIMOP id?(t155, t100)]
IF (t106)
ELSE
t129 := [PRIMOP machine-word-unsigned-less-than?({{ i }}, t103)]
IF (t129)
t130 := REPEATED-SLOT-VALUE({{ control-string }}, string-element, {{ i }})
t131 := [PRIMOP raw-as-byte-character(t130)]
ELSE
*t113(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ control-string }}, t155)]
t150 := *t113(1) [0]
END IF
t153 := [IF-MERGE t131 t150]
t146 := [PRIMOP id?(t153, ^'%')]
END IF
{{ _tmp }} := [IF-MERGE t106 t146]
IF ({{ _tmp }})
ELSE
t169 := [PRIMOP machine-word-unsigned-less-than?({{ i }}, t103)]
IF (t169)
t170 := REPEATED-SLOT-VALUE({{ control-string }}, string-element, {{ i }})
t171 := [PRIMOP raw-as-byte-character(t170)]
ELSE
*t153(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ control-string }}, t155)]
t190 := *t153(1) [0]
END IF
t193 := [IF-MERGE t171 t190]
t183 := [PRIMOP id?(t193, ^'\n')]
END IF
t23 := [IF-MERGE {{ _tmp }} t183]
IF (t23)
ELSE
t203 := [PRIMOP machine-word-add-signal-overflow({{ i }}, ^%4)]
[CONTINUE #(t203)]
END IF
[IF-MERGE #f #f]
t90 := cell-value({{ start }})
t204 := [PRIMOP id?(t155, t90)]
IF (t204)
ELSE
t89 := cell-value({{ start }})
Vt202 := [STACK-VECTOR (^#"start", t89, ^#"end", t155)]
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, {{ control-string }}, Vt202)]
END IF
[IF-MERGE #f #f]
IF (t106)
*t205(0,#rest) := [VALUES #rest ^#[]]
exit entry-state: {{ exit%exit-52 }} value: *t205(0,#rest)
ELSE
t226 := [PRIMOP machine-word-add-signal-overflow({{ i }}, ^%4)]
t228 := [PRIMOP cast-raw-as-integer(t226)]
cell-value({{ start }}) := t228
END IF
[IF-MERGE #f #f]
BREAK
END LOOP
t88 := cell-value({{ start }})
t231 := [PRIMOP cast-integer-as-raw(t88)]
t244 := [PRIMOP machine-word-subtract-signal-overflow(t231, ^%4)]
t246 := [PRIMOP cast-raw-as-integer(t244)]
t267 := [PRIMOP machine-word-unsigned-less-than?(t244, t103)]
IF (t267)
t268 := REPEATED-SLOT-VALUE({{ control-string }}, string-element, t244)
t269 := [PRIMOP raw-as-byte-character(t268)]
ELSE
*t251(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ control-string }}, t246)]
t288 := *t251(1) [0]
END IF
t291 := [IF-MERGE t269 t288]
t281 := [PRIMOP id?(t291, ^'\n')]
IF (t281)
[CONGRUENT-CALLg ^{<&generic> new-line}({{ stream }})]
ELSE
t87 := cell-value({{ start }})
t297 := [PRIMOP cast-integer-as-raw(t87)]
t304 := [PRIMOP machine-word-unsigned-less-than?(t297, t103)]
IF (t304)
t305 := REPEATED-SLOT-VALUE({{ control-string }}, string-element, t297)
ELSE
*t288(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ control-string }}, t87)]
t325 := *t288(1) [0]
t341 := [PRIMOP byte-character-as-raw(t325)]
END IF
t328 := [IF-MERGE t305 t341]
t330 := [PRIMOP machine-word-shift-left-signal-overflow(t328, ^%2)]
t336 := [PRIMOP machine-word-logior(t330, ^%1)]
t338 := [PRIMOP cast-raw-as-integer(t336)]
*t339(1) := [VALUES t338]
*t322(1) := multiple-value-check-type *t339(1) :: ^{model-object :: <limited-integer>}
t340 := *t322(1) [0]
t339 := [METHOD-CALLi ^{<&method> element (<simple-object-vector>, <integer>)}(^{char-classes in format-internals}, t340, ^#[], ^{<&generic> unsupplied-object})]
t339 := [PRIMOP id?(t339, ^#"digit")]
IF (t339)
t86 := cell-value({{ start }})
*t38(2) := [CONGRUENT-CALLi ^{<&method> parse-integer (<byte-string>, <integer>)}({{ control-string }}, t86)]
ELSE
*t39(2) := [VALUES ^#f ^#f]
END IF
*t40(2) := [IF-MERGE *t38(2) *t39(2)]
{{ field }} := *t40(2) [0]
{{ field-spec-end }} := *t40(2) [1]
IF ({{ field }})
t99 := constrain-type {{ field }} :: ^{<&class> <integer>}
t339 := [METHOD-CALLi ^{<&method> make (singleton(<byte-string>))}(^{<&class> <byte-string>}, ^#[], ^' ', ^80)]
Vt344 := [STACK-VECTOR (^#"contents", t339, ^#"direction", ^#"output")]
*t344(1) := [CONGRUENT-CALLi ^{<&method> <byte-string-stream> constructor (<class>)}(^{<&class> <byte-string-stream>}, Vt344, ^#unbound-slot-value, ^{<&class> <object>}, ^#f, t339)]
t345 := *t344(1) [0]
t47 := [CONGRUENT-CALLg ^{<&generic> element}({{ control-string }}, {{ field-spec-end }}, ^#[])]
t96 := cell-value({{ arg-i }})
t344 := [METHOD-CALLi ^{<&method> element (<simple-object-vector>, <integer>)}({{ args }}, t96, ^#[], ^#f)]
t49 := [CALLx ^{<&method> do-dispatch (<byte-character>, <stream>, <object>)}(t47, t345, t344)]
IF (t49)
t95 := cell-value({{ arg-i }})
t350 := [PRIMOP cast-integer-as-raw(t95)]
t363 := [PRIMOP machine-word-add-signal-overflow(t350, ^%4)]
t365 := [PRIMOP cast-raw-as-integer(t363)]
cell-value({{ arg-i }}) := t365
ELSE
END IF
[IF-MERGE #f #f]
t362 := [METHOD-CALLi ^{<&method> stream-contents (<sequence-stream>)}(t345, ^#[], ^#t)]
{{ output }} := check-type t362 :: ^{<&class> <byte-string>}
t362 := SLOT-VALUE-INITD({{ output }}, size)
t366 := [PRIMOP cast-integer-as-raw(t99)]
t372 := [PRIMOP machine-word-logxor(t366, ^%1)]
t375 := [PRIMOP machine-word-abs-signal-overflow(t372)]
t381 := [PRIMOP machine-word-logior(t375, ^%1)]
t392 := [PRIMOP cast-integer-as-raw(t362)]
t398 := [PRIMOP machine-word-logxor(t392, ^%1)]
t403 := [PRIMOP machine-word-subtract-signal-overflow(t381, t398)]
t405 := [PRIMOP cast-raw-as-integer(t403)]
t413 := [PRIMOP machine-word-less-than?(t403, ^%1)]
IF (t413)
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, {{ output }}, ^#[])]
ELSE
t420 := [PRIMOP cast-integer-as-raw(t99)]
t425 := [PRIMOP machine-word-less-than?(^%1, t420)]
IF (t425)
t424 := [METHOD-CALLi ^{<&method> make (singleton(<byte-string>))}(^{<&class> <byte-string>}, ^#[], ^' ', t405)]
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, t424, ^#[])]
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, {{ output }}, ^#[])]
ELSE
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, {{ output }}, ^#[])]
t424 := [METHOD-CALLi ^{<&method> make (singleton(<byte-string>))}(^{<&class> <byte-string>}, ^#[], ^' ', t405)]
[CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, t424, ^#[])]
END IF
[IF-MERGE #f #f]
END IF
[IF-MERGE #f #f]
t64 := [CONGRUENT-CALLg ^{<&generic> +}({{ field-spec-end }}, ^1)]
t65 := assignment-check-type { start } = t64 :: ^{<&class> <integer>}
cell-value({{ start }}) := t65
ELSE
t85 := cell-value({{ start }})
t439 := [PRIMOP cast-integer-as-raw(t85)]
t446 := [PRIMOP machine-word-unsigned-less-than?(t439, t103)]
IF (t446)
t447 := REPEATED-SLOT-VALUE({{ control-string }}, string-element, t439)
t448 := [PRIMOP raw-as-byte-character(t447)]
ELSE
*t430(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}({{ control-string }}, t85)]
t467 := *t430(1) [0]
END IF
t470 := [IF-MERGE t448 t467]
t94 := cell-value({{ arg-i }})
t462 := [METHOD-CALLi ^{<&method> element (<simple-object-vector>, <integer>)}({{ args }}, t94, ^#[], ^#f)]
t69 := [CONGRUENT-CALLi ^{<&method> do-dispatch (<byte-character>, <stream>, <object>)}(t470, {{ stream }}, t462)]
IF (t69)
t93 := cell-value({{ arg-i }})
t468 := [PRIMOP cast-integer-as-raw(t93)]
t481 := [PRIMOP machine-word-add-signal-overflow(t468, ^%4)]
t483 := [PRIMOP cast-raw-as-integer(t481)]
cell-value({{ arg-i }}) := t483
ELSE
END IF
[IF-MERGE #f #f]
t84 := cell-value({{ start }})
t487 := [PRIMOP cast-integer-as-raw(t84)]
t500 := [PRIMOP machine-word-add-signal-overflow(t487, ^%4)]
t502 := [PRIMOP cast-raw-as-integer(t500)]
cell-value({{ start }}) := t502
END IF
[IF-MERGE #f #f]
END IF
[IF-MERGE #f #f]
[CONTINUE #()]
ELSE
END IF
[IF-MERGE #f #f]
BREAK
END LOOP
*t79(0,#rest) := [VALUES]
end-exit-block entry-state: {{ exit%exit-52 }}
END BIND-EXIT
*t80(0) := [BIND-EXIT-MERGE *t6(0,#rest) *t79(0,#rest)]
return *t80(0)
END
METHOD format-integer (arg :: <double-integer>, radix :: limited(<integer>, #"min", 2, #"max", 36), stream :: <stream>, #next next-method) => ()
*t2(0) := [CONGRUENT-CALLg ^{<&generic> print}({{ arg }}, {{ stream }}, ^#[])] // tail call
return *t2(0)
END
METHOD format-integer (arg :: <integer>, radix :: limited(<integer>, #"min", 2, #"max", 36), stream :: <stream>, #next next-method) => ()
LOCAL METHOD repeat (stream, radix, arg :: <integer>, digits :: <list>) => (#rest results)
LOOP ()
{{ arg }} := [LOOP-MERGEi {{ arg }} t58]
t135 := check-type {{ arg }} :: ^{<&class> <integer>}
{{ digits }} := [LOOP-MERGEi {{ digits }} t114]
t137 := check-type {{ digits }} :: ^{<&class> <list>}
t35 := [PRIMOP cast-integer-as-raw(t135)]
t33 := [PRIMOP machine-word-shift-right(t35, ^%2)]
t40 := [PRIMOP cast-integer-as-raw({{ radix }})]
t38 := [PRIMOP machine-word-shift-right(t40, ^%2)]
*t45(2) := [PRIMOP machine-word-floor/(t33, t38)]
{{ quotient }} := *t45(2) [0]
{{ remainder }} := *t45(2) [1]
t50 := [PRIMOP machine-word-shift-left-signal-overflow({{ quotient }}, ^%2)]
t56 := [PRIMOP machine-word-logior(t50, ^%1)]
t58 := [PRIMOP cast-raw-as-integer(t56)]
t61 := [PRIMOP machine-word-shift-left-signal-overflow({{ remainder }}, ^%2)]
t67 := [PRIMOP machine-word-logior(t61, ^%1)]
t69 := [PRIMOP cast-raw-as-integer(t67)]
t77 := SLOT-VALUE-INITD(^{$digits in format-internals}, size)
t84 := [PRIMOP cast-integer-as-raw(t77)]
t89 := [PRIMOP machine-word-unsigned-less-than?(t67, t84)]
IF (t89)
t90 := REPEATED-SLOT-VALUE(^{$digits in format-internals}, string-element, t67)
t91 := [PRIMOP raw-as-byte-character(t90)]
ELSE
*t73(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}(^{$digits in format-internals}, t69)]
t110 := *t73(1) [0]
END IF
t113 := [IF-MERGE t91 t110]
t114 := [PRIMOP object-allocate-filled(^%3, ^{model-object <pair> :: <mm-wrapper>}, ^%2, ^#unbound-slot-value, ^%0, ^%0, ^#unbound-slot-value)]
SLOT-VALUE(t114, head) := t113
SLOT-VALUE(t114, tail) := t137
t132 := [PRIMOP machine-word-equal?(t56, ^%1)]
IF (t132)
LOOP ()
t15 := [LOOP-MERGEi t114 t133]
t127 := [PRIMOP id?(t15, ^#())]
IF (t127)
ELSE
t129 := SLOT-VALUE-INITD(t15, head)
[CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, t129)]
t131 := SLOT-VALUE-INITD(t15, tail)
*t132(1) := [VALUES t131]
*t130(1) := multiple-value-check-type *t132(1) :: ^{<&class> <list>}
t133 := *t130(1) [0]
[CONTINUE #(t133)]
END IF
[IF-MERGE #f #f]
*t23(0,#rest) := [VALUES ^#f]
BREAK
END LOOP
ELSE
*t133(0,#rest) := [CONTINUE #(t58, t114)]
END IF
*t25(0,#rest) := [IF-MERGE *t23(0,#rest) *t133(0,#rest)]
BREAK
END LOOP
return *t25(0,#rest)
END
t27 := [PRIMOP cast-integer-as-raw({{ arg }})]
t33 := [PRIMOP machine-word-less-than?(t27, ^%1)]
IF (t33)
[CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, ^'-')]
t40 := [PRIMOP machine-word-shift-right(t27, ^%2)]
t47 := [PRIMOP cast-integer-as-raw({{ radix }})]
t45 := [PRIMOP machine-word-shift-right(t47, ^%2)]
*t52(2) := [PRIMOP machine-word-truncate/(t40, t45)]
{{ quotient }} := *t52(2) [0]
{{ remainder }} := *t52(2) [1]
t57 := [PRIMOP machine-word-shift-left-signal-overflow({{ quotient }}, ^%2)]
t63 := [PRIMOP machine-word-logior(t57, ^%1)]
t68 := [PRIMOP machine-word-shift-left-signal-overflow({{ remainder }}, ^%2)]
t85 := [PRIMOP machine-word-equal?(t63, ^%1)]
IF (t85)
t175 := [PRIMOP machine-word-negative-signal-overflow(t68)]
t181 := [PRIMOP machine-word-logior(t175, ^%1)]
t183 := [PRIMOP cast-raw-as-integer(t181)]
t190 := SLOT-VALUE-INITD(^{$digits in format-internals}, size)
t197 := [PRIMOP cast-integer-as-raw(t190)]
t202 := [PRIMOP machine-word-unsigned-less-than?(t181, t197)]
IF (t202)
t203 := REPEATED-SLOT-VALUE(^{$digits in format-internals}, string-element, t181)
t204 := [PRIMOP raw-as-byte-character(t203)]
ELSE
*t186(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}(^{$digits in format-internals}, t183)]
t223 := *t186(1) [0]
END IF
t226 := [IF-MERGE t204 t223]
*t17(0) := [CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, t226)] // tail call
ELSE
t98 := [PRIMOP machine-word-negative-signal-overflow(t57)]
t104 := [PRIMOP machine-word-logior(t98, ^%1)]
t106 := [PRIMOP cast-raw-as-integer(t104)]
t117 := [PRIMOP machine-word-negative-signal-overflow(t68)]
t123 := [PRIMOP machine-word-logior(t117, ^%1)]
t125 := [PRIMOP cast-raw-as-integer(t123)]
t134 := SLOT-VALUE-INITD(^{$digits in format-internals}, size)
t141 := [PRIMOP cast-integer-as-raw(t134)]
t146 := [PRIMOP machine-word-unsigned-less-than?(t123, t141)]
IF (t146)
t147 := REPEATED-SLOT-VALUE(^{$digits in format-internals}, string-element, t123)
t148 := [PRIMOP raw-as-byte-character(t147)]
ELSE
*t130(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}(^{$digits in format-internals}, t125)]
t167 := *t130(1) [0]
END IF
t170 := [IF-MERGE t148 t167]
Vt160 := [STACK-VECTOR (t170)]
t13 := [CONGRUENT-CALLi ^{<&method> list ()}(Vt160)]
*t14(0) := [CONGRUENT-CALLi ^{<&method> repeat of {<&method> format-integer (<integer>, limited(<integer>, #"min", 2, #"max", 36), <stream>)}}({{ stream }}, {{ radix }}, t106, t13)] // tail call
END IF
*t18(0) := [IF-MERGE *t17(0) *t14(0)]
ELSE
*t19(0) := [CONGRUENT-CALLi ^{<&method> repeat of {<&method> format-integer (<integer>, limited(<integer>, #"min", 2, #"max", 36), <stream>)}}({{ stream }}, {{ radix }}, {{ arg }}, ^#())] // tail call
END IF
*t20(0) := [IF-MERGE *t18(0) *t19(0)]
return *t20(0)
END
METHOD format-integer (arg :: <float>, radix :: limited(<integer>, #"min", 2, #"max", 36), stream :: <stream>, #next next-method) => ()
t9 := [PRIMOP cast-integer-as-raw({{ radix }})]
t16 := [PRIMOP machine-word-equal?(t9, ^%41)]
IF (t16)
ELSE
[CONGRUENT-CALLi ^{<&method> assertion-failure (<string>)}(^"Can only print floats in base 10", ^#[])]
END IF
[IF-MERGE #f #f]
*t4(0) := [CONGRUENT-CALLg ^{<&generic> print}({{ arg }}, {{ stream }}, ^#[])] // tail call
return *t4(0)
END
METHOD repeat (stream, radix, arg :: <integer>, digits :: <list>) => (#rest results)
LOOP ()
{{ arg }} := [LOOP-MERGEi {{ arg }} t58]
t135 := check-type {{ arg }} :: ^{<&class> <integer>}
{{ digits }} := [LOOP-MERGEi {{ digits }} t114]
t137 := check-type {{ digits }} :: ^{<&class> <list>}
t35 := [PRIMOP cast-integer-as-raw(t135)]
t33 := [PRIMOP machine-word-shift-right(t35, ^%2)]
t40 := [PRIMOP cast-integer-as-raw({{ radix }})]
t38 := [PRIMOP machine-word-shift-right(t40, ^%2)]
*t45(2) := [PRIMOP machine-word-floor/(t33, t38)]
{{ quotient }} := *t45(2) [0]
{{ remainder }} := *t45(2) [1]
t50 := [PRIMOP machine-word-shift-left-signal-overflow({{ quotient }}, ^%2)]
t56 := [PRIMOP machine-word-logior(t50, ^%1)]
t58 := [PRIMOP cast-raw-as-integer(t56)]
t61 := [PRIMOP machine-word-shift-left-signal-overflow({{ remainder }}, ^%2)]
t67 := [PRIMOP machine-word-logior(t61, ^%1)]
t69 := [PRIMOP cast-raw-as-integer(t67)]
t77 := SLOT-VALUE-INITD(^{$digits in format-internals}, size)
t84 := [PRIMOP cast-integer-as-raw(t77)]
t89 := [PRIMOP machine-word-unsigned-less-than?(t67, t84)]
IF (t89)
t90 := REPEATED-SLOT-VALUE(^{$digits in format-internals}, string-element, t67)
t91 := [PRIMOP raw-as-byte-character(t90)]
ELSE
*t73(1) := [CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}(^{$digits in format-internals}, t69)]
t110 := *t73(1) [0]
END IF
t113 := [IF-MERGE t91 t110]
t114 := [PRIMOP object-allocate-filled(^%3, ^{model-object <pair> :: <mm-wrapper>}, ^%2, ^#unbound-slot-value, ^%0, ^%0, ^#unbound-slot-value)]
SLOT-VALUE(t114, head) := t113
SLOT-VALUE(t114, tail) := t137
t132 := [PRIMOP machine-word-equal?(t56, ^%1)]
IF (t132)
LOOP ()
t15 := [LOOP-MERGEi t114 t133]
t127 := [PRIMOP id?(t15, ^#())]
IF (t127)
ELSE
t129 := SLOT-VALUE-INITD(t15, head)
[CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, t129)]
t131 := SLOT-VALUE-INITD(t15, tail)
*t132(1) := [VALUES t131]
*t130(1) := multiple-value-check-type *t132(1) :: ^{<&class> <list>}
t133 := *t130(1) [0]
[CONTINUE #(t133)]
END IF
[IF-MERGE #f #f]
*t23(0,#rest) := [VALUES ^#f]
BREAK
END LOOP
ELSE
*t133(0,#rest) := [CONTINUE #(t58, t114)]
END IF
*t25(0,#rest) := [IF-MERGE *t23(0,#rest) *t133(0,#rest)]
BREAK
END LOOP
return *t25(0,#rest)
END
METHOD print-message (object :: <object>, stream :: <stream>, #next next-method) => ()
{{ %old-value% }} := ^{*print-escape?* in print}
UNWIND-PROTECT (t4)
{*print-escape?* in print} := ^#f
*t7(0) := [CONGRUENT-CALLg ^{<&generic> print-object}({{ object }}, {{ stream }})]
end-protected-block entry-state: t4
CLEANUP
{*print-escape?* in print} := {{ %old-value% }}
end-cleanup-block entry-state: t4
END UNWIND-PROTECT
return *t7(0)
END
METHOD print-message (object :: <condition>, stream :: <stream>, #next next-method) => ()
{{ %old-value% }} := ^{*print-escape?* in print}
UNWIND-PROTECT (t4)
{*print-escape?* in print} := ^#f
*t7(0) := [CONGRUENT-CALLg ^{<&generic> print-object}({{ object }}, {{ stream }})]
end-protected-block entry-state: t4
CLEANUP
{*print-escape?* in print} := {{ %old-value% }}
end-cleanup-block entry-state: t4
END UNWIND-PROTECT
return *t7(0)
END
METHOD print-message (object :: <string>, stream :: <stream>, #next next-method) => ()
*t2(0) := [CONGRUENT-CALLg ^{<&generic> write-text}({{ stream }}, {{ object }}, ^#[])] // tail call
return *t2(0)
END
METHOD print-message (object :: <character>, stream :: <stream>, #next next-method) => ()
*t2(0) := [CONGRUENT-CALLg ^{<&generic> write-element}({{ stream }}, {{ object }})] // tail call
return *t2(0)
END
METHOD print-message (object :: <symbol>, stream :: <stream>, #next next-method) => ()
t11 := SLOT-VALUE-INITD({{ object }}, symbol-name)
*t12(1) := [VALUES t11]
*t10(1) := multiple-value-check-type *t12(1) :: ^{<&class> <byte-string>}
t13 := *t10(1) [0]
*t3(0) := [CONGRUENT-CALLg ^{<&generic> write}({{ stream }}, t13, ^#[])] // tail call
return *t3(0)
END
METHOD char-classes-initializer () => ()
*t11(1) := [METHOD-CALLi ^{<&method> make (singleton(<simple-object-vector>))}(^{<&class> <simple-object-vector>}, ^#[], ^#f, ^256)]
t12 := *t11(1) [0]
define {char-classes in format-internals} = t12
*t5(0) := [VALUES]
return *t5(0)
END
METHOD top-level-initializer () => ()
LOOP ()
{{ i }} := [LOOP-MERGEi ^48 t9]
t6 := [CONGRUENT-CALLg ^{<&generic> <}({{ i }}, ^58)]
IF (t6)
[CONGRUENT-CALLg ^{<&generic> element-setter}(^#"digit", ^{char-classes in format-internals}, {{ i }})]
t9 := [CONGRUENT-CALLg ^{<&generic> +}({{ i }}, ^1)]
[CONTINUE #(t9)]
ELSE
END IF
[IF-MERGE #f #f]
*t13(0) := [VALUES]
BREAK
END LOOP
return *t13(0)
END
METHOD top-level-initializer () => ()
t24 := SLOT-VALUE-INITD(^{char-classes in format-internals}, size)
t31 := [PRIMOP cast-integer-as-raw(t24)]
t36 := [PRIMOP machine-word-unsigned-less-than?(^%181, t31)]
IF (t36)
REPEATED-SLOT-VALUE(^{char-classes in format-internals}, vector-element, ^%181) := ^#"digit"
ELSE
[CONGRUENT-CALLi ^{<&method> element-range-error (<collection>, <object>)}(^{char-classes in format-internals}, ^45)]
END IF
[IF-MERGE #f #f]
*t3(0) := [VALUES]
return *t3(0)
END
Module: common-dylan-internals
Author: Andy Armstrong
Synopsis: Implementations of format-to-string and format-out
Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc.
All rights reserved.
License: See License.txt in this distribution for details.
Warranty: Distributed WITHOUT WARRANTY OF ANY KIND
/// String buffers
//---*** Oh for a stretchy string...
define constant <string-buffer> = limited(<stretchy-vector>, of: <byte-character>);
//---*** Is there a more efficient way to do this?
define function print-string
(buffer :: <string-buffer>, string :: <byte-string>) => ()
for (character :: <byte-character> in string)
add!(buffer, character)
end
end function print-string;
define function buffer-contents
(buffer :: <string-buffer>) => (contents :: <byte-string>)
as(<byte-string>, buffer)
end function buffer-contents;
/// User assertions (maybe export this?)
define macro user-assert
{ user-assert(?value:expression, ?format-string:expression, ?format-arguments:*) }
=> { unless (?value)
user-assertion-error(?format-string, ?format-arguments)
end }
end macro user-assert;
define class <user-assertion-error> (<simple-error>)
end class <user-assertion-error>;
define function user-assertion-error
(format-string :: <string>, #rest format-arguments)
error(make(<user-assertion-error>,
format-string: format-string,
format-arguments: format-arguments))
end function user-assertion-error;
/// format-to-string
define function print-format
(buffer :: <string-buffer>, format-string :: <string>,
#rest format-arguments)
=> ()
let found-percent? = #f;
let argument-index :: <integer> = 0;
let no-of-arguments = size(format-arguments);
local method argument
(char :: <character>, class :: <class>) => (argument)
let current-index = argument-index;
argument-index := argument-index + 1;
user-assert(current-index < no-of-arguments,
"Too few arguments for format string %=: %=",
format-string, format-arguments);
let argument = format-arguments[current-index];
user-assert(class == <object> | instance?(argument, class),
"Format argument for directive '%%%c' not of class %s: %=",
char, object-name(class) | class, argument);
argument
end;
local method collect (string :: <string>) => ()
print-string(buffer, string)
end method collect;
local method collect-character (character :: <character>) => ()
add!(buffer, character)
end method collect-character;
for (char :: <character> in format-string)
if (found-percent?)
select (as-uppercase(char))
'D' => collect(number-to-string(argument(char, <number>)));
'B' => collect(integer-to-string(argument(char, <integer>), base: 2));
'O' => collect(integer-to-string(argument(char, <integer>), base: 8));
'X' => collect(integer-to-string(argument(char, <integer>), base: 16));
'C' => collect-character(argument(char, <character>));
'S' => print-pretty-name(buffer, argument(char, <object>));
'=' => print-unique-name(buffer, argument(char, <object>));
'%' => collect-character('%');
otherwise =>
error("Invalid format directive '%s' in \"%s\"",
char, format-string);
end;
found-percent? := #f;
else
if (char == '%')
found-percent? := #t;
else
collect-character(char)
end
end
end;
user-assert(~found-percent?,
"Incomplete format directive in \"%s\"", format-string);
end function print-format;
define function format-to-string
(format-string :: <string>, #rest format-arguments)
=> (string :: <string>)
let buffer :: <string-buffer> = make(<string-buffer>);
apply(print-format, buffer, format-string, format-arguments);
buffer-contents(buffer)
end function format-to-string;
/// Basic object printing
define function object-name
(object :: <object>) => (name :: <string>)
let maybe-name = debug-name(object);
if (maybe-name)
as(<byte-string>, maybe-name);
else
"???"
end;
end function object-name;
define method print-pretty-name
(buffer :: <string-buffer>, object :: <object>)
=> ()
let name = primitive-name(object);
case
name => print-string(buffer, name);
otherwise => print-unique-name(buffer, object);
end
end method print-pretty-name;
define function object-class-name
(object :: <object>) => (name :: false-or(<string>))
select (object by instance?)
<class> => "<class>";
otherwise => object-name(object-class(object))
end
end function object-class-name;
define function print-basic-name
(buffer :: <string-buffer>,
#key object :: <object>,
name :: false-or(<string>) = primitive-name(object),
class-name :: <string> = object-class-name(object))
=> ()
if (name)
print-format(buffer, "{%s: %s}", class-name, name)
else
print-format(buffer, "{%s}", class-name)
end
end function print-basic-name;
define method print-unique-name
(buffer :: <string-buffer>, object :: <object>) => ()
local method symbol-name (symbol :: <symbol>) => (name :: <string>)
as-lowercase(as(<string>, symbol))
end method symbol-name;
select (object by instance?)
<byte-string> => print-format(buffer, "\"%s\"", object);
<symbol> => print-format(buffer, "#\"%s\"", symbol-name(object));
<character> => print-format(buffer, "'%c'", object);
<collection> => print-collection(buffer, object);
<boolean> => print-string(buffer, if (object) "#t" else "#f" end);
<integer> => print-string(buffer, integer-to-string(object));
<float> => print-string(buffer, float-to-string(object));
<machine-word> => print-string(buffer, machine-word-to-string(object));
<method> => print-method(buffer, object);
otherwise => print-basic-name(buffer, object: object);
end
end method print-unique-name;
define function object-unique-name
(object :: <object>) => (name :: <string>)
let buffer :: <string-buffer> = make(<string-buffer>);
print-unique-name(buffer, object);
buffer-contents(buffer)
end function object-unique-name;
define function primitive-name
(object :: <object>) => (name :: false-or(<string>))
select (object by instance?)
<byte-string> => object;
<character> => make(<byte-string>, size: 1, fill: object);
<condition> => condition-to-string(object);
<locator> => as(<string>, object);
<class> => object-name(object);
<function> => object-name(object);
otherwise => #f;
end
end function primitive-name;
/// Types
define method print-unique-name
(buffer :: <string-buffer>, union :: <union>) => ()
local method print-union-type
(buffer :: <string-buffer>, type :: <type>)
=> (object :: <object>)
select (type by instance?)
<singleton> => print-unique-name(buffer, singleton-object(type));
<class> => print-pretty-name(buffer, type);
otherwise => print-unique-name(buffer, type);
end
end method print-union-type;
print-format(buffer, "{%s: ", object-class-name(union));
print-union-type(buffer, union-type1(union));
print-string(buffer, ", ");
print-union-type(buffer, union-type2(union));
print-string(buffer, "}")
end method print-unique-name;
define method print-unique-name
(buffer :: <string-buffer>, singleton :: <singleton>) => ()
print-format(buffer, "{%s: ", object-class-name(singleton));
print-unique-name(buffer, singleton-object(singleton));
print-string(buffer, "}")
end method print-unique-name;
/// Number/string conversion
define constant $number-characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
define inline function integer-to-character
(integer :: <integer>) => (character :: <byte-character>)
$number-characters[integer]
end function integer-to-character;
define inline function character-to-integer
(character :: <byte-character>) => (integer :: false-or(<integer>))
//---*** We might want to make this more efficient...
position($number-characters, character)
end function character-to-integer;
define function integer-to-string
(integer :: <integer>,
#key base :: <integer> = 10,
size: string-size :: <integer> = 0,
fill :: <byte-character> = '0')
=> (string :: <byte-string>)
user-assert(2 <= base & base <= 36,
"Base %d is not between 2 and 36",
base);
let negative-integer? = negative?(integer);
let buffer :: <string-buffer> = make(<string-buffer>, capacity: 16);
if (zero?(integer))
buffer := add!(buffer, '0');
end;
if (negative-integer?)
// Do the first digit by hand to avoid overflows when printing
// $minimum-integer, since -$minimum-integer > $maximum-integer.
let (quotient, remainder :: <integer>) = truncate/(integer, base);
buffer := add!(buffer, integer-to-character(-remainder));
integer := -quotient
end;
until (zero?(integer))
let (quotient, remainder :: <integer>) = truncate/(integer, base);
buffer := add!(buffer, integer-to-character(remainder));
integer := quotient
end;
let remaining :: <integer> = string-size - buffer.size;
if (negative-integer?)
remaining := remaining - 1;
end;
for (i from 0 below remaining)
buffer := add!(buffer, fill);
end;
if (negative-integer?)
buffer := add!(buffer, '-');
end;
let buffer-size = buffer.size;
let string = make(<byte-string>, size: buffer-size);
for (digit in buffer, index :: <integer> from buffer-size - 1 to 0 by -1)
string[index] := digit;
end for;
string
end function integer-to-string;
// Given a string, parse an integer from it. Skips left whitespace.
define function string-to-integer
(string :: <string>,
#key base :: <integer> = 10,
start :: <integer> = 0,
end: stop :: false-or(<integer>),
default = $unsupplied)
=> (n :: <integer>, next-key :: <integer>)
let actual-start :: <integer> = start;
let string-length :: <integer> = size(string);
user-assert(start == 0 | (start > 0 & start < string-length),
"start: %d is out of range [0, %d] for string %=",
start, string-length, string);
if (stop)
user-assert(stop >= start & stop <= string-length,
"end: %d is out of range [0, %d] for string %=",
stop, string-length, string);
else
stop := string-length
end;
user-assert(2 <= base & base <= 36,
"Base %d is not between 2 and 36",
base);
while (start < stop & member?(string[start], #(' ', '\n', '\r', '\f', '\t')))
start := start + 1
end;
let sign :: <integer>
= select (start < stop & string[start])
'+' => start := start + 1; 1;
'-' => start := start + 1; -1;
otherwise => 1;
end;
let value :: <integer> = 0; // Shifting digits into here
let valid? :: <boolean> = #f;
let next-key :: <integer>
= block (return)
for (i :: <integer> from start below stop)
let ch :: <byte-character> = as-uppercase(string[i]);
let digit = character-to-integer(ch);
when (~digit | digit >= base)
return(i)
end;
valid? := #t;
value := value * base + digit * sign
end;
stop
end;
if (valid?)
values(value, next-key)
else
when (unsupplied?(default))
error("Reached end of %s without finding an integer", string)
end;
values(default, actual-start)
end
end function string-to-integer;
//---*** NOTE: The following function is a kludge that's needed until
//---*** the necessary primitives are added and the Dylan library provides
//---*** an interface. Unfortunately, this kludge relies on a code generation
//---*** bug which causes all NaNs to compare equal to any other value.
//---*** When that bug is fixed, we'll need a new way to check for NaNs.
define inline-only function nan? (float :: <float>) => (nan? :: <boolean>)
float = 0.0 & float = 1.0
end function nan?;
//---*** NOTE: The following function is a kludge that's needed until
//---*** the necessary primitives are added and the Dylan library provides
//---*** an interface.
define inline-only function infinity? (float :: <float>) => (infinity? :: <boolean>)
~zero?(float) & (float / 2.0) = float
end function infinity?;
define function float-to-string
(float :: <float>,
#key decimal-points :: false-or(<integer>) = #f)
=> (string :: <string>)
if (decimal-points & zero?(decimal-points))
integer-to-string(round(float))
else
let class = object-class(float);
//---*** Until this code can be rewritten to not integer overflow,
//---*** keep the number of digits down to 7 for all types of float.
let (max-digits, marker, force-marker?)
= select (float by instance?)
<single-float> => values(7, 's', #f);
<double-float> => values(7, 'd', #t); // values(15, 'd', #t);
<extended-float> => values(7, 'x', #t); // values(34, 'x', #t);
end;
let digits = min(decimal-points | max-digits, max-digits);
case
nan?(float) =>
// The sign of a NaN is meaningless ...
if (class == <single-float>)
"{NaN}"
else
format-to-string("{NaN}%c0", marker)
end;
infinity?(float) =>
let sign :: <byte-character> = if (negative?(float)) '-' else '+' end;
if (class == <single-float>)
format-to-string("%c{infinity}", sign)
else
format-to-string("%c{infinity}%c0", sign, marker)
end;
zero?(float) =>
if (class == <single-float>)
"0.0"
else
format-to-string("0.0%c0", marker)
end;
negative?(float) =>
let positive-string = float-to-string(negative(float));
format-to-string("-%s", positive-string);
otherwise =>
let buffer :: <string-buffer> = make(<string-buffer>);
let ten = as(class, 10.0);
let dec-point :: <integer> = digits - 1;
local method sub-print (mantissa :: <integer>, count :: <integer>)
let (quotient :: <integer>, remainder :: <integer>)
= truncate/(mantissa, 10);
unless (count = digits)
// Recurse until you have all the digits pushed on stack
sub-print(quotient, count + 1)
end unless;
// Then as each recursive call unwinds, turn the digit (in
// remainder) into a character and output the character.
if (count = dec-point)
add!(buffer, '.')
end if;
add!(buffer, as(<character>, as(<integer>, '0') + remainder))
end method;
let scale :: <integer> = truncate/(log(float), log(ten));
if (scale > 0 & scale <= dec-point)
dec-point := dec-point - scale;
end;
let sub-float :: <float> = float;
// let tens :: <integer> = 1;
let tens :: <float> = ten / ten;
for (i :: <integer> from 1 to abs(digits - scale))
if (tens < 100000000)
tens := ten * tens;
else
// make sure tens dont go bignum:
sub-float
:= if (digits < scale) sub-float / tens else sub-float * tens end;
tens := ten;
end if;
end for;
if (digits < scale)
sub-print(round/(sub-float, tens), 0);
else
sub-print(round(sub-float * tens), 0);
end;
if (force-marker? | (scale ~= 0 & dec-point = digits - 1))
add!(buffer, marker);
if (dec-point = digits - 1)
for (character in integer-to-string(scale))
add!(buffer, character)
end
else
// If the scale was small enough, we moved the decimal point
// instead so don't print a bogus exponent ...
add!(buffer, '0')
end
end;
buffer-contents(buffer);
end
end
end function float-to-string;
define open generic number-to-string
(number :: <number>) => (string :: <string>);
define method number-to-string
(number :: <number>) => (string :: <string>)
object-unique-name(number)
end method number-to-string;
define method number-to-string
(float :: <float>) => (string :: <string>)
float-to-string(float)
end method number-to-string;
define method number-to-string
(integer :: <integer>) => (string :: <string>)
integer-to-string(integer, base: 10)
end method number-to-string;
/// Machine-word/string conversion
define function machine-word-to-string
(mw :: <machine-word>, #key prefix :: false-or(<string>) = "#x")
=> (string :: <string>)
let halfword-size = ash($machine-word-size, -1);
let digits-per-halfword = ash(halfword-size, -2);
let high
= coerce-machine-word-to-integer
(machine-word-unsigned-shift-right(mw, halfword-size));
let low
= coerce-machine-word-to-integer
(machine-word-unsigned-shift-right
(machine-word-unsigned-shift-left(mw, halfword-size),
halfword-size));
concatenate-as(<string>,
prefix | "",
integer-to-string(high, base: 16, size: digits-per-halfword),
integer-to-string(low, base: 16, size: digits-per-halfword))
end function machine-word-to-string;
define function string-to-machine-word
(str :: <string>,
#key start :: <integer> = 0,
default = $unsupplied,
end: stop :: false-or(<integer>))
=> (n :: <machine-word>, next-key :: <integer>)
let string-length :: <integer> = size(str);
user-assert(start >= 0 & start < string-length,
"Start: %d is out of range [0, %d] for string %s",
start, string-length, str);
if (stop)
user-assert(stop >= start & stop <= string-length,
"Stop: %d is out of range [0, %d] for string %s.",
stop, string-length, str);
else
stop := size(str)
end;
while (start < stop & member?(str[start], #(' ', '\n', '\r', '\f', '\t')))
start := start + 1
end;
// Remove common prefixes (#x, 0x) ...
if ((start < stop - 2)
&((str[start] = '#' & str[start + 1] = 'x')
| (str[start] = '0' & str[start + 1] = 'x')))
start := start + 2
end;
let value :: <machine-word> = as(<machine-word>, 0);
let next-key
= block (return)
for (i from start below stop)
let ch :: <byte-character> = as-uppercase(str[i]);
let digit = character-to-integer(ch);
when (~digit | digit >= 16)
return(i > start & i)
end;
//--- andrewa: trick the typist into knowing that this is
//--- an integer, so inlining works. Hopefully the new
//--- typist will be able to work this out for itself.
let integer-digit :: <integer> = digit;
value
:= machine-word-logior
(machine-word-unsigned-shift-left(value, 4),
coerce-integer-to-machine-word(integer-digit));
end;
stop
end;
unless (next-key)
when (unsupplied?(default))
error("Reached end of %s without finding an integer", str)
end;
value := default;
next-key := start
end;
values(value, next-key)
end function string-to-machine-word;
/// Condition/string conversion
define open generic condition-to-string
(condition :: <condition>) => (string :: <string>);
define method condition-to-string
(condition :: <condition>) => (string :: <string>)
concatenate("Condition of class ", condition.object-class-name, " occurred")
end method condition-to-string;
define method condition-to-string
(condition :: <format-string-condition>) => (string :: <string>)
apply(format-to-string,
condition-format-string(condition),
condition-format-arguments(condition))
end method condition-to-string;
define method condition-to-string
(error :: <type-error>) => (string :: <string>)
format-to-string("%= is not of type %=",
type-error-value(error),
type-error-expected-type(error))
end method condition-to-string;
define method print-pretty-name
(buffer :: <string-buffer>, condition :: <condition>)
=> ()
let message = condition-to-string(condition);
print-string(buffer, message)
end method print-pretty-name;
/// Collection printing
define constant $collection-empty-text = "size 0";
define variable *collection-print-length* = 10;
define method print-collection
(buffer :: <string-buffer>, collection :: <collection>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
print-string(buffer, "{");
print-string(buffer, object-class-name(collection));
print-string(buffer, ": ");
print-collection-contents(buffer, collection, print-length: print-length);
print-string(buffer, "}");
end method print-collection;
define method print-collection-contents
(buffer :: <string-buffer>, collection :: <collection>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
ignore(print-length);
print-format(buffer, "size %d", size(collection))
end method print-collection-contents;
define method print-collection-contents
(buffer :: <string-buffer>, array :: <array>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
let dimensions = dimensions(array);
print-elements(buffer, dimensions,
print-length: print-length, separator: " x ")
end method print-collection-contents;
define method print-collection-contents
(buffer :: <string-buffer>, range :: <range>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
ignore(print-length);
local method print-range
(buffer :: <string-buffer>, from :: <real>, to :: <real>,
by :: <real>)
=> ()
select (by)
1 => print-format(buffer, "%d to %d", from, to);
otherwise => print-format(buffer, "%d to %d by %d", from, to, by);
end
end method print-range;
let range-size = size(range);
if (range-size = 0)
print-string(buffer, $collection-empty-text)
else
let from = range[0];
let by = if (~range-size | range-size > 1) range[1] - from else 1 end;
select (range-size)
1 => print-range(buffer, from, from, by);
#f => print-format(buffer, "%d by %d", from, by);
otherwise => print-range(buffer, from, range[range-size - 1], by);
end
end
end method print-collection-contents;
define method print-collection-contents
(buffer :: <string-buffer>, sequence :: <sequence>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
if (empty?(sequence))
print-string(buffer, $collection-empty-text)
else
print-elements(buffer, sequence, print-length: print-length)
end
end method print-collection-contents;
//---*** Needed to override the array method... can we avoid this?
define method print-collection-contents
(buffer :: <string-buffer>, sequence :: <vector>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
if (empty?(sequence))
print-string(buffer, $collection-empty-text)
else
print-elements(buffer, sequence, print-length: print-length)
end
end method print-collection-contents;
define method print-collection-contents
(buffer :: <string-buffer>, pair :: <pair>,
#key print-length :: false-or(<integer>) = *collection-print-length*)
=> ()
let tail-object = tail(pair);
if (instance?(tail-object, <pair>))
next-method()
else
print-format(buffer, "%=, %=", head(pair), tail-object)
end
end method print-collection-contents;
define function print-elements
(buffer :: <string-buffer>, sequence :: <sequence>,
#key print-length = *collection-print-length*,
separator = ", ",
print-function)
=> ()
let current-separator = "";
let sequence-size = size(sequence);
let print-length = print-length | sequence-size;
for (element in sequence,
count from 0 below print-length)
print-string(buffer, current-separator);
current-separator := separator;
case
print-function =>
print-function(buffer, element);
instance?(element, <collection>) & ~instance?(element, <string>) =>
print-basic-name(buffer, object: element, name: #f);
otherwise =>
print-unique-name(buffer, element);
end
end;
if (sequence-size > print-length)
print-string(buffer, separator);
print-string(buffer, "...")
end
end function print-elements;
/// Method printing
define function print-method
(buffer :: <string-buffer>, object :: <method>) => ()
print-string(buffer, "{");
print-string(buffer, object-class-name(object));
print-string(buffer, ": ");
print-string(buffer, primitive-name(object));
let specializers = function-specializers(object);
let (_, rest, keywords) = function-arguments(object);
print-string(buffer, " (");
unless (empty?(specializers) & ~rest & empty?(keywords))
print-elements(buffer, specializers, print-function: print-specializer);
if (rest)
if (~empty?(specializers))
print-string(buffer, ", ");
end if;
print-string(buffer, "#rest");
end if;
if (keywords)
if (rest | ~empty?(specializers))
print-string(buffer, ", ");
end if;
print-elements(buffer, keywords, print-function: print-keyword);
end if;
end unless;
print-string(buffer, ") => (");
let (value-types, values-rest) = function-return-values(object);
unless (empty?(value-types))
print-elements(buffer, value-types, print-function: print-specializer);
if (values-rest)
print-string(buffer, ", ");
end if;
end unless;
if (values-rest)
print-string(buffer, "#rest ");
print-specializer(buffer, values-rest);
end if;
print-string(buffer, ")}");
end function print-method;
define method print-specializer
(buffer :: <string-buffer>, type :: <type>) => ()
print-unique-name(buffer, type)
end method print-specializer;
define method print-specializer
(buffer :: <string-buffer>, object :: <class>) => ()
print-pretty-name(buffer, object)
end method print-specializer;
define method print-specializer
(buffer :: <string-buffer>, type :: <singleton>) => ()
print-string(buffer, "singleton(");
print-unique-name(buffer, singleton-object(type));
print-string(buffer, ")")
end method print-specializer;
define method print-specializer
(buffer :: <string-buffer>, type :: <subclass>) => ()
print-string(buffer, "subclass(");
print-pretty-name(buffer, subclass-class(type));
print-string(buffer, ")")
end method print-specializer;
define function print-keyword
(buffer :: <string-buffer>, object :: <symbol>) => ()
print-format(buffer, "%s:", as-lowercase(as(<string>, object)));
end function print-keyword;
; ModuleID = './format.bc'
target datalayout = "e-p:32:32-f64:32:64-f80:128-n8:16:32"
target triple = "i386-apple-darwin"
%struct.TEB = type { i8*, i8*, i8*, i8*, i8*, i8*, [2 x i8*], i8*, [64 x i8*] }
%KLclassGVKd = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8* }
%KLmm_wrapperGVKi = type { %KLmm_wrapperGVKi*, i8*, i8*, i32, i32, i8*, [0 x i32] }
%KLmm_wrapperGVKi.1 = type { %KLmm_wrapperGVKi*, i8*, i8*, i32, i32, i8*, [1 x i32] }
%KLsimple_object_vectorGVKd = type { %KLmm_wrapperGVKi*, i8*, [0 x i8*] }
%KLbooleanGVKd = type { %KLmm_wrapperGVKi* }
%KLempty_listGVKd = type { %KLmm_wrapperGVKi*, i8*, i8* }
%KLincremental_generic_functionGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8* }
%KLfunction_classGVKi = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8* }
%KLunboundGVKe = type { %KLmm_wrapperGVKi* }
%KLsimple_methodGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLabsent_engine_nodeGVKg = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLsymbolGVKd = type { %KLmm_wrapperGVKi*, i8* }
%KLlimited_integerGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLsealed_generic_functionGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8*, i8* }
%KLobject_signatureGVKe = type { %KLmm_wrapperGVKi*, i8*, i8* }
%KLvalue_classGVKi = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8* }
%KLsimple_object_vectorGVKd.16 = type { %KLmm_wrapperGVKi*, i8*, [16 x i8*] }
%KLmoduleGVKe = type { %KLmm_wrapperGVKi*, i8*, i8* }
%KLlibraryGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8* }
%KLsimple_object_vectorGVKd.2 = type { %KLmm_wrapperGVKi*, i8*, [2 x i8*] }
%KLpairGVKd = type { %KLmm_wrapperGVKi*, i8*, i8* }
%KLsignatureGVKe = type { %KLmm_wrapperGVKi*, i8*, i8* }
%KLbyte_stringGVKd.6 = type { %KLmm_wrapperGVKi*, i8*, [6 x i8] }
%KLbyte_stringGVKd.8 = type { %KLmm_wrapperGVKi*, i8*, [8 x i8] }
%KLsimple_typechecked_cache_header_engine_nodeGVKg = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8* }
%KLbyte_stringGVKd.37 = type { %KLmm_wrapperGVKi*, i8*, [37 x i8] }
%KLbyte_stringGVKd.14 = type { %KLmm_wrapperGVKi*, i8*, [14 x i8] }
%KLbyte_stringGVKd.32 = type { %KLmm_wrapperGVKi*, i8*, [32 x i8] }
%KLsimple_object_vectorGVKd.3 = type { %KLmm_wrapperGVKi*, i8*, [3 x i8*] }
%KLsignatureAvaluesGVKi = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLmethod_domainGVKe = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLbyte_stringGVKd.13 = type { %KLmm_wrapperGVKi*, i8*, [13 x i8] }
%KLbyte_stringGVKd.36 = type { %KLmm_wrapperGVKi*, i8*, [36 x i8] }
%KLbyte_stringGVKd.5 = type { %KLmm_wrapperGVKi*, i8*, [5 x i8] }
%KLbyte_stringGVKd.16 = type { %KLmm_wrapperGVKi*, i8*, [16 x i8] }
%struct.heapfixup = type { i8*, i8** }
%struct.MV = type { i8*, i8 }
%KLsimple_object_vectorGVKd.4 = type { %KLmm_wrapperGVKi*, i8*, [4 x i8*] }
%KLobjectGVKd = type { %KLmm_wrapperGVKi* }
%KLbyte_stringGVKd = type { %KLmm_wrapperGVKi*, i8*, [0 x i8] }
%KLsimple_object_vectorGVKd.1 = type { %KLmm_wrapperGVKi*, i8*, [1 x i8*] }
%KLgeneric_functionGVKd = type { %KLmm_wrapperGVKi*, i8*, i8*, i8*, i8*, i8*, i8* }
%KLengine_nodeGVKg = type { %KLmm_wrapperGVKi*, i8*, i8*, i8* }
%KLfunctionGVKd = type { %KLmm_wrapperGVKi*, i8* }
%KLlistGVKd = type { %KLmm_wrapperGVKi*, i8*, i8* }
@Pteb = external thread_local global %struct.TEB
@Ptlv_initializations_cursor = external global i32
@Ptlv_initializations_local_cursor = external thread_local global i32
@KLsimple_object_vectorGVKd = external global %KLclassGVKd
@KLclassGVKd = external global %KLclassGVKd
@KLclassGVKdW = external global %KLmm_wrapperGVKi
@KLmm_wrapperGVKi = external global %KLclassGVKd
@KLmm_wrapperGVKiW = external global %KLmm_wrapperGVKi.1
@KLsimple_object_vectorGVKdW = external global %KLmm_wrapperGVKi
@KPempty_vectorVKi = external global %KLsimple_object_vectorGVKd
@KPfalseVKi = external global %KLbooleanGVKd
@KLbooleanGVKd = external global %KLclassGVKd
@KLbooleanGVKdW = external global %KLmm_wrapperGVKi
@KPempty_listVKi = external global %KLempty_listGVKd
@KLempty_listGVKd = external global %KLclassGVKd
@KLempty_listGVKdW = external global %KLmm_wrapperGVKi
@KLVKd = external global %KLincremental_generic_functionGVKe
@KLincremental_generic_functionGVKe = external global %KLfunction_classGVKi
@KLfunction_classGVKi = external global %KLclassGVKd
@KLfunction_classGVKiW = external global %KLmm_wrapperGVKi
@KLincremental_generic_functionGVKeW = external global %KLmm_wrapperGVKi
@Kelement_setterVKd = external global %KLincremental_generic_functionGVKe
@KAVKd = external global %KLincremental_generic_functionGVKe
@KLobjectGVKd = external global %KLclassGVKd
@KLobjectGVKdW = external global %KLmm_wrapperGVKi
@KPunboundVKi = external global %KLunboundGVKe
@KLunboundGVKe = external global %KLclassGVKd
@KLunboundGVKeW = external global %KLmm_wrapperGVKi
@KPtrueVKi = external global %KLbooleanGVKd
@KLsealed_generic_functionGVKe = external global %KLclassGVKd
@KLsealed_generic_functionGVKeW = external global %KLmm_wrapperGVKi
@KformatYformatVioMM1 = external global %KLsimple_methodGVKe
@KLsimple_methodGVKe = external global %KLfunction_classGVKi
@KLsimple_methodGVKeW = external global %KLmm_wrapperGVKi
@RSINGULAR_Labsent_engine_nodeG = external global %KLabsent_engine_nodeGVKg
@KLabsent_engine_nodeGVKg = external global %KLclassGVKd
@KLabsent_engine_nodeGVKgW = external global %KLmm_wrapperGVKi
@KLbyte_stringGVKd = external global %KLclassGVKd
@KLbyte_stringGVKdW = external global %KLmm_wrapperGVKi
@KLsignatureGVKe = external global %KLclassGVKd
@KLsignatureGVKeW = external global %KLmm_wrapperGVKi
@KLstreamGYcommon_extensionsVcommon_dylan = external global %KLclassGVKd
@KLstreamGYcommon_extensionsVcommon_dylanW = external global %KLmm_wrapperGVKi
@KLstringGVKd = external global %KLclassGVKd
@KLstringGVKdW = external global %KLmm_wrapperGVKi
@KLpairGVKd = external global %KLclassGVKd
@KLpairGVKdW = external global %KLmm_wrapperGVKi
@KJstart_ = external global %KLsymbolGVKd
@KLsymbolGVKd = external global %KLclassGVKd
@KLsymbolGVKdW = external global %KLmm_wrapperGVKi
@KJend_ = external global %KLsymbolGVKd
@KwriteYstreams_protocolVcommon_dylan = external global %KLincremental_generic_functionGVKe
@Knew_lineYstreamsVio = external global %KLincremental_generic_functionGVKe
@KLbyteGVKe = external global %KLlimited_integerGVKe
@KLlimited_integerGVKe = external global %KLclassGVKd
@KLlimited_integerGVKeW = external global %KLmm_wrapperGVKi
@Kunsupplied_objectVKi = external global %KLsealed_generic_functionGVKe
@KLintegerGVKd = external global %KLclassGVKd
@KLintegerGVKdW = external global %KLmm_wrapperGVKi
@KJdirection_ = external global %KLsymbolGVKd
@KJoutput_ = external global %KLsymbolGVKd
@KLbyte_string_streamGYstreamsVio = external global %KLclassGVKd
@KLbyte_string_streamGYstreamsVioW = external global %KLmm_wrapperGVKi
@KelementVKd = external global %KLincremental_generic_functionGVKe
@Kprint_objectYprintVio = external global %KLincremental_generic_functionGVKe
@KapplyVKd = external global %KLsimple_methodGVKe
@Kwrite_elementYstreams_protocolVcommon_dylan = external global %KLincremental_generic_functionGVKe
@KLsimple_typechecked_cache_header_engine_nodeGVKg = external global %KLclassGVKd
@KLsimple_typechecked_cache_header_engine_nodeGVKgW = external global %KLmm_wrapperGVKi
@KDsignature_LobjectG_object_rest_value_3VKi = external global %KLobject_signatureGVKe
@KLobject_signatureGVKe = external global %KLclassGVKd
@KLobject_signatureGVKeW = external global %KLmm_wrapperGVKi
@KprintYprintVio = external global %KLsealed_generic_functionGVKe
@KLfloatGVKd = external global %KLclassGVKd
@KLfloatGVKdW = external global %KLmm_wrapperGVKi
@KLlistGVKd = external global %KLclassGVKd
@KLlistGVKdW = external global %KLmm_wrapperGVKi
@KLdouble_integerGVKe = external global %KLvalue_classGVKi
@KLvalue_classGVKi = external global %KLclassGVKd
@KLvalue_classGVKiW = external global %KLmm_wrapperGVKi
@KLdouble_integerGVKeW = external global %KLmm_wrapperGVKi.1
@KLsignatureAvaluesGVKi = external global %KLclassGVKd
@KLsignatureAvaluesGVKiW = external global %KLmm_wrapperGVKi
@KDsignature_LbooleanG_typesVKi = external global %KLsimple_object_vectorGVKd.16
@KLbyte_characterGVKe = external global %KLclassGVKd
@KLbyte_characterGVKeW = external global %KLmm_wrapperGVKi
@Kformat_moduleYdylan_userVio = external global %KLmoduleGVKe
@KLmoduleGVKe = external global %KLclassGVKd
@KLmoduleGVKeW = external global %KLmm_wrapperGVKi
@KLmethod_domainGVKe = external global %KLclassGVKd
@KLmethod_domainGVKeW = external global %KLmm_wrapperGVKi
@Kio_libraryYdylan_userVio = external global %KLlibraryGVKe
@KLlibraryGVKe = external global %KLclassGVKd
@KLlibraryGVKeW = external global %KLmm_wrapperGVKi
@KLcharacterGVKd = external global %KLclassGVKd
@KLcharacterGVKdW = external global %KLmm_wrapperGVKi
@Kwrite_textYstreamsVio = external global %KLincremental_generic_functionGVKe
@KLconditionGVKd = external global %KLclassGVKd
@KLconditionGVKdW = external global %KLmm_wrapperGVKi
@KDsignature_LstringG_typesVKi = external global %KLsimple_object_vectorGVKd.2
@KDsignature_Lbyte_stringG_typesVKi = external global %KLsimple_object_vectorGVKd.16
@Tprint_escapeQTYprintVio = external thread_local global i8*
@IKJdigit_ = internal global i8* bitcast (%KLsymbolGVKd* @KJdigit_ to i8*), align 4
@IKJcontents_ = internal global i8* bitcast (%KLsymbolGVKd* @KJcontents_ to i8*), align 4
@KJdigit_ = internal global %KLsymbolGVKd { %KLmm_wrapperGVKi* @KLsymbolGVKdW, i8* bitcast (%KLbyte_stringGVKd.5* @K79 to i8*) }
@Kprint_messageYformatVio = global %KLincremental_generic_functionGVKe { %KLmm_wrapperGVKi* @KLincremental_generic_functionGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @gf_xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K67 to i8*), i8* inttoptr (i32 1 to i8*), i8* bitcast (%KLbyte_stringGVKd.13* @K68 to i8*), i8* bitcast (%KLpairGVKd* @K62 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*), i8* bitcast (%KLmoduleGVKe* @Kformat_moduleYdylan_userVio to i8*), i8* bitcast (%KLmethod_domainGVKe* @Kprint_messageYformatVioRD_ioRD_2 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* inttoptr (i32 25 to i8*) }
@Kdo_dispatchYformat_internalsVioMM0 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, i8*)* @xep_3 to i8*), i8* bitcast (%KLsignatureAvaluesGVKi* @K47 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kdo_dispatchYformat_internalsVioMM0I to i8*) }
@KformatYformatVio = global %KLsealed_generic_functionGVKe { %KLmm_wrapperGVKi* @KLsealed_generic_functionGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, ...)* @gf_optional_xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K14 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%KLbyte_stringGVKd.6* @K15 to i8*), i8* bitcast (%KLpairGVKd* @K12 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*) }
@KformatYformatVioMM0 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, ...)* @rest_xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K19 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @KformatYformatVioMM0I to i8*) }
@K12 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @KformatYformatVioMM0 to i8*), i8* bitcast (%KLpairGVKd* @K13 to i8*) }
@K13 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @KformatYformatVioMM1 to i8*), i8* bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*) }
@K14 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 42991625 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K16 to i8*) }
@K15 = internal global %KLbyte_stringGVKd.6 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 25 to i8*), [6 x i8] c"format" }
@K16 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*), i8* bitcast (%KLclassGVKd* @KLstringGVKd to i8*)] }
@KJcontents_ = internal global %KLsymbolGVKd { %KLmm_wrapperGVKi* @KLsymbolGVKdW, i8* bitcast (%KLbyte_stringGVKd.8* @K18 to i8*) }
@K18 = internal global %KLbyte_stringGVKd.8 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 33 to i8*), [8 x i8] c"contents" }
@K19 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 42991625 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K20 to i8*) }
@K20 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*), i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*)] }
@K21 = internal global %KLsimple_typechecked_cache_header_engine_nodeGVKg { %KLmm_wrapperGVKi* @KLsimple_typechecked_cache_header_engine_nodeGVKgW, i8* inttoptr (i32 393273 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @cache_header_3 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*) }
@Kformat_integerYformat_internalsVio = global %KLsealed_generic_functionGVKe { %KLmm_wrapperGVKi* @KLsealed_generic_functionGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, i8*)* @gf_xep_3 to i8*), i8* bitcast (%KLobject_signatureGVKe* @KDsignature_LobjectG_object_rest_value_3VKi to i8*), i8* inttoptr (i32 25 to i8*), i8* bitcast (%KLbyte_stringGVKd.14* @K36 to i8*), i8* bitcast (%KLpairGVKd* @K33 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*) }
@K23 = internal global %KLsimple_typechecked_cache_header_engine_nodeGVKg { %KLmm_wrapperGVKi* @KLsimple_typechecked_cache_header_engine_nodeGVKgW, i8* inttoptr (i32 393273 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @cache_header_3 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*) }
@K24 = internal global %KLsimple_typechecked_cache_header_engine_nodeGVKg { %KLmm_wrapperGVKi* @KLsimple_typechecked_cache_header_engine_nodeGVKgW, i8* inttoptr (i32 393273 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @cache_header_3 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*) }
@K25 = internal global %KLsimple_typechecked_cache_header_engine_nodeGVKg { %KLmm_wrapperGVKi* @KLsimple_typechecked_cache_header_engine_nodeGVKgW, i8* inttoptr (i32 393273 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @cache_header_3 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*) }
@K26 = internal global %KLbyte_stringGVKd.37 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 149 to i8*), [37 x i8] c"Unknown format dispatch character, %c" }
@Kformat_integerYformat_internalsVioMM0 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, i8*)* @xep_3 to i8*), i8* bitcast (%KLsignatureGVKe* @K45 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM0I to i8*) }
@Kformat_integerYformat_internalsVioMM1 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, i8*)* @xep_3 to i8*), i8* bitcast (%KLsignatureGVKe* @K43 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM1I to i8*) }
@Kformat_integerYformat_internalsVioMM2 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*, i8*)* @xep_3 to i8*), i8* bitcast (%KLsignatureGVKe* @K38 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM2I to i8*) }
@K33 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kformat_integerYformat_internalsVioMM0 to i8*), i8* bitcast (%KLpairGVKd* @K34 to i8*) }
@K34 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kformat_integerYformat_internalsVioMM1 to i8*), i8* bitcast (%KLpairGVKd* @K35 to i8*) }
@K35 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kformat_integerYformat_internalsVioMM2 to i8*), i8* bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*) }
@K36 = internal global %KLbyte_stringGVKd.14 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 57 to i8*), [14 x i8] c"format-integer" }
@K37 = internal global %KLbyte_stringGVKd.32 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 129 to i8*), [32 x i8] c"Can only print floats in base 10" }
@K38 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943053 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.3* @K39 to i8*) }
@K39 = internal global %KLsimple_object_vectorGVKd.3 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 13 to i8*), [3 x i8*] [i8* bitcast (%KLclassGVKd* @KLfloatGVKd to i8*), i8* bitcast (%KLlimited_integerGVKe* @K40 to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K40 = internal global %KLlimited_integerGVKe { %KLmm_wrapperGVKi* @KLlimited_integerGVKeW, i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kuninitialized_instanceQ_functionVKiI to i8*), i8* inttoptr (i32 9 to i8*), i8* inttoptr (i32 145 to i8*) }
@K43 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943053 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.3* @K44 to i8*) }
@K44 = internal global %KLsimple_object_vectorGVKd.3 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 13 to i8*), [3 x i8*] [i8* bitcast (%KLclassGVKd* @KLintegerGVKd to i8*), i8* bitcast (%KLlimited_integerGVKe* @K40 to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K45 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943053 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.3* @K46 to i8*) }
@K46 = internal global %KLsimple_object_vectorGVKd.3 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 13 to i8*), [3 x i8*] [i8* bitcast (%KLvalue_classGVKi* @KLdouble_integerGVKe to i8*), i8* bitcast (%KLlimited_integerGVKe* @K40 to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K47 = internal global %KLsignatureAvaluesGVKi { %KLmm_wrapperGVKi* @KLsignatureAvaluesGVKiW, i8* inttoptr (i32 33555469 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.3* @K48 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.16* @KDsignature_LbooleanG_typesVKi to i8*) }
@K48 = internal global %KLsimple_object_vectorGVKd.3 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 13 to i8*), [3 x i8*] [i8* bitcast (%KLclassGVKd* @KLbyte_characterGVKe to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*), i8* bitcast (%KLclassGVKd* @KLobjectGVKd to i8*)] }
@Kprint_messageYformatVioMM0 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K67 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM0I to i8*) }
@Kprint_messageYformatVioMM1 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K76 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM1I to i8*) }
@Kprint_messageYformatVioMM2 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K74 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM2I to i8*) }
@Kprint_messageYformatVioMM3 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K72 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM3I to i8*) }
@Kprint_messageYformatVioMM4 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, i8*)* @xep_2 to i8*), i8* bitcast (%KLsignatureGVKe* @K70 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM4I to i8*) }
@Kprint_messageYformatVioRD_ioRD_0 = global %KLmethod_domainGVKe { %KLmm_wrapperGVKi* @KLmethod_domainGVKeW, i8* bitcast (%KLlibraryGVKe* @Kio_libraryYdylan_userVio to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM4 to i8*) }
@Kprint_messageYformatVioRD_ioRD_1 = global %KLmethod_domainGVKe { %KLmm_wrapperGVKi* @KLmethod_domainGVKeW, i8* bitcast (%KLlibraryGVKe* @Kio_libraryYdylan_userVio to i8*), i8* bitcast (%KLmethod_domainGVKe* @Kprint_messageYformatVioRD_ioRD_0 to i8*), i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM3 to i8*) }
@Kprint_messageYformatVioRD_ioRD_2 = global %KLmethod_domainGVKe { %KLmm_wrapperGVKi* @KLmethod_domainGVKeW, i8* bitcast (%KLlibraryGVKe* @Kio_libraryYdylan_userVio to i8*), i8* bitcast (%KLmethod_domainGVKe* @Kprint_messageYformatVioRD_ioRD_1 to i8*), i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM2 to i8*) }
@K62 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM0 to i8*), i8* bitcast (%KLpairGVKd* @K63 to i8*) }
@K63 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM1 to i8*), i8* bitcast (%KLpairGVKd* @K64 to i8*) }
@K64 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM2 to i8*), i8* bitcast (%KLpairGVKd* @K65 to i8*) }
@K65 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM3 to i8*), i8* bitcast (%KLpairGVKd* @K66 to i8*) }
@K66 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kprint_messageYformatVioMM4 to i8*), i8* bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*) }
@K67 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943049 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K69 to i8*) }
@K68 = internal global %KLbyte_stringGVKd.13 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 53 to i8*), [13 x i8] c"print-message" }
@K69 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLobjectGVKd to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K70 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943049 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K71 to i8*) }
@K71 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLsymbolGVKd to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K72 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943049 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K73 to i8*) }
@K73 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLcharacterGVKd to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K74 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943049 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K75 to i8*) }
@K75 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLstringGVKd to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K76 = internal global %KLsignatureGVKe { %KLmm_wrapperGVKi* @KLsignatureGVKeW, i8* inttoptr (i32 41943049 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @K77 to i8*) }
@K77 = internal global %KLsimple_object_vectorGVKd.2 { %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, i8* inttoptr (i32 9 to i8*), [2 x i8*] [i8* bitcast (%KLclassGVKd* @KLconditionGVKd to i8*), i8* bitcast (%KLclassGVKd* @KLstreamGYcommon_extensionsVcommon_dylan to i8*)] }
@K78 = internal global %KLbyte_stringGVKd.36 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 145 to i8*), [36 x i8] c"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" }
@K79 = internal global %KLbyte_stringGVKd.5 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 21 to i8*), [5 x i8] c"digit" }
@Kformat_to_stringYformatVio = global %KLsealed_generic_functionGVKe { %KLmm_wrapperGVKi* @KLsealed_generic_functionGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, ...)* @gf_optional_xep_1 to i8*), i8* bitcast (%KLsignatureAvaluesGVKi* @K83 to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* bitcast (%KLbyte_stringGVKd.16* @K84 to i8*), i8* bitcast (%KLpairGVKd* @K82 to i8*), i8* bitcast (%KLabsent_engine_nodeGVKg* @RSINGULAR_Labsent_engine_nodeG to i8*) }
@Kformat_to_stringYformatVioMM0 = global %KLsimple_methodGVKe { %KLmm_wrapperGVKi* @KLsimple_methodGVKeW, i8* bitcast (%struct.MV (i8*, i32, i8*, ...)* @rest_xep_1 to i8*), i8* bitcast (%KLsignatureAvaluesGVKi* @K85 to i8*), i8* bitcast (%struct.MV (i8*, i8*, i8*, i8*)* @Kformat_to_stringYformatVioMM0I to i8*) }
@K82 = internal global %KLpairGVKd { %KLmm_wrapperGVKi* @KLpairGVKdW, i8* bitcast (%KLsimple_methodGVKe* @Kformat_to_stringYformatVioMM0 to i8*), i8* bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*) }
@K83 = internal global %KLsignatureAvaluesGVKi { %KLmm_wrapperGVKi* @KLsignatureAvaluesGVKiW, i8* inttoptr (i32 34604037 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @KDsignature_LstringG_typesVKi to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.2* @KDsignature_LstringG_typesVKi to i8*) }
@K84 = internal global %KLbyte_stringGVKd.16 { %KLmm_wrapperGVKi* @KLbyte_stringGVKdW, i8* inttoptr (i32 65 to i8*), [16 x i8] c"format-to-string" }
@K85 = internal global %KLsignatureAvaluesGVKi { %KLmm_wrapperGVKi* @KLsignatureAvaluesGVKiW, i8* inttoptr (i32 34604037 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.16* @KDsignature_Lbyte_stringG_typesVKi to i8*), i8* bitcast (%KLsimple_object_vectorGVKd.16* @KDsignature_Lbyte_stringG_typesVKi to i8*) }
@do_dispatchYformat_internalsVio = global i8* bitcast (%KLsimple_methodGVKe* @Kdo_dispatchYformat_internalsVioMM0 to i8*), align 4
@format_to_stringYformatVio = global i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_to_stringYformatVio to i8*), align 4
@print_messageYformatVio = global i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_messageYformatVio to i8*), align 4
@char_classesYformat_internalsVio = global i8* bitcast (%KLunboundGVKe* @KPunboundVKi to i8*), align 4
@formatYformatVio = global i8* bitcast (%KLsealed_generic_functionGVKe* @KformatYformatVio to i8*), align 4
@DdigitsYformat_internalsVio = global i8* bitcast (%KLbyte_stringGVKd.36* @K78 to i8*), align 4
@_Init_io__X_format_fixups = internal constant [2 x %struct.heapfixup] [%struct.heapfixup { i8* bitcast (%KLsymbolGVKd* @KJdigit_ to i8*), i8** @IKJdigit_ }, %struct.heapfixup { i8* bitcast (%KLsymbolGVKd* @KJcontents_ to i8*), i8** @IKJcontents_ }]
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @_Init_io__X_format_for_system, i8* null }]
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata) #0
; Function Attrs: nounwind
declare {}* @llvm.invariant.start(i64, i8* nocapture) #1
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata) #0
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32) #0
; Function Attrs: nounwind
declare void @llvm.x86.int(i8) #1
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #0
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32) #0
; Function Attrs: nounwind readnone
declare i1 @llvm.expect.i1(i1, i1) #0
declare void @primitive_initialize_thread_variables()
declare i32 @__opendylan_personality_v0(...)
declare i8* @primitive_alloc_s2(i32, i8*, i8*, i8*)
declare fastcc %struct.MV @KmakeVKdMM13I(i8*, i8*, i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @Kelement_range_errorVKeI(i8*, i8*, i8*, i8*)
declare %struct.MV @rest_xep_2(i8*, i32, i8*, i8*, ...)
declare %struct.MV @rest_xep_1(i8*, i32, i8*, ...)
declare %struct.MV @gf_optional_xep_2(i8*, i32, i8*, i8*, ...)
declare fastcc %struct.MV @KelementVKdMM3I(i8*, i8*, i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @KmakeVKdMM33I(i8*, i8*, i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @KLbyte_string_streamGZ32ZconstructorYstreams_internalsVioMM0I(i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @Kstream_contentsYstreams_protocolVcommon_dylanMioM0I(i8*, i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @KlistVKdI(i8*, i8*, i8*)
declare fastcc %struct.MV @KerrorVKdMM1I(i8*, i8*, i8*, i8*)
declare %struct.MV @gf_xep_3(i8*, i32, i8*, i8*, i8*)
declare fastcc %struct.MV @Kassertion_failureVKiI(i8*, i8*, i8*, i8*)
declare %struct.MV @xep_3(i8*, i32, i8*, i8*, i8*)
declare fastcc %struct.MV @Kuninitialized_instanceQ_functionVKiI(i8*, i8*, i8*, i8*)
declare %struct.MV @gf_xep_2(i8*, i32, i8*, i8*)
declare %struct.MV @xep_2(i8*, i32, i8*, i8*)
declare %struct.MV @gf_optional_xep_1(i8*, i32, i8*, ...)
define fastcc %struct.MV @Kformat_to_stringYformatVioMM0I(i8* %control_stringF1, i8* %argsF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %control_stringF1}, i64 0, metadata !41) #0, !dbg !42
call void @llvm.dbg.value(metadata !{i8* %argsF2}, i64 0, metadata !43) #0, !dbg !42
%0 = alloca %KLsimple_object_vectorGVKd.4, align 4, !dbg !42
%1 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 0, !dbg !42
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %1, align 1, !dbg !42
%2 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 1, !dbg !42
store i8* inttoptr (i32 17 to i8*), i8** %2, align 1, !dbg !42
%3 = call fastcc %struct.MV @KmakeVKdMM33I(i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* inttoptr (i32 130 to i8*), i8* inttoptr (i32 129 to i8*), i8* undef, i8* undef), !dbg !44
%4 = extractvalue %struct.MV %3, 0, !dbg !44
%5 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 0, !dbg !45
%6 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJcontents_ to i8*)) #1, !dbg !45
%7 = load i8** @IKJcontents_, align 4, !dbg !45
store i8* %7, i8** %5, align 4, !dbg !45
%8 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 1, !dbg !45
store i8* %4, i8** %8, align 4, !dbg !45
%9 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 2, !dbg !45
store i8* bitcast (%KLsymbolGVKd* @KJdirection_ to i8*), i8** %9, align 4, !dbg !45
%10 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 3, !dbg !45
store i8* bitcast (%KLsymbolGVKd* @KJoutput_ to i8*), i8** %10, align 4, !dbg !45
%11 = bitcast %KLsimple_object_vectorGVKd.4* %0 to i8*, !dbg !45
%12 = call fastcc %struct.MV @KLbyte_string_streamGZ32ZconstructorYstreams_internalsVioMM0I(i8* bitcast (%KLclassGVKd* @KLbyte_string_streamGYstreamsVio to i8*), i8* %11, i8* bitcast (%KLunboundGVKe* @KPunboundVKi to i8*), i8* bitcast (%KLclassGVKd* @KLobjectGVKd to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* %4, i8* undef, i8* undef), !dbg !45
%13 = extractvalue %struct.MV %12, 0, !dbg !45
%14 = call fastcc %struct.MV @KformatYformatVioMM0I(i8* %13, i8* %control_stringF1, i8* %argsF2, i8* undef, i8* undef), !dbg !46
%15 = call fastcc %struct.MV @Kstream_contentsYstreams_protocolVcommon_dylanMioM0I(i8* %13, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* undef, i8* undef), !dbg !47
%16 = extractvalue %struct.MV %15, 0, !dbg !42
%17 = ptrtoint i8* %16 to i32, !dbg !42
%18 = and i32 %17, 3, !dbg !42
%19 = icmp eq i32 %18, 0, !dbg !42
br i1 %19, label %20, label %25, !dbg !42
; <label>:20 ; preds = %bb.entry
%21 = bitcast i8* %16 to %KLobjectGVKd*, !dbg !42
%22 = getelementptr inbounds %KLobjectGVKd* %21, i32 0, i32 0, !dbg !42
%23 = load %KLmm_wrapperGVKi** %22, align 4, !dbg !42
%24 = icmp eq %KLmm_wrapperGVKi* %23, @KLbyte_stringGVKdW, !dbg !42
br label %25, !dbg !42
; <label>:25 ; preds = %20, %bb.entry
%26 = phi i1 [ false, %bb.entry ], [ %24, %20 ], !dbg !42
br i1 %26, label %29, label %27, !dbg !42
; <label>:27 ; preds = %25
%28 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %16, i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* undef, i8* undef), !dbg !42
unreachable, !dbg !42
; <label>:29 ; preds = %25
ret %struct.MV %15, !dbg !42
}
define fastcc %struct.MV @Kparse_integerYformat_internalsVioMM0I(i8* %inputF1, i8* %indexF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %inputF1}, i64 0, metadata !48) #0, !dbg !49
call void @llvm.dbg.value(metadata !{i8* %indexF2}, i64 0, metadata !50) #0, !dbg !49
%indexF51 = alloca i8*, align 1, !dbg !49
store i8* %indexF2, i8** %indexF51, align 1, !dbg !49
%resultF56 = alloca i8*, align 1, !dbg !51
call void @llvm.dbg.declare(metadata !{i8** %resultF56}, metadata !53) #0, !dbg !51
store i8* inttoptr (i32 1 to i8*), i8** %resultF56, align 1, !dbg !51
%0 = load i8** %indexF51, align 1, !dbg !54
%1 = bitcast i8* %inputF1 to %KLbyte_stringGVKd*, !dbg !54
%2 = getelementptr inbounds %KLbyte_stringGVKd* %1, i32 0, i32 1, !dbg !54
%3 = load i8** %2, align 4, !dbg !54
%4 = ptrtoint i8* %0 to i32, !dbg !54
%5 = ptrtoint i8* %3 to i32, !dbg !54
%6 = icmp ult i32 %4, %5, !dbg !54
%7 = select i1 %6, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !54
%8 = icmp ne i8* %7, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !54
br i1 %8, label %9, label %15, !dbg !54
; <label>:9 ; preds = %bb.entry
%10 = bitcast i8* %inputF1 to %KLbyte_stringGVKd*, !dbg !54
%11 = ashr i32 %4, 2, !dbg !54
%12 = getelementptr inbounds %KLbyte_stringGVKd* %10, i32 0, i32 2, i32 %11, !dbg !54
%13 = load i8* %12, align 1, !dbg !54
%14 = zext i8 %13 to i32, !dbg !54
br label %20, !dbg !54
; <label>:15 ; preds = %bb.entry
%16 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %inputF1, i8* %0, i8* undef, i8* undef), !dbg !54
%17 = extractvalue %struct.MV %16, 0, !dbg !54
%18 = ptrtoint i8* %17 to i32, !dbg !54
%19 = lshr i32 %18, 2, !dbg !54
br label %20, !dbg !54
; <label>:20 ; preds = %15, %9
%21 = phi i32 [ %14, %9 ], [ %19, %15 ], !dbg !54
%22 = shl i32 1, 2, !dbg !54
%23 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %21, i32 %22) #0, !dbg !54
%24 = extractvalue { i32, i1 } %23, 0, !dbg !54
%25 = extractvalue { i32, i1 } %23, 1, !dbg !54
br i1 %25, label %26, label %27, !dbg !54
; <label>:26 ; preds = %20
call void @llvm.x86.int(i8 4) #1, !dbg !54
unreachable, !dbg !54
; <label>:27 ; preds = %20
%28 = or i32 %24, 1, !dbg !54
%29 = icmp eq i32 %28, 181, !dbg !54
%30 = select i1 %29, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !54
%31 = icmp ne i8* %30, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !54
br i1 %31, label %32, label %41, !dbg !54
; <label>:32 ; preds = %27
%33 = load i8** %indexF51, align 1, !dbg !55
%34 = ptrtoint i8* %33 to i32, !dbg !55
%35 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %34, i32 4) #0, !dbg !55
%36 = extractvalue { i32, i1 } %35, 0, !dbg !55
%37 = extractvalue { i32, i1 } %35, 1, !dbg !55
br i1 %37, label %38, label %39, !dbg !55
; <label>:38 ; preds = %32
call void @llvm.x86.int(i8 4) #1, !dbg !55
unreachable, !dbg !55
; <label>:39 ; preds = %32
%40 = inttoptr i32 %36 to i8*, !dbg !55
store i8* %40, i8** %indexF51, align 1, !dbg !55
br label %42, !dbg !55
; <label>:41 ; preds = %27
br label %42, !dbg !55
; <label>:42 ; preds = %41, %39
%negativeQF11 = phi i8* [ %40, %39 ], [ bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), %41 ], !dbg !55
call void @llvm.dbg.value(metadata !{i8* %negativeQF11}, i64 0, metadata !56) #0, !dbg !55
%43 = load i8** %indexF51, align 1, !dbg !58
%44 = ptrtoint i8* %43 to i32, !dbg !59
br label %45, !dbg !58
; <label>:45 ; preds = %179, %42
%iF14 = phi i32 [ %44, %42 ], [ %164, %179 ], !dbg !58
%lenF16 = phi i32 [ %5, %42 ], [ %lenF16, %179 ], !dbg !58
%ascii_zeroF18 = phi i32 [ 193, %42 ], [ %180, %179 ], !dbg !58
call void @llvm.dbg.value(metadata !{i32 %iF14}, i64 0, metadata !60) #0, !dbg !58
call void @llvm.dbg.value(metadata !{i32 %lenF16}, i64 0, metadata !63) #0, !dbg !58
call void @llvm.dbg.value(metadata !{i32 %ascii_zeroF18}, i64 0, metadata !65) #0, !dbg !58
%46 = inttoptr i32 %iF14 to i8*, !dbg !67
%47 = inttoptr i32 %ascii_zeroF18 to i8*, !dbg !68
%48 = icmp eq i32 %iF14, %lenF16, !dbg !69
%49 = select i1 %48, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !69
%50 = icmp ne i8* %49, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !69
br i1 %50, label %51, label %52, !dbg !69
; <label>:51 ; preds = %45
br label %99, !dbg !69
; <label>:52 ; preds = %45
%53 = icmp ult i32 %iF14, %5, !dbg !70
%54 = select i1 %53, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !70
%55 = icmp ne i8* %54, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !70
br i1 %55, label %56, label %62, !dbg !70
; <label>:56 ; preds = %52
%57 = bitcast i8* %inputF1 to %KLbyte_stringGVKd*, !dbg !70
%58 = ashr i32 %iF14, 2, !dbg !70
%59 = getelementptr inbounds %KLbyte_stringGVKd* %57, i32 0, i32 2, i32 %58, !dbg !70
%60 = load i8* %59, align 1, !dbg !70
%61 = zext i8 %60 to i32, !dbg !70
br label %67, !dbg !70
; <label>:62 ; preds = %52
%63 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %inputF1, i8* %46, i8* undef, i8* undef), !dbg !70
%64 = extractvalue %struct.MV %63, 0, !dbg !70
%65 = ptrtoint i8* %64 to i32, !dbg !70
%66 = lshr i32 %65, 2, !dbg !70
br label %67, !dbg !70
; <label>:67 ; preds = %62, %56
%68 = phi i32 [ %61, %56 ], [ %66, %62 ], !dbg !70
%69 = shl i32 1, 2, !dbg !70
%70 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %68, i32 %69) #0, !dbg !70
%71 = extractvalue { i32, i1 } %70, 0, !dbg !70
%72 = extractvalue { i32, i1 } %70, 1, !dbg !70
br i1 %72, label %73, label %74, !dbg !70
; <label>:73 ; preds = %67
call void @llvm.x86.int(i8 4) #1, !dbg !70
unreachable, !dbg !70
; <label>:74 ; preds = %67
%75 = or i32 %71, 1, !dbg !70
%76 = inttoptr i32 %75 to i8*, !dbg !70
%77 = ptrtoint i8* %76 to i32, !dbg !70
%78 = and i32 %77, 3, !dbg !70
%79 = icmp eq i32 %78, 1, !dbg !70
br i1 %79, label %80, label %84, !dbg !70
; <label>:80 ; preds = %74
%81 = icmp sge i32 %77, 1, !dbg !70
br i1 %81, label %82, label %84, !dbg !70
; <label>:82 ; preds = %80
%83 = icmp sle i32 %77, 1021, !dbg !70
br label %84, !dbg !70
; <label>:84 ; preds = %82, %80, %74
%85 = phi i1 [ false, %74 ], [ false, %80 ], [ %83, %82 ], !dbg !70
br i1 %85, label %88, label %86, !dbg !70
; <label>:86 ; preds = %84
%87 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %76, i8* bitcast (%KLlimited_integerGVKe* @KLbyteGVKe to i8*), i8* undef, i8* undef), !dbg !70
unreachable, !dbg !70
; <label>:88 ; preds = %84
%89 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !70
%90 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !70
%91 = call fastcc %struct.MV @KelementVKdMM3I(i8* %90, i8* %76, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kunsupplied_objectVKi to i8*), i8* undef, i8* undef), !dbg !70
%92 = extractvalue %struct.MV %91, 0, !dbg !70
%93 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJdigit_ to i8*)) #1, !dbg !70
%94 = load i8** @IKJdigit_, align 4, !dbg !70
%95 = icmp eq i8* %92, %94, !dbg !70
%96 = select i1 %95, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !70
%97 = icmp eq i8* %96, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !70
%98 = select i1 %97, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !70
br label %99, !dbg !70
; <label>:99 ; preds = %88, %51
%100 = phi i8* [ %49, %51 ], [ %98, %88 ], !dbg !70
%101 = icmp ne i8* %100, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !71
br i1 %101, label %102, label %103, !dbg !71
; <label>:102 ; preds = %99
br label %181, !dbg !71
; <label>:103 ; preds = %99
%104 = load i8** %resultF56, align 1, !dbg !68
%105 = ptrtoint i8* %104 to i32, !dbg !68
%106 = xor i32 %105, 1, !dbg !68
%107 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %106, i32 10) #0, !dbg !68
%108 = extractvalue { i32, i1 } %107, 0, !dbg !68
%109 = extractvalue { i32, i1 } %107, 1, !dbg !68
br i1 %109, label %110, label %111, !dbg !68
; <label>:110 ; preds = %103
call void @llvm.x86.int(i8 4) #1, !dbg !68
unreachable, !dbg !68
; <label>:111 ; preds = %103
%112 = or i32 %108, 1, !dbg !68
%113 = icmp ult i32 %iF14, %5, !dbg !68
%114 = select i1 %113, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !68
%115 = icmp ne i8* %114, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !68
br i1 %115, label %116, label %122, !dbg !68
; <label>:116 ; preds = %111
%117 = bitcast i8* %inputF1 to %KLbyte_stringGVKd*, !dbg !68
%118 = ashr i32 %iF14, 2, !dbg !68
%119 = getelementptr inbounds %KLbyte_stringGVKd* %117, i32 0, i32 2, i32 %118, !dbg !68
%120 = load i8* %119, align 1, !dbg !68
%121 = zext i8 %120 to i32, !dbg !68
br label %127, !dbg !68
; <label>:122 ; preds = %111
%123 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %inputF1, i8* %46, i8* undef, i8* undef), !dbg !68
%124 = extractvalue %struct.MV %123, 0, !dbg !68
%125 = ptrtoint i8* %124 to i32, !dbg !68
%126 = lshr i32 %125, 2, !dbg !68
br label %127, !dbg !68
; <label>:127 ; preds = %122, %116
%128 = phi i32 [ %121, %116 ], [ %126, %122 ], !dbg !68
%129 = shl i32 1, 2, !dbg !68
%130 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %128, i32 %129) #0, !dbg !68
%131 = extractvalue { i32, i1 } %130, 0, !dbg !68
%132 = extractvalue { i32, i1 } %130, 1, !dbg !68
br i1 %132, label %133, label %134, !dbg !68
; <label>:133 ; preds = %127
call void @llvm.x86.int(i8 4) #1, !dbg !68
unreachable, !dbg !68
; <label>:134 ; preds = %127
%135 = or i32 %131, 1, !dbg !68
%136 = inttoptr i32 %135 to i8*, !dbg !68
%137 = ptrtoint i8* %136 to i32, !dbg !68
%138 = and i32 %137, 3, !dbg !68
%139 = icmp eq i32 %138, 1, !dbg !68
br i1 %139, label %140, label %144, !dbg !68
; <label>:140 ; preds = %134
%141 = icmp sge i32 %137, 1, !dbg !68
br i1 %141, label %142, label %144, !dbg !68
; <label>:142 ; preds = %140
%143 = icmp sle i32 %137, 1021, !dbg !68
br label %144, !dbg !68
; <label>:144 ; preds = %142, %140, %134
%145 = phi i1 [ false, %134 ], [ false, %140 ], [ %143, %142 ], !dbg !68
br i1 %145, label %148, label %146, !dbg !68
; <label>:146 ; preds = %144
%147 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %136, i8* bitcast (%KLlimited_integerGVKe* @KLbyteGVKe to i8*), i8* undef, i8* undef), !dbg !68
unreachable, !dbg !68
; <label>:148 ; preds = %144
%149 = ptrtoint i8* %136 to i32, !dbg !68
%150 = xor i32 %ascii_zeroF18, 1, !dbg !68
%151 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %149, i32 %150) #0, !dbg !68
%152 = extractvalue { i32, i1 } %151, 0, !dbg !68
%153 = extractvalue { i32, i1 } %151, 1, !dbg !68
br i1 %153, label %154, label %155, !dbg !68
; <label>:154 ; preds = %148
call void @llvm.x86.int(i8 4) #1, !dbg !68
unreachable, !dbg !68
; <label>:155 ; preds = %148
%156 = xor i32 %152, 1, !dbg !68
%157 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %112, i32 %156) #0, !dbg !68
%158 = extractvalue { i32, i1 } %157, 0, !dbg !68
%159 = extractvalue { i32, i1 } %157, 1, !dbg !68
br i1 %159, label %160, label %161, !dbg !68
; <label>:160 ; preds = %155
call void @llvm.x86.int(i8 4) #1, !dbg !68
unreachable, !dbg !68
; <label>:161 ; preds = %155
%162 = inttoptr i32 %158 to i8*, !dbg !68
store i8* %162, i8** %resultF56, align 1, !dbg !68
%163 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %iF14, i32 4) #0, !dbg !71
%164 = extractvalue { i32, i1 } %163, 0, !dbg !71
%165 = extractvalue { i32, i1 } %163, 1, !dbg !71
br i1 %165, label %166, label %167, !dbg !71
; <label>:166 ; preds = %161
call void @llvm.x86.int(i8 4) #1, !dbg !71
unreachable, !dbg !71
; <label>:167 ; preds = %161
%168 = ptrtoint i8* %47 to i32, !dbg !71
%169 = and i32 %168, 3, !dbg !71
%170 = icmp eq i32 %169, 1, !dbg !71
br i1 %170, label %171, label %175, !dbg !71
; <label>:171 ; preds = %167
%172 = icmp sge i32 %168, 1, !dbg !71
br i1 %172, label %173, label %175, !dbg !71
; <label>:173 ; preds = %171
%174 = icmp sle i32 %168, 1021, !dbg !71
br label %175, !dbg !71
; <label>:175 ; preds = %173, %171, %167
%176 = phi i1 [ false, %167 ], [ false, %171 ], [ %174, %173 ], !dbg !71
br i1 %176, label %179, label %177, !dbg !71
; <label>:177 ; preds = %175
%178 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %47, i8* bitcast (%KLlimited_integerGVKe* @KLbyteGVKe to i8*), i8* undef, i8* undef), !dbg !71
unreachable, !dbg !71
; <label>:179 ; preds = %175
%180 = ptrtoint i8* %47 to i32, !dbg !68
br label %45, !dbg !71
; <label>:181 ; preds = %102
%182 = load i8** %resultF56, align 1, !dbg !72
%183 = ptrtoint i8* %182 to i32, !dbg !72
%184 = icmp eq i32 %183, 1, !dbg !72
%185 = select i1 %184, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !72
%186 = icmp ne i8* %185, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !72
br i1 %186, label %187, label %189, !dbg !72
; <label>:187 ; preds = %181
%188 = load i8** %indexF51, align 1, !dbg !73
br label %206, !dbg !73
; <label>:189 ; preds = %181
%190 = icmp ne i8* %negativeQF11, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !74
br i1 %190, label %191, label %202, !dbg !74
; <label>:191 ; preds = %189
%192 = load i8** %resultF56, align 1, !dbg !74
%193 = ptrtoint i8* %192 to i32, !dbg !74
%194 = xor i32 %193, 1, !dbg !74
%195 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 0, i32 %194) #0, !dbg !74
%196 = extractvalue { i32, i1 } %195, 0, !dbg !74
%197 = extractvalue { i32, i1 } %195, 1, !dbg !74
br i1 %197, label %198, label %199, !dbg !74
; <label>:198 ; preds = %191
call void @llvm.x86.int(i8 4) #1, !dbg !74
unreachable, !dbg !74
; <label>:199 ; preds = %191
%200 = or i32 %196, 1, !dbg !74
%201 = inttoptr i32 %200 to i8*, !dbg !74
br label %204, !dbg !74
; <label>:202 ; preds = %189
%203 = load i8** %resultF56, align 1, !dbg !74
br label %204, !dbg !74
; <label>:204 ; preds = %202, %199
%205 = phi i8* [ %201, %199 ], [ %203, %202 ], !dbg !74
br label %206, !dbg !74
; <label>:206 ; preds = %204, %187
%207 = phi i8* [ bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), %187 ], [ %205, %204 ], !dbg !74
%208 = phi i8* [ %188, %187 ], [ %46, %204 ], !dbg !74
%209 = getelementptr inbounds %struct.TEB* @Pteb, i32 0, i32 8, i32 1, !dbg !75
store i8* %208, i8** %209, align 1, !dbg !75
%210 = insertvalue %struct.MV undef, i8* %207, 0, !dbg !75
%211 = insertvalue %struct.MV %210, i8 2, 1, !dbg !75
ret %struct.MV %211, !dbg !75
}
define fastcc %struct.MV @Kdo_dispatchYformat_internalsVioMM0I(i8* %charF1, i8* %streamF2, i8* %argF3, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %charF1}, i64 0, metadata !76) #0, !dbg !77
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !78) #0, !dbg !77
call void @llvm.dbg.value(metadata !{i8* %argF3}, i64 0, metadata !79) #0, !dbg !77
%0 = alloca %KLsimple_object_vectorGVKd.1, align 4, !dbg !77
%1 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 0, !dbg !77
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %1, align 1, !dbg !77
%2 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 1, !dbg !77
store i8* inttoptr (i32 5 to i8*), i8** %2, align 1, !dbg !77
%3 = alloca %KLsimple_object_vectorGVKd.1, align 4, !dbg !77
%4 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %3, i32 0, i32 0, !dbg !77
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %4, align 1, !dbg !77
%5 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %3, i32 0, i32 1, !dbg !77
store i8* inttoptr (i32 5 to i8*), i8** %5, align 1, !dbg !77
%6 = icmp eq i8* %charF1, inttoptr (i32 462 to i8*), !dbg !80
%7 = select i1 %6, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !80
%8 = icmp ne i8* %7, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !80
br i1 %8, label %9, label %10, !dbg !80
; <label>:9 ; preds = %bb.entry
br label %13, !dbg !80
; <label>:10 ; preds = %bb.entry
%11 = icmp eq i8* %charF1, inttoptr (i32 334 to i8*), !dbg !80
%12 = select i1 %11, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !80
br label %13, !dbg !80
; <label>:13 ; preds = %10, %9
%UtmpF13 = phi i8* [ %7, %9 ], [ %12, %10 ], !dbg !80
call void @llvm.dbg.value(metadata !{i8* %UtmpF13}, i64 0, metadata !81) #0, !dbg !80
%14 = icmp ne i8* %UtmpF13, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !83
br i1 %14, label %15, label %16, !dbg !83
; <label>:15 ; preds = %13
br label %19, !dbg !83
; <label>:16 ; preds = %13
%17 = icmp eq i8* %charF1, inttoptr (i32 398 to i8*), !dbg !83
%18 = select i1 %17, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !83
br label %19, !dbg !83
; <label>:19 ; preds = %16, %15
%UtmpF17 = phi i8* [ %UtmpF13, %15 ], [ %18, %16 ], !dbg !83
call void @llvm.dbg.value(metadata !{i8* %UtmpF17}, i64 0, metadata !84) #0, !dbg !83
%20 = icmp ne i8* %UtmpF17, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %20, label %21, label %22, !dbg !86
; <label>:21 ; preds = %19
br label %25, !dbg !86
; <label>:22 ; preds = %19
%23 = icmp eq i8* %charF1, inttoptr (i32 270 to i8*), !dbg !86
%24 = select i1 %23, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %25, !dbg !86
; <label>:25 ; preds = %22, %21
%26 = phi i8* [ %UtmpF17, %21 ], [ %24, %22 ], !dbg !86
%27 = icmp ne i8* %26, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %27, label %28, label %39, !dbg !86
; <label>:28 ; preds = %25
%29 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_messageYformatVio to i8*) to %KLgeneric_functionGVKd*, !dbg !87
%30 = getelementptr inbounds %KLgeneric_functionGVKd* %29, i32 0, i32 6, !dbg !87
%31 = load i8** %30, align 4, !dbg !87
%32 = bitcast i8* %31 to %KLengine_nodeGVKg*, !dbg !87
%33 = getelementptr inbounds %KLengine_nodeGVKg* %32, i32 0, i32 3, !dbg !87
%34 = load i8** %33, align 4, !dbg !87
%35 = bitcast i8* %34 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !87
%36 = call %struct.MV %35(i8* %31, i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_messageYformatVio to i8*), i8* %argF3, i8* %streamF2), !dbg !87
%37 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%38 = insertvalue %struct.MV %37, i8 1, 1, !dbg !86
br label %215, !dbg !88
; <label>:39 ; preds = %25
%40 = icmp eq i8* %charF1, inttoptr (i32 246 to i8*), !dbg !86
%41 = select i1 %40, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%42 = icmp ne i8* %41, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %42, label %43, label %83, !dbg !86
; <label>:43 ; preds = %39
%Pold_valuePF25 = load i8** @Tprint_escapeQTYprintVio, align 1, !dbg !89
%44 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !89
%45 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !89
%46 = icmp ult i32 %45, %44, !dbg !89
%47 = call i1 @llvm.expect.i1(i1 %46, i1 false) #0, !dbg !89
br i1 %46, label %48, label %49, !dbg !89
; <label>:48 ; preds = %43
call void @primitive_initialize_thread_variables(), !dbg !89
br label %49, !dbg !89
; <label>:49 ; preds = %48, %43
call void @llvm.dbg.value(metadata !{i8* %Pold_valuePF25}, i64 0, metadata !91) #0, !dbg !89
%50 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !89
%51 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !89
%52 = icmp ult i32 %51, %50, !dbg !89
%53 = call i1 @llvm.expect.i1(i1 %52, i1 false) #0, !dbg !89
br i1 %52, label %54, label %55, !dbg !89
; <label>:54 ; preds = %49
call void @primitive_initialize_thread_variables(), !dbg !89
br label %55, !dbg !89
; <label>:55 ; preds = %54, %49
store i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8** @Tprint_escapeQTYprintVio, align 1, !dbg !89
%56 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*) to %KLgeneric_functionGVKd*, !dbg !92
%57 = getelementptr inbounds %KLgeneric_functionGVKd* %56, i32 0, i32 6, !dbg !92
%58 = load i8** %57, align 4, !dbg !92
%59 = bitcast i8* %58 to %KLengine_nodeGVKg*, !dbg !92
%60 = getelementptr inbounds %KLengine_nodeGVKg* %59, i32 0, i32 3, !dbg !92
%61 = load i8** %60, align 4, !dbg !92
%62 = bitcast i8* %61 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !92
%63 = invoke %struct.MV %62(i8* %58, i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*), i8* %argF3, i8* %streamF2)
to label %64 unwind label %65, !dbg !92
; <label>:64 ; preds = %55
br label %74, !dbg !89
; <label>:65 ; preds = %55
%66 = landingpad { i8*, i32 } personality i32 (...)* @__opendylan_personality_v0
cleanup, !dbg !89
br label %67, !dbg !89
; <label>:67 ; preds = %65
%68 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !89
%69 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !89
%70 = icmp ult i32 %69, %68, !dbg !89
%71 = call i1 @llvm.expect.i1(i1 %70, i1 false) #0, !dbg !89
br i1 %70, label %72, label %73, !dbg !89
; <label>:72 ; preds = %67
call void @primitive_initialize_thread_variables(), !dbg !89
br label %73, !dbg !89
; <label>:73 ; preds = %72, %67
store i8* %Pold_valuePF25, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !89
resume { i8*, i32 } %66, !dbg !89
; <label>:74 ; preds = %64
%75 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !89
%76 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !89
%77 = icmp ult i32 %76, %75, !dbg !89
%78 = call i1 @llvm.expect.i1(i1 %77, i1 false) #0, !dbg !89
br i1 %77, label %79, label %80, !dbg !89
; <label>:79 ; preds = %74
call void @primitive_initialize_thread_variables(), !dbg !89
br label %80, !dbg !89
; <label>:80 ; preds = %79, %74
store i8* %Pold_valuePF25, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !89
%81 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%82 = insertvalue %struct.MV %81, i8 1, 1, !dbg !86
br label %213, !dbg !93
; <label>:83 ; preds = %39
%84 = icmp eq i8* %charF1, inttoptr (i32 402 to i8*), !dbg !86
%85 = select i1 %84, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%86 = icmp ne i8* %85, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %86, label %87, label %88, !dbg !86
; <label>:87 ; preds = %83
br label %91, !dbg !86
; <label>:88 ; preds = %83
%89 = icmp eq i8* %charF1, inttoptr (i32 274 to i8*), !dbg !86
%90 = select i1 %89, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %91, !dbg !86
; <label>:91 ; preds = %88, %87
%92 = phi i8* [ %85, %87 ], [ %90, %88 ], !dbg !86
%93 = icmp ne i8* %92, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %93, label %94, label %102, !dbg !86
; <label>:94 ; preds = %91
%95 = bitcast i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K21 to i8*) to %KLengine_nodeGVKg*, !dbg !94
%96 = getelementptr inbounds %KLengine_nodeGVKg* %95, i32 0, i32 3, !dbg !94
%97 = load i8** %96, align 4, !dbg !94
%98 = bitcast i8* %97 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !94
%99 = call %struct.MV %98(i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K21 to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*), i8* %argF3, i8* inttoptr (i32 41 to i8*), i8* %streamF2), !dbg !94
%100 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%101 = insertvalue %struct.MV %100, i8 1, 1, !dbg !86
br label %211, !dbg !95
; <label>:102 ; preds = %91
%103 = icmp eq i8* %charF1, inttoptr (i32 394 to i8*), !dbg !86
%104 = select i1 %103, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%105 = icmp ne i8* %104, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %105, label %106, label %107, !dbg !86
; <label>:106 ; preds = %102
br label %110, !dbg !86
; <label>:107 ; preds = %102
%108 = icmp eq i8* %charF1, inttoptr (i32 266 to i8*), !dbg !86
%109 = select i1 %108, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %110, !dbg !86
; <label>:110 ; preds = %107, %106
%111 = phi i8* [ %104, %106 ], [ %109, %107 ], !dbg !86
%112 = icmp ne i8* %111, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %112, label %113, label %121, !dbg !86
; <label>:113 ; preds = %110
%114 = bitcast i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K23 to i8*) to %KLengine_nodeGVKg*, !dbg !96
%115 = getelementptr inbounds %KLengine_nodeGVKg* %114, i32 0, i32 3, !dbg !96
%116 = load i8** %115, align 4, !dbg !96
%117 = bitcast i8* %116 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !96
%118 = call %struct.MV %117(i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K23 to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*), i8* %argF3, i8* inttoptr (i32 9 to i8*), i8* %streamF2), !dbg !96
%119 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%120 = insertvalue %struct.MV %119, i8 1, 1, !dbg !86
br label %209, !dbg !97
; <label>:121 ; preds = %110
%122 = icmp eq i8* %charF1, inttoptr (i32 446 to i8*), !dbg !86
%123 = select i1 %122, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%124 = icmp ne i8* %123, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %124, label %125, label %126, !dbg !86
; <label>:125 ; preds = %121
br label %129, !dbg !86
; <label>:126 ; preds = %121
%127 = icmp eq i8* %charF1, inttoptr (i32 318 to i8*), !dbg !86
%128 = select i1 %127, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %129, !dbg !86
; <label>:129 ; preds = %126, %125
%130 = phi i8* [ %123, %125 ], [ %128, %126 ], !dbg !86
%131 = icmp ne i8* %130, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %131, label %132, label %140, !dbg !86
; <label>:132 ; preds = %129
%133 = bitcast i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K24 to i8*) to %KLengine_nodeGVKg*, !dbg !98
%134 = getelementptr inbounds %KLengine_nodeGVKg* %133, i32 0, i32 3, !dbg !98
%135 = load i8** %134, align 4, !dbg !98
%136 = bitcast i8* %135 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !98
%137 = call %struct.MV %136(i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K24 to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*), i8* %argF3, i8* inttoptr (i32 33 to i8*), i8* %streamF2), !dbg !98
%138 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%139 = insertvalue %struct.MV %138, i8 1, 1, !dbg !86
br label %207, !dbg !99
; <label>:140 ; preds = %129
%141 = icmp eq i8* %charF1, inttoptr (i32 482 to i8*), !dbg !86
%142 = select i1 %141, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%143 = icmp ne i8* %142, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %143, label %144, label %145, !dbg !86
; <label>:144 ; preds = %140
br label %148, !dbg !86
; <label>:145 ; preds = %140
%146 = icmp eq i8* %charF1, inttoptr (i32 354 to i8*), !dbg !86
%147 = select i1 %146, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %148, !dbg !86
; <label>:148 ; preds = %145, %144
%149 = phi i8* [ %142, %144 ], [ %147, %145 ], !dbg !86
%150 = icmp ne i8* %149, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %150, label %151, label %159, !dbg !86
; <label>:151 ; preds = %148
%152 = bitcast i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K25 to i8*) to %KLengine_nodeGVKg*, !dbg !100
%153 = getelementptr inbounds %KLengine_nodeGVKg* %152, i32 0, i32 3, !dbg !100
%154 = load i8** %153, align 4, !dbg !100
%155 = bitcast i8* %154 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !100
%156 = call %struct.MV %155(i8* bitcast (%KLsimple_typechecked_cache_header_engine_nodeGVKg* @K25 to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kformat_integerYformat_internalsVio to i8*), i8* %argF3, i8* inttoptr (i32 65 to i8*), i8* %streamF2), !dbg !100
%157 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%158 = insertvalue %struct.MV %157, i8 1, 1, !dbg !86
br label %205, !dbg !101
; <label>:159 ; preds = %148
%160 = icmp eq i8* %charF1, inttoptr (i32 438 to i8*), !dbg !86
%161 = select i1 %160, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%162 = icmp ne i8* %161, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %162, label %163, label %164, !dbg !86
; <label>:163 ; preds = %159
br label %167, !dbg !86
; <label>:164 ; preds = %159
%165 = icmp eq i8* %charF1, inttoptr (i32 310 to i8*), !dbg !86
%166 = select i1 %165, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br label %167, !dbg !86
; <label>:167 ; preds = %164, %163
%168 = phi i8* [ %161, %163 ], [ %166, %164 ], !dbg !86
%169 = icmp ne i8* %168, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %169, label %170, label %182, !dbg !86
; <label>:170 ; preds = %167
%171 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 2, i32 0, !dbg !102
store i8* %streamF2, i8** %171, align 4, !dbg !102
%172 = bitcast %KLsimple_object_vectorGVKd.1* %0 to i8*, !dbg !102
%173 = call fastcc %struct.MV @KlistVKdI(i8* %172, i8* undef, i8* undef), !dbg !102
%174 = extractvalue %struct.MV %173, 0, !dbg !102
%175 = bitcast i8* bitcast (%KLsimple_methodGVKe* @KapplyVKd to i8*) to %KLfunctionGVKd*, !dbg !102
%176 = getelementptr inbounds %KLfunctionGVKd* %175, i32 0, i32 1, !dbg !102
%177 = load i8** %176, align 4, !dbg !102
%178 = bitcast i8* %177 to %struct.MV (i8*, i32, i8*, i8*)*, !dbg !102
%179 = call %struct.MV %178(i8* bitcast (%KLsimple_methodGVKe* @KapplyVKd to i8*), i32 2, i8* %argF3, i8* %174), !dbg !102
%180 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), 0, !dbg !86
%181 = insertvalue %struct.MV %180, i8 1, 1, !dbg !86
br label %203, !dbg !103
; <label>:182 ; preds = %167
%183 = icmp eq i8* %charF1, inttoptr (i32 150 to i8*), !dbg !86
%184 = select i1 %183, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
%185 = icmp ne i8* %184, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !86
br i1 %185, label %186, label %197, !dbg !86
; <label>:186 ; preds = %182
%187 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !104
%188 = getelementptr inbounds %KLgeneric_functionGVKd* %187, i32 0, i32 6, !dbg !104
%189 = load i8** %188, align 4, !dbg !104
%190 = bitcast i8* %189 to %KLengine_nodeGVKg*, !dbg !104
%191 = getelementptr inbounds %KLengine_nodeGVKg* %190, i32 0, i32 3, !dbg !104
%192 = load i8** %191, align 4, !dbg !104
%193 = bitcast i8* %192 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !104
%194 = call %struct.MV %193(i8* %189, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*), i8* %streamF2, i8* inttoptr (i32 150 to i8*)), !dbg !104
%195 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !105
%196 = insertvalue %struct.MV %195, i8 1, 1, !dbg !105
br label %201, !dbg !106
; <label>:197 ; preds = %182
%198 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %3, i32 0, i32 2, i32 0, !dbg !105
store i8* %charF1, i8** %198, align 4, !dbg !105
%199 = bitcast %KLsimple_object_vectorGVKd.1* %3 to i8*, !dbg !105
%200 = call fastcc %struct.MV @KerrorVKdMM1I(i8* bitcast (%KLbyte_stringGVKd.37* @K26 to i8*), i8* %199, i8* undef, i8* undef), !dbg !105
br label %201, !dbg !105
; <label>:201 ; preds = %197, %186
%202 = phi %struct.MV [ %196, %186 ], [ %200, %197 ], !dbg !105
br label %203, !dbg !86
; <label>:203 ; preds = %201, %170
%204 = phi %struct.MV [ %181, %170 ], [ %202, %201 ], !dbg !86
br label %205, !dbg !86
; <label>:205 ; preds = %203, %151
%206 = phi %struct.MV [ %158, %151 ], [ %204, %203 ], !dbg !86
br label %207, !dbg !86
; <label>:207 ; preds = %205, %132
%208 = phi %struct.MV [ %139, %132 ], [ %206, %205 ], !dbg !86
br label %209, !dbg !86
; <label>:209 ; preds = %207, %113
%210 = phi %struct.MV [ %120, %113 ], [ %208, %207 ], !dbg !86
br label %211, !dbg !86
; <label>:211 ; preds = %209, %94
%212 = phi %struct.MV [ %101, %94 ], [ %210, %209 ], !dbg !86
br label %213, !dbg !86
; <label>:213 ; preds = %211, %80
%214 = phi %struct.MV [ %82, %80 ], [ %212, %211 ], !dbg !86
br label %215, !dbg !86
; <label>:215 ; preds = %213, %28
%216 = phi %struct.MV [ %38, %28 ], [ %214, %213 ], !dbg !86
ret %struct.MV %216, !dbg !107
}
define fastcc %struct.MV @KformatYformatVioMM0I(i8* %streamF1, i8* %control_stringF2, i8* %argsF3, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %streamF1}, i64 0, metadata !108) #0, !dbg !109
call void @llvm.dbg.value(metadata !{i8* %control_stringF2}, i64 0, metadata !110) #0, !dbg !109
call void @llvm.dbg.value(metadata !{i8* %argsF3}, i64 0, metadata !111) #0, !dbg !109
%0 = alloca %KLsimple_object_vectorGVKd.4, align 4, !dbg !109
%1 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 0, !dbg !109
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %1, align 1, !dbg !109
%2 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 1, !dbg !109
store i8* inttoptr (i32 17 to i8*), i8** %2, align 1, !dbg !109
%3 = alloca %KLsimple_object_vectorGVKd.4, align 4, !dbg !109
%4 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 0, !dbg !109
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %4, align 1, !dbg !109
%5 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 1, !dbg !109
store i8* inttoptr (i32 17 to i8*), i8** %5, align 1, !dbg !109
%6 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !112
%7 = getelementptr inbounds %KLbyte_stringGVKd* %6, i32 0, i32 1, !dbg !112
%8 = load i8** %7, align 4, !dbg !112
%startF85 = alloca i8*, align 1, !dbg !113
call void @llvm.dbg.declare(metadata !{i8** %startF85}, metadata !115) #0, !dbg !113
store i8* inttoptr (i32 1 to i8*), i8** %startF85, align 1, !dbg !113
%arg_iF95 = alloca i8*, align 1, !dbg !116
call void @llvm.dbg.declare(metadata !{i8** %arg_iF95}, metadata !118) #0, !dbg !116
store i8* inttoptr (i32 1 to i8*), i8** %arg_iF95, align 1, !dbg !116
br label %9, !dbg !119
; <label>:9 ; preds = %403, %bb.entry
%10 = load i8** %startF85, align 1, !dbg !119
%11 = ptrtoint i8* %10 to i32, !dbg !119
%12 = ptrtoint i8* %8 to i32, !dbg !119
%13 = icmp slt i32 %11, %12, !dbg !119
%14 = select i1 %13, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !119
%15 = icmp ne i8* %14, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !119
br i1 %15, label %16, label %404, !dbg !119
; <label>:16 ; preds = %9
%17 = load i8** %startF85, align 1, !dbg !120
%18 = ptrtoint i8* %17 to i32, !dbg !121
br label %19, !dbg !120
; <label>:19 ; preds = %77, %16
%iF13 = phi i32 [ %18, %16 ], [ %74, %77 ], !dbg !120
call void @llvm.dbg.value(metadata !{i32 %iF13}, i64 0, metadata !122) #0, !dbg !120
%20 = inttoptr i32 %iF13 to i8*, !dbg !124
%21 = icmp eq i8* %20, %8, !dbg !125
%22 = select i1 %21, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !125
%23 = icmp ne i8* %22, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !125
br i1 %23, label %24, label %25, !dbg !125
; <label>:24 ; preds = %19
br label %45, !dbg !125
; <label>:25 ; preds = %19
%26 = icmp ult i32 %iF13, %12, !dbg !124
%27 = select i1 %26, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !124
%28 = icmp ne i8* %27, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !124
br i1 %28, label %29, label %38, !dbg !124
; <label>:29 ; preds = %25
%30 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !124
%31 = ashr i32 %iF13, 2, !dbg !124
%32 = getelementptr inbounds %KLbyte_stringGVKd* %30, i32 0, i32 2, i32 %31, !dbg !124
%33 = load i8* %32, align 1, !dbg !124
%34 = zext i8 %33 to i32, !dbg !124
%35 = shl i32 %34, 2, !dbg !124
%36 = or i32 %35, 2, !dbg !124
%37 = inttoptr i32 %36 to i8*, !dbg !124
br label %41, !dbg !124
; <label>:38 ; preds = %25
%39 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %control_stringF2, i8* %20, i8* undef, i8* undef), !dbg !124
%40 = extractvalue %struct.MV %39, 0, !dbg !124
br label %41, !dbg !124
; <label>:41 ; preds = %38, %29
%42 = phi i8* [ %37, %29 ], [ %40, %38 ], !dbg !124
%43 = icmp eq i8* %42, inttoptr (i32 150 to i8*), !dbg !124
%44 = select i1 %43, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !124
br label %45, !dbg !124
; <label>:45 ; preds = %41, %24
%UtmpF23 = phi i8* [ %22, %24 ], [ %44, %41 ], !dbg !124
call void @llvm.dbg.value(metadata !{i8* %UtmpF23}, i64 0, metadata !126) #0, !dbg !124
%46 = icmp ne i8* %UtmpF23, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !128
br i1 %46, label %47, label %48, !dbg !128
; <label>:47 ; preds = %45
br label %68, !dbg !128
; <label>:48 ; preds = %45
%49 = icmp ult i32 %iF13, %12, !dbg !129
%50 = select i1 %49, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !129
%51 = icmp ne i8* %50, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !129
br i1 %51, label %52, label %61, !dbg !129
; <label>:52 ; preds = %48
%53 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !129
%54 = ashr i32 %iF13, 2, !dbg !129
%55 = getelementptr inbounds %KLbyte_stringGVKd* %53, i32 0, i32 2, i32 %54, !dbg !129
%56 = load i8* %55, align 1, !dbg !129
%57 = zext i8 %56 to i32, !dbg !129
%58 = shl i32 %57, 2, !dbg !129
%59 = or i32 %58, 2, !dbg !129
%60 = inttoptr i32 %59 to i8*, !dbg !129
br label %64, !dbg !129
; <label>:61 ; preds = %48
%62 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %control_stringF2, i8* %20, i8* undef, i8* undef), !dbg !129
%63 = extractvalue %struct.MV %62, 0, !dbg !129
br label %64, !dbg !129
; <label>:64 ; preds = %61, %52
%65 = phi i8* [ %60, %52 ], [ %63, %61 ], !dbg !129
%66 = icmp eq i8* %65, inttoptr (i32 42 to i8*), !dbg !129
%67 = select i1 %66, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !129
br label %68, !dbg !129
; <label>:68 ; preds = %64, %47
%69 = phi i8* [ %UtmpF23, %47 ], [ %67, %64 ], !dbg !129
%70 = icmp ne i8* %69, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !130
br i1 %70, label %71, label %72, !dbg !130
; <label>:71 ; preds = %68
br label %78, !dbg !130
; <label>:72 ; preds = %68
%73 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %iF13, i32 4) #0, !dbg !130
%74 = extractvalue { i32, i1 } %73, 0, !dbg !130
%75 = extractvalue { i32, i1 } %73, 1, !dbg !130
br i1 %75, label %76, label %77, !dbg !130
; <label>:76 ; preds = %72
call void @llvm.x86.int(i8 4) #1, !dbg !130
unreachable, !dbg !130
; <label>:77 ; preds = %72
br label %19, !dbg !130
; <label>:78 ; preds = %71
%79 = load i8** %startF85, align 1, !dbg !131
%80 = icmp eq i8* %20, %79, !dbg !131
%81 = select i1 %80, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !131
%82 = icmp ne i8* %81, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !131
br i1 %82, label %83, label %84, !dbg !131
; <label>:83 ; preds = %78
br label %99, !dbg !131
; <label>:84 ; preds = %78
%85 = load i8** %startF85, align 1, !dbg !132
%86 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 0, !dbg !132
store i8* bitcast (%KLsymbolGVKd* @KJstart_ to i8*), i8** %86, align 4, !dbg !132
%87 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 1, !dbg !132
store i8* %85, i8** %87, align 4, !dbg !132
%88 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 2, !dbg !132
store i8* bitcast (%KLsymbolGVKd* @KJend_ to i8*), i8** %88, align 4, !dbg !132
%89 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %0, i32 0, i32 2, i32 3, !dbg !132
store i8* %20, i8** %89, align 4, !dbg !132
%90 = bitcast %KLsimple_object_vectorGVKd.4* %0 to i8*, !dbg !132
%91 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !132
%92 = getelementptr inbounds %KLgeneric_functionGVKd* %91, i32 0, i32 6, !dbg !132
%93 = load i8** %92, align 4, !dbg !132
%94 = bitcast i8* %93 to %KLengine_nodeGVKg*, !dbg !132
%95 = getelementptr inbounds %KLengine_nodeGVKg* %94, i32 0, i32 3, !dbg !132
%96 = load i8** %95, align 4, !dbg !132
%97 = bitcast i8* %96 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !132
%98 = call %struct.MV %97(i8* %93, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %control_stringF2, i8* %90), !dbg !132
br label %99, !dbg !132
; <label>:99 ; preds = %84, %83
%100 = icmp ne i8* %22, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !133
br i1 %100, label %101, label %102, !dbg !133
; <label>:101 ; preds = %99
br label %406, !dbg !134
; <label>:102 ; preds = %99
%103 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %iF13, i32 4) #0, !dbg !135
%104 = extractvalue { i32, i1 } %103, 0, !dbg !135
%105 = extractvalue { i32, i1 } %103, 1, !dbg !135
br i1 %105, label %106, label %107, !dbg !135
; <label>:106 ; preds = %102
call void @llvm.x86.int(i8 4) #1, !dbg !135
unreachable, !dbg !135
; <label>:107 ; preds = %102
%108 = inttoptr i32 %104 to i8*, !dbg !135
store i8* %108, i8** %startF85, align 1, !dbg !135
br label %109, !dbg !135
; <label>:109 ; preds = %107
%110 = load i8** %startF85, align 1, !dbg !136
%111 = ptrtoint i8* %110 to i32, !dbg !136
%112 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %111, i32 4) #0, !dbg !136
%113 = extractvalue { i32, i1 } %112, 0, !dbg !136
%114 = extractvalue { i32, i1 } %112, 1, !dbg !136
br i1 %114, label %115, label %116, !dbg !136
; <label>:115 ; preds = %109
call void @llvm.x86.int(i8 4) #1, !dbg !136
unreachable, !dbg !136
; <label>:116 ; preds = %109
%117 = inttoptr i32 %113 to i8*, !dbg !136
%118 = icmp ult i32 %113, %12, !dbg !136
%119 = select i1 %118, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !136
%120 = icmp ne i8* %119, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !136
br i1 %120, label %121, label %130, !dbg !136
; <label>:121 ; preds = %116
%122 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !136
%123 = ashr i32 %113, 2, !dbg !136
%124 = getelementptr inbounds %KLbyte_stringGVKd* %122, i32 0, i32 2, i32 %123, !dbg !136
%125 = load i8* %124, align 1, !dbg !136
%126 = zext i8 %125 to i32, !dbg !136
%127 = shl i32 %126, 2, !dbg !136
%128 = or i32 %127, 2, !dbg !136
%129 = inttoptr i32 %128 to i8*, !dbg !136
br label %133, !dbg !136
; <label>:130 ; preds = %116
%131 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %control_stringF2, i8* %117, i8* undef, i8* undef), !dbg !136
%132 = extractvalue %struct.MV %131, 0, !dbg !136
br label %133, !dbg !136
; <label>:133 ; preds = %130, %121
%134 = phi i8* [ %129, %121 ], [ %132, %130 ], !dbg !136
%135 = icmp eq i8* %134, inttoptr (i32 42 to i8*), !dbg !136
%136 = select i1 %135, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !136
%137 = icmp ne i8* %136, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !136
br i1 %137, label %138, label %147, !dbg !136
; <label>:138 ; preds = %133
%139 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Knew_lineYstreamsVio to i8*) to %KLgeneric_functionGVKd*, !dbg !137
%140 = getelementptr inbounds %KLgeneric_functionGVKd* %139, i32 0, i32 6, !dbg !137
%141 = load i8** %140, align 4, !dbg !137
%142 = bitcast i8* %141 to %KLengine_nodeGVKg*, !dbg !137
%143 = getelementptr inbounds %KLengine_nodeGVKg* %142, i32 0, i32 3, !dbg !137
%144 = load i8** %143, align 4, !dbg !137
%145 = bitcast i8* %144 to %struct.MV (i8*, i8*, i8*)*, !dbg !137
%146 = call %struct.MV %145(i8* %141, i8* bitcast (%KLincremental_generic_functionGVKe* @Knew_lineYstreamsVio to i8*), i8* %streamF1), !dbg !137
br label %403, !dbg !137
; <label>:147 ; preds = %133
%148 = load i8** %startF85, align 1, !dbg !138
%149 = ptrtoint i8* %148 to i32, !dbg !138
%150 = icmp ult i32 %149, %12, !dbg !138
%151 = select i1 %150, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !138
%152 = icmp ne i8* %151, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !138
br i1 %152, label %153, label %159, !dbg !138
; <label>:153 ; preds = %147
%154 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !138
%155 = ashr i32 %149, 2, !dbg !138
%156 = getelementptr inbounds %KLbyte_stringGVKd* %154, i32 0, i32 2, i32 %155, !dbg !138
%157 = load i8* %156, align 1, !dbg !138
%158 = zext i8 %157 to i32, !dbg !138
br label %164, !dbg !138
; <label>:159 ; preds = %147
%160 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %control_stringF2, i8* %148, i8* undef, i8* undef), !dbg !138
%161 = extractvalue %struct.MV %160, 0, !dbg !138
%162 = ptrtoint i8* %161 to i32, !dbg !138
%163 = lshr i32 %162, 2, !dbg !138
br label %164, !dbg !138
; <label>:164 ; preds = %159, %153
%165 = phi i32 [ %158, %153 ], [ %163, %159 ], !dbg !138
%166 = shl i32 1, 2, !dbg !138
%167 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %165, i32 %166) #0, !dbg !138
%168 = extractvalue { i32, i1 } %167, 0, !dbg !138
%169 = extractvalue { i32, i1 } %167, 1, !dbg !138
br i1 %169, label %170, label %171, !dbg !138
; <label>:170 ; preds = %164
call void @llvm.x86.int(i8 4) #1, !dbg !138
unreachable, !dbg !138
; <label>:171 ; preds = %164
%172 = or i32 %168, 1, !dbg !138
%173 = inttoptr i32 %172 to i8*, !dbg !138
%174 = ptrtoint i8* %173 to i32, !dbg !138
%175 = and i32 %174, 3, !dbg !138
%176 = icmp eq i32 %175, 1, !dbg !138
br i1 %176, label %177, label %181, !dbg !138
; <label>:177 ; preds = %171
%178 = icmp sge i32 %174, 1, !dbg !138
br i1 %178, label %179, label %181, !dbg !138
; <label>:179 ; preds = %177
%180 = icmp sle i32 %174, 1021, !dbg !138
br label %181, !dbg !138
; <label>:181 ; preds = %179, %177, %171
%182 = phi i1 [ false, %171 ], [ false, %177 ], [ %180, %179 ], !dbg !138
br i1 %182, label %185, label %183, !dbg !138
; <label>:183 ; preds = %181
%184 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %173, i8* bitcast (%KLlimited_integerGVKe* @KLbyteGVKe to i8*), i8* undef, i8* undef), !dbg !138
unreachable, !dbg !138
; <label>:185 ; preds = %181
%186 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !138
%187 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !138
%188 = call fastcc %struct.MV @KelementVKdMM3I(i8* %187, i8* %173, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLsealed_generic_functionGVKe* @Kunsupplied_objectVKi to i8*), i8* undef, i8* undef), !dbg !138
%189 = extractvalue %struct.MV %188, 0, !dbg !138
%190 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJdigit_ to i8*)) #1, !dbg !138
%191 = load i8** @IKJdigit_, align 4, !dbg !138
%192 = icmp eq i8* %189, %191, !dbg !138
%193 = select i1 %192, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !138
%194 = icmp ne i8* %193, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !138
br i1 %194, label %195, label %204, !dbg !138
; <label>:195 ; preds = %185
%196 = load i8** %startF85, align 1, !dbg !139
%197 = call fastcc %struct.MV @Kparse_integerYformat_internalsVioMM0I(i8* %control_stringF2, i8* %196, i8* undef, i8* undef), !dbg !139
%198 = extractvalue %struct.MV %197, 0, !dbg !138
%199 = getelementptr inbounds %struct.TEB* @Pteb, i32 0, i32 8, i32 1, !dbg !138
%200 = load i8** %199, align 1, !dbg !138
%201 = extractvalue %struct.MV %197, 1, !dbg !138
%202 = icmp ult i8 1, %201, !dbg !138
%203 = select i1 %202, i8* %200, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !138
br label %205, !dbg !139
; <label>:204 ; preds = %185
br label %205, !dbg !138
; <label>:205 ; preds = %204, %195
%fieldF45 = phi i8* [ %198, %195 ], [ bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), %204 ], !dbg !138
%field_spec_endF46 = phi i8* [ %203, %195 ], [ bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), %204 ], !dbg !138
call void @llvm.dbg.value(metadata !{i8* %fieldF45}, i64 0, metadata !140) #0, !dbg !142
call void @llvm.dbg.value(metadata !{i8* %field_spec_endF46}, i64 0, metadata !143) #0, !dbg !145
%206 = icmp ne i8* %fieldF45, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !146
br i1 %206, label %207, label %357, !dbg !146
; <label>:207 ; preds = %205
%208 = call fastcc %struct.MV @KmakeVKdMM33I(i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* inttoptr (i32 130 to i8*), i8* inttoptr (i32 321 to i8*), i8* undef, i8* undef), !dbg !147
%209 = extractvalue %struct.MV %208, 0, !dbg !147
%210 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 2, i32 0, !dbg !148
%211 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJcontents_ to i8*)) #1, !dbg !148
%212 = load i8** @IKJcontents_, align 4, !dbg !148
store i8* %212, i8** %210, align 4, !dbg !148
%213 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 2, i32 1, !dbg !148
store i8* %209, i8** %213, align 4, !dbg !148
%214 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 2, i32 2, !dbg !148
store i8* bitcast (%KLsymbolGVKd* @KJdirection_ to i8*), i8** %214, align 4, !dbg !148
%215 = getelementptr inbounds %KLsimple_object_vectorGVKd.4* %3, i32 0, i32 2, i32 3, !dbg !148
store i8* bitcast (%KLsymbolGVKd* @KJoutput_ to i8*), i8** %215, align 4, !dbg !148
%216 = bitcast %KLsimple_object_vectorGVKd.4* %3 to i8*, !dbg !148
%217 = call fastcc %struct.MV @KLbyte_string_streamGZ32ZconstructorYstreams_internalsVioMM0I(i8* bitcast (%KLclassGVKd* @KLbyte_string_streamGYstreamsVio to i8*), i8* %216, i8* bitcast (%KLunboundGVKe* @KPunboundVKi to i8*), i8* bitcast (%KLclassGVKd* @KLobjectGVKd to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* %209, i8* undef, i8* undef), !dbg !148
%218 = extractvalue %struct.MV %217, 0, !dbg !148
%219 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KelementVKd to i8*) to %KLgeneric_functionGVKd*, !dbg !149
%220 = getelementptr inbounds %KLgeneric_functionGVKd* %219, i32 0, i32 6, !dbg !149
%221 = load i8** %220, align 4, !dbg !149
%222 = bitcast i8* %221 to %KLengine_nodeGVKg*, !dbg !149
%223 = getelementptr inbounds %KLengine_nodeGVKg* %222, i32 0, i32 3, !dbg !149
%224 = load i8** %223, align 4, !dbg !149
%225 = bitcast i8* %224 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !149
%226 = call %struct.MV %225(i8* %221, i8* bitcast (%KLincremental_generic_functionGVKe* @KelementVKd to i8*), i8* %control_stringF2, i8* %field_spec_endF46, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !149
%227 = extractvalue %struct.MV %226, 0, !dbg !149
%228 = load i8** %arg_iF95, align 1, !dbg !150
%229 = call fastcc %struct.MV @KelementVKdMM3I(i8* %argsF3, i8* %228, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* undef, i8* undef), !dbg !150
%230 = extractvalue %struct.MV %229, 0, !dbg !150
%231 = bitcast i8* bitcast (%KLsimple_methodGVKe* @Kdo_dispatchYformat_internalsVioMM0 to i8*) to %KLfunctionGVKd*, !dbg !149
%232 = getelementptr inbounds %KLfunctionGVKd* %231, i32 0, i32 1, !dbg !149
%233 = load i8** %232, align 4, !dbg !149
%234 = bitcast i8* %233 to %struct.MV (i8*, i32, i8*, i8*, i8*)*, !dbg !149
%235 = call %struct.MV %234(i8* bitcast (%KLsimple_methodGVKe* @Kdo_dispatchYformat_internalsVioMM0 to i8*), i32 3, i8* %227, i8* %218, i8* %230), !dbg !149
%236 = extractvalue %struct.MV %235, 0, !dbg !149
%237 = icmp ne i8* %236, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !149
br i1 %237, label %238, label %247, !dbg !149
; <label>:238 ; preds = %207
%239 = load i8** %arg_iF95, align 1, !dbg !151
%240 = ptrtoint i8* %239 to i32, !dbg !151
%241 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %240, i32 4) #0, !dbg !151
%242 = extractvalue { i32, i1 } %241, 0, !dbg !151
%243 = extractvalue { i32, i1 } %241, 1, !dbg !151
br i1 %243, label %244, label %245, !dbg !151
; <label>:244 ; preds = %238
call void @llvm.x86.int(i8 4) #1, !dbg !151
unreachable, !dbg !151
; <label>:245 ; preds = %238
%246 = inttoptr i32 %242 to i8*, !dbg !151
store i8* %246, i8** %arg_iF95, align 1, !dbg !151
br label %248, !dbg !151
; <label>:247 ; preds = %207
br label %248, !dbg !151
; <label>:248 ; preds = %247, %245
%249 = call fastcc %struct.MV @Kstream_contentsYstreams_protocolVcommon_dylanMioM0I(i8* %218, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* undef, i8* undef), !dbg !152
%250 = extractvalue %struct.MV %249, 0, !dbg !152
%251 = ptrtoint i8* %250 to i32, !dbg !153
%252 = and i32 %251, 3, !dbg !153
%253 = icmp eq i32 %252, 0, !dbg !153
br i1 %253, label %254, label %259, !dbg !153
; <label>:254 ; preds = %248
%255 = bitcast i8* %250 to %KLobjectGVKd*, !dbg !153
%256 = getelementptr inbounds %KLobjectGVKd* %255, i32 0, i32 0, !dbg !153
%257 = load %KLmm_wrapperGVKi** %256, align 4, !dbg !153
%258 = icmp eq %KLmm_wrapperGVKi* %257, @KLbyte_stringGVKdW, !dbg !153
br label %259, !dbg !153
; <label>:259 ; preds = %254, %248
%260 = phi i1 [ false, %248 ], [ %258, %254 ], !dbg !153
br i1 %260, label %263, label %261, !dbg !153
; <label>:261 ; preds = %259
%262 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %250, i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* undef, i8* undef), !dbg !153
unreachable, !dbg !153
; <label>:263 ; preds = %259
%264 = bitcast i8* %250 to %KLbyte_stringGVKd*, !dbg !155
%265 = getelementptr inbounds %KLbyte_stringGVKd* %264, i32 0, i32 1, !dbg !155
%266 = load i8** %265, align 4, !dbg !155
%267 = ptrtoint i8* %fieldF45 to i32, !dbg !156
%268 = xor i32 %267, 1, !dbg !156
%269 = icmp slt i32 %268, 0, !dbg !156
%270 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 0, i32 %268) #0, !dbg !156
%271 = extractvalue { i32, i1 } %270, 0, !dbg !156
%272 = extractvalue { i32, i1 } %270, 1, !dbg !156
br i1 %272, label %273, label %274, !dbg !156
; <label>:273 ; preds = %263
call void @llvm.x86.int(i8 4) #1, !dbg !156
unreachable, !dbg !156
; <label>:274 ; preds = %263
%275 = select i1 %269, i32 %271, i32 %268, !dbg !156
%276 = or i32 %275, 1, !dbg !156
%277 = ptrtoint i8* %266 to i32, !dbg !156
%278 = xor i32 %277, 1, !dbg !156
%279 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %276, i32 %278) #0, !dbg !156
%280 = extractvalue { i32, i1 } %279, 0, !dbg !156
%281 = extractvalue { i32, i1 } %279, 1, !dbg !156
br i1 %281, label %282, label %283, !dbg !156
; <label>:282 ; preds = %274
call void @llvm.x86.int(i8 4) #1, !dbg !156
unreachable, !dbg !156
; <label>:283 ; preds = %274
%284 = inttoptr i32 %280 to i8*, !dbg !156
%285 = icmp slt i32 %280, 1, !dbg !157
%286 = select i1 %285, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !157
%287 = icmp ne i8* %286, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !158
br i1 %287, label %288, label %297, !dbg !158
; <label>:288 ; preds = %283
%289 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !159
%290 = getelementptr inbounds %KLgeneric_functionGVKd* %289, i32 0, i32 6, !dbg !159
%291 = load i8** %290, align 4, !dbg !159
%292 = bitcast i8* %291 to %KLengine_nodeGVKg*, !dbg !159
%293 = getelementptr inbounds %KLengine_nodeGVKg* %292, i32 0, i32 3, !dbg !159
%294 = load i8** %293, align 4, !dbg !159
%295 = bitcast i8* %294 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !159
%296 = call %struct.MV %295(i8* %291, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %250, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !159
br label %341, !dbg !159
; <label>:297 ; preds = %283
%298 = ptrtoint i8* %fieldF45 to i32, !dbg !160
%299 = icmp slt i32 1, %298, !dbg !160
%300 = select i1 %299, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !160
%301 = icmp ne i8* %300, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !158
br i1 %301, label %302, label %321, !dbg !158
; <label>:302 ; preds = %297
%303 = call fastcc %struct.MV @KmakeVKdMM33I(i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* inttoptr (i32 130 to i8*), i8* %284, i8* undef, i8* undef), !dbg !161
%304 = extractvalue %struct.MV %303, 0, !dbg !161
%305 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !161
%306 = getelementptr inbounds %KLgeneric_functionGVKd* %305, i32 0, i32 6, !dbg !161
%307 = load i8** %306, align 4, !dbg !161
%308 = bitcast i8* %307 to %KLengine_nodeGVKg*, !dbg !161
%309 = getelementptr inbounds %KLengine_nodeGVKg* %308, i32 0, i32 3, !dbg !161
%310 = load i8** %309, align 4, !dbg !161
%311 = bitcast i8* %310 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !161
%312 = call %struct.MV %311(i8* %307, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %304, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !161
%313 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !162
%314 = getelementptr inbounds %KLgeneric_functionGVKd* %313, i32 0, i32 6, !dbg !162
%315 = load i8** %314, align 4, !dbg !162
%316 = bitcast i8* %315 to %KLengine_nodeGVKg*, !dbg !162
%317 = getelementptr inbounds %KLengine_nodeGVKg* %316, i32 0, i32 3, !dbg !162
%318 = load i8** %317, align 4, !dbg !162
%319 = bitcast i8* %318 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !162
%320 = call %struct.MV %319(i8* %315, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %250, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !162
br label %340, !dbg !162
; <label>:321 ; preds = %297
%322 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !163
%323 = getelementptr inbounds %KLgeneric_functionGVKd* %322, i32 0, i32 6, !dbg !163
%324 = load i8** %323, align 4, !dbg !163
%325 = bitcast i8* %324 to %KLengine_nodeGVKg*, !dbg !163
%326 = getelementptr inbounds %KLengine_nodeGVKg* %325, i32 0, i32 3, !dbg !163
%327 = load i8** %326, align 4, !dbg !163
%328 = bitcast i8* %327 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !163
%329 = call %struct.MV %328(i8* %324, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %250, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !163
%330 = call fastcc %struct.MV @KmakeVKdMM33I(i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* inttoptr (i32 130 to i8*), i8* %284, i8* undef, i8* undef), !dbg !164
%331 = extractvalue %struct.MV %330, 0, !dbg !164
%332 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !164
%333 = getelementptr inbounds %KLgeneric_functionGVKd* %332, i32 0, i32 6, !dbg !164
%334 = load i8** %333, align 4, !dbg !164
%335 = bitcast i8* %334 to %KLengine_nodeGVKg*, !dbg !164
%336 = getelementptr inbounds %KLengine_nodeGVKg* %335, i32 0, i32 3, !dbg !164
%337 = load i8** %336, align 4, !dbg !164
%338 = bitcast i8* %337 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !164
%339 = call %struct.MV %338(i8* %334, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF1, i8* %331, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !164
br label %340, !dbg !164
; <label>:340 ; preds = %321, %302
br label %341, !dbg !158
; <label>:341 ; preds = %340, %288
%342 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KAVKd to i8*) to %KLgeneric_functionGVKd*, !dbg !165
%343 = getelementptr inbounds %KLgeneric_functionGVKd* %342, i32 0, i32 6, !dbg !165
%344 = load i8** %343, align 4, !dbg !165
%345 = bitcast i8* %344 to %KLengine_nodeGVKg*, !dbg !165
%346 = getelementptr inbounds %KLengine_nodeGVKg* %345, i32 0, i32 3, !dbg !165
%347 = load i8** %346, align 4, !dbg !165
%348 = bitcast i8* %347 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !165
%349 = call %struct.MV %348(i8* %344, i8* bitcast (%KLincremental_generic_functionGVKe* @KAVKd to i8*), i8* %field_spec_endF46, i8* inttoptr (i32 5 to i8*)), !dbg !165
%350 = extractvalue %struct.MV %349, 0, !dbg !165
%351 = ptrtoint i8* %350 to i32, !dbg !165
%352 = and i32 %351, 3, !dbg !165
%353 = icmp eq i32 %352, 1, !dbg !165
br i1 %353, label %356, label %354, !dbg !165
; <label>:354 ; preds = %341
%355 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %350, i8* bitcast (%KLclassGVKd* @KLintegerGVKd to i8*), i8* undef, i8* undef), !dbg !165
unreachable, !dbg !165
; <label>:356 ; preds = %341
store i8* %350, i8** %startF85, align 1, !dbg !165
br label %402, !dbg !165
; <label>:357 ; preds = %205
%358 = load i8** %startF85, align 1, !dbg !166
%359 = ptrtoint i8* %358 to i32, !dbg !166
%360 = icmp ult i32 %359, %12, !dbg !166
%361 = select i1 %360, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !166
%362 = icmp ne i8* %361, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !166
br i1 %362, label %363, label %372, !dbg !166
; <label>:363 ; preds = %357
%364 = bitcast i8* %control_stringF2 to %KLbyte_stringGVKd*, !dbg !166
%365 = ashr i32 %359, 2, !dbg !166
%366 = getelementptr inbounds %KLbyte_stringGVKd* %364, i32 0, i32 2, i32 %365, !dbg !166
%367 = load i8* %366, align 1, !dbg !166
%368 = zext i8 %367 to i32, !dbg !166
%369 = shl i32 %368, 2, !dbg !166
%370 = or i32 %369, 2, !dbg !166
%371 = inttoptr i32 %370 to i8*, !dbg !166
br label %375, !dbg !166
; <label>:372 ; preds = %357
%373 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %control_stringF2, i8* %358, i8* undef, i8* undef), !dbg !166
%374 = extractvalue %struct.MV %373, 0, !dbg !166
br label %375, !dbg !166
; <label>:375 ; preds = %372, %363
%376 = phi i8* [ %371, %363 ], [ %374, %372 ], !dbg !166
%377 = load i8** %arg_iF95, align 1, !dbg !167
%378 = call fastcc %struct.MV @KelementVKdMM3I(i8* %argsF3, i8* %377, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* undef, i8* undef), !dbg !167
%379 = extractvalue %struct.MV %378, 0, !dbg !167
%380 = call fastcc %struct.MV @Kdo_dispatchYformat_internalsVioMM0I(i8* %376, i8* %streamF1, i8* %379, i8* undef, i8* undef), !dbg !166
%381 = extractvalue %struct.MV %380, 0, !dbg !166
%382 = icmp ne i8* %381, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !166
br i1 %382, label %383, label %392, !dbg !166
; <label>:383 ; preds = %375
%384 = load i8** %arg_iF95, align 1, !dbg !168
%385 = ptrtoint i8* %384 to i32, !dbg !168
%386 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %385, i32 4) #0, !dbg !168
%387 = extractvalue { i32, i1 } %386, 0, !dbg !168
%388 = extractvalue { i32, i1 } %386, 1, !dbg !168
br i1 %388, label %389, label %390, !dbg !168
; <label>:389 ; preds = %383
call void @llvm.x86.int(i8 4) #1, !dbg !168
unreachable, !dbg !168
; <label>:390 ; preds = %383
%391 = inttoptr i32 %387 to i8*, !dbg !168
store i8* %391, i8** %arg_iF95, align 1, !dbg !168
br label %393, !dbg !168
; <label>:392 ; preds = %375
br label %393, !dbg !168
; <label>:393 ; preds = %392, %390
%394 = load i8** %startF85, align 1, !dbg !169
%395 = ptrtoint i8* %394 to i32, !dbg !169
%396 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %395, i32 4) #0, !dbg !169
%397 = extractvalue { i32, i1 } %396, 0, !dbg !169
%398 = extractvalue { i32, i1 } %396, 1, !dbg !169
br i1 %398, label %399, label %400, !dbg !169
; <label>:399 ; preds = %393
call void @llvm.x86.int(i8 4) #1, !dbg !169
unreachable, !dbg !169
; <label>:400 ; preds = %393
%401 = inttoptr i32 %397 to i8*, !dbg !169
store i8* %401, i8** %startF85, align 1, !dbg !169
br label %402, !dbg !169
; <label>:402 ; preds = %400, %356
br label %403, !dbg !146
; <label>:403 ; preds = %402, %138
br label %9, !dbg !119
; <label>:404 ; preds = %9
br label %405, !dbg !119
; <label>:405 ; preds = %404
br label %406, !dbg !170
; <label>:406 ; preds = %405, %101
%407 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !109
%408 = insertvalue %struct.MV %407, i8 0, 1, !dbg !109
ret %struct.MV %408, !dbg !109
}
declare %struct.MV @cache_header_3(i8*, i8*, i8*, i8*, i8*)
define fastcc %struct.MV @Kformat_integerYformat_internalsVioMM0I(i8* %argF1, i8* %radixF2, i8* %streamF3, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %argF1}, i64 0, metadata !171) #0, !dbg !172
call void @llvm.dbg.value(metadata !{i8* %radixF2}, i64 0, metadata !173) #0, !dbg !172
call void @llvm.dbg.value(metadata !{i8* %streamF3}, i64 0, metadata !174) #0, !dbg !172
%0 = bitcast i8* bitcast (%KLsealed_generic_functionGVKe* @KprintYprintVio to i8*) to %KLgeneric_functionGVKd*, !dbg !175
%1 = getelementptr inbounds %KLgeneric_functionGVKd* %0, i32 0, i32 6, !dbg !175
%2 = load i8** %1, align 4, !dbg !175
%3 = bitcast i8* %2 to %KLengine_nodeGVKg*, !dbg !175
%4 = getelementptr inbounds %KLengine_nodeGVKg* %3, i32 0, i32 3, !dbg !175
%5 = load i8** %4, align 4, !dbg !175
%6 = bitcast i8* %5 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !175
%7 = call %struct.MV %6(i8* %2, i8* bitcast (%KLsealed_generic_functionGVKe* @KprintYprintVio to i8*), i8* %argF1, i8* %streamF3, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !175
ret %struct.MV %7, !dbg !172
}
define fastcc %struct.MV @Kformat_integerYformat_internalsVioMM1I(i8* %argF1, i8* %radixF2, i8* %streamF3, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %argF1}, i64 0, metadata !176) #0, !dbg !177
call void @llvm.dbg.value(metadata !{i8* %radixF2}, i64 0, metadata !178) #0, !dbg !177
call void @llvm.dbg.value(metadata !{i8* %streamF3}, i64 0, metadata !179) #0, !dbg !177
%0 = alloca %KLsimple_object_vectorGVKd.1, align 4, !dbg !177
%1 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 0, !dbg !177
store %KLmm_wrapperGVKi* @KLsimple_object_vectorGVKdW, %KLmm_wrapperGVKi** %1, align 1, !dbg !177
%2 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 1, !dbg !177
store i8* inttoptr (i32 5 to i8*), i8** %2, align 1, !dbg !177
%3 = ptrtoint i8* %argF1 to i32, !dbg !180
%4 = icmp slt i32 %3, 1, !dbg !180
%5 = select i1 %4, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !180
%6 = icmp ne i8* %5, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !180
br i1 %6, label %7, label %127, !dbg !180
; <label>:7 ; preds = %bb.entry
%8 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !181
%9 = getelementptr inbounds %KLgeneric_functionGVKd* %8, i32 0, i32 6, !dbg !181
%10 = load i8** %9, align 4, !dbg !181
%11 = bitcast i8* %10 to %KLengine_nodeGVKg*, !dbg !181
%12 = getelementptr inbounds %KLengine_nodeGVKg* %11, i32 0, i32 3, !dbg !181
%13 = load i8** %12, align 4, !dbg !181
%14 = bitcast i8* %13 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !181
%15 = call %struct.MV %14(i8* %10, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*), i8* %streamF3, i8* inttoptr (i32 182 to i8*)), !dbg !181
%16 = ashr i32 %3, 2, !dbg !182
%17 = ptrtoint i8* %radixF2 to i32, !dbg !182
%18 = ashr i32 %17, 2, !dbg !182
%quotientF56 = sdiv i32 %16, %18, !dbg !182
%remainderF57 = srem i32 %16, %18, !dbg !182
call void @llvm.dbg.value(metadata !{i32 %quotientF56}, i64 0, metadata !183) #0, !dbg !185
call void @llvm.dbg.value(metadata !{i32 %remainderF57}, i64 0, metadata !186) #0, !dbg !188
%19 = shl i32 1, 2, !dbg !188
%20 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %quotientF56, i32 %19) #0, !dbg !188
%21 = extractvalue { i32, i1 } %20, 0, !dbg !188
%22 = extractvalue { i32, i1 } %20, 1, !dbg !188
br i1 %22, label %23, label %24, !dbg !188
; <label>:23 ; preds = %7
call void @llvm.x86.int(i8 4) #1, !dbg !188
unreachable, !dbg !188
; <label>:24 ; preds = %7
%25 = or i32 %21, 1, !dbg !188
%26 = shl i32 1, 2, !dbg !188
%27 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %remainderF57, i32 %26) #0, !dbg !188
%28 = extractvalue { i32, i1 } %27, 0, !dbg !188
%29 = extractvalue { i32, i1 } %27, 1, !dbg !188
br i1 %29, label %30, label %31, !dbg !188
; <label>:30 ; preds = %24
call void @llvm.x86.int(i8 4) #1, !dbg !188
unreachable, !dbg !188
; <label>:31 ; preds = %24
%32 = icmp eq i32 %25, 1, !dbg !189
%33 = select i1 %32, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !189
%34 = icmp ne i8* %33, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !189
br i1 %34, label %35, label %78, !dbg !189
; <label>:35 ; preds = %31
%36 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 0, i32 %28) #0, !dbg !190
%37 = extractvalue { i32, i1 } %36, 0, !dbg !190
%38 = extractvalue { i32, i1 } %36, 1, !dbg !190
br i1 %38, label %39, label %40, !dbg !190
; <label>:39 ; preds = %35
call void @llvm.x86.int(i8 4) #1, !dbg !190
unreachable, !dbg !190
; <label>:40 ; preds = %35
%41 = or i32 %37, 1, !dbg !190
%42 = inttoptr i32 %41 to i8*, !dbg !190
%43 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !190
%44 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !190
%45 = bitcast i8* %44 to %KLbyte_stringGVKd*, !dbg !190
%46 = getelementptr inbounds %KLbyte_stringGVKd* %45, i32 0, i32 1, !dbg !190
%47 = load i8** %46, align 4, !dbg !190
%48 = ptrtoint i8* %47 to i32, !dbg !190
%49 = icmp ult i32 %41, %48, !dbg !190
%50 = select i1 %49, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !190
%51 = icmp ne i8* %50, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !190
br i1 %51, label %52, label %63, !dbg !190
; <label>:52 ; preds = %40
%53 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !190
%54 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !190
%55 = bitcast i8* %54 to %KLbyte_stringGVKd*, !dbg !190
%56 = ashr i32 %41, 2, !dbg !190
%57 = getelementptr inbounds %KLbyte_stringGVKd* %55, i32 0, i32 2, i32 %56, !dbg !190
%58 = load i8* %57, align 1, !dbg !190
%59 = zext i8 %58 to i32, !dbg !190
%60 = shl i32 %59, 2, !dbg !190
%61 = or i32 %60, 2, !dbg !190
%62 = inttoptr i32 %61 to i8*, !dbg !190
br label %68, !dbg !190
; <label>:63 ; preds = %40
%64 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !190
%65 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !190
%66 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %65, i8* %42, i8* undef, i8* undef), !dbg !190
%67 = extractvalue %struct.MV %66, 0, !dbg !190
br label %68, !dbg !190
; <label>:68 ; preds = %63, %52
%69 = phi i8* [ %62, %52 ], [ %67, %63 ], !dbg !190
%70 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !190
%71 = getelementptr inbounds %KLgeneric_functionGVKd* %70, i32 0, i32 6, !dbg !190
%72 = load i8** %71, align 4, !dbg !190
%73 = bitcast i8* %72 to %KLengine_nodeGVKg*, !dbg !190
%74 = getelementptr inbounds %KLengine_nodeGVKg* %73, i32 0, i32 3, !dbg !190
%75 = load i8** %74, align 4, !dbg !190
%76 = bitcast i8* %75 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !190
%77 = call %struct.MV %76(i8* %72, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*), i8* %streamF3, i8* %69), !dbg !190
br label %125, !dbg !190
; <label>:78 ; preds = %31
%79 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 0, i32 %21) #0, !dbg !191
%80 = extractvalue { i32, i1 } %79, 0, !dbg !191
%81 = extractvalue { i32, i1 } %79, 1, !dbg !191
br i1 %81, label %82, label %83, !dbg !191
; <label>:82 ; preds = %78
call void @llvm.x86.int(i8 4) #1, !dbg !191
unreachable, !dbg !191
; <label>:83 ; preds = %78
%84 = or i32 %80, 1, !dbg !191
%85 = inttoptr i32 %84 to i8*, !dbg !191
%86 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 0, i32 %28) #0, !dbg !191
%87 = extractvalue { i32, i1 } %86, 0, !dbg !191
%88 = extractvalue { i32, i1 } %86, 1, !dbg !191
br i1 %88, label %89, label %90, !dbg !191
; <label>:89 ; preds = %83
call void @llvm.x86.int(i8 4) #1, !dbg !191
unreachable, !dbg !191
; <label>:90 ; preds = %83
%91 = or i32 %87, 1, !dbg !191
%92 = inttoptr i32 %91 to i8*, !dbg !191
%93 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !191
%94 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !191
%95 = bitcast i8* %94 to %KLbyte_stringGVKd*, !dbg !191
%96 = getelementptr inbounds %KLbyte_stringGVKd* %95, i32 0, i32 1, !dbg !191
%97 = load i8** %96, align 4, !dbg !191
%98 = ptrtoint i8* %97 to i32, !dbg !191
%99 = icmp ult i32 %91, %98, !dbg !191
%100 = select i1 %99, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !191
%101 = icmp ne i8* %100, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !191
br i1 %101, label %102, label %113, !dbg !191
; <label>:102 ; preds = %90
%103 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !191
%104 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !191
%105 = bitcast i8* %104 to %KLbyte_stringGVKd*, !dbg !191
%106 = ashr i32 %91, 2, !dbg !191
%107 = getelementptr inbounds %KLbyte_stringGVKd* %105, i32 0, i32 2, i32 %106, !dbg !191
%108 = load i8* %107, align 1, !dbg !191
%109 = zext i8 %108 to i32, !dbg !191
%110 = shl i32 %109, 2, !dbg !191
%111 = or i32 %110, 2, !dbg !191
%112 = inttoptr i32 %111 to i8*, !dbg !191
br label %118, !dbg !191
; <label>:113 ; preds = %90
%114 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !191
%115 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !191
%116 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %115, i8* %92, i8* undef, i8* undef), !dbg !191
%117 = extractvalue %struct.MV %116, 0, !dbg !191
br label %118, !dbg !191
; <label>:118 ; preds = %113, %102
%119 = phi i8* [ %112, %102 ], [ %117, %113 ], !dbg !191
%120 = getelementptr inbounds %KLsimple_object_vectorGVKd.1* %0, i32 0, i32 2, i32 0, !dbg !191
store i8* %119, i8** %120, align 4, !dbg !191
%121 = bitcast %KLsimple_object_vectorGVKd.1* %0 to i8*, !dbg !191
%122 = call fastcc %struct.MV @KlistVKdI(i8* %121, i8* undef, i8* undef), !dbg !191
%123 = extractvalue %struct.MV %122, 0, !dbg !191
%124 = call fastcc %struct.MV @KrepeatF42I(i8* %streamF3, i8* %radixF2, i8* %85, i8* %123, i8* undef, i8* undef), !dbg !191
br label %125, !dbg !191
; <label>:125 ; preds = %118, %68
%126 = phi %struct.MV [ %77, %68 ], [ %124, %118 ], !dbg !191
br label %129, !dbg !189
; <label>:127 ; preds = %bb.entry
%128 = call fastcc %struct.MV @KrepeatF42I(i8* %streamF3, i8* %radixF2, i8* %argF1, i8* bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*), i8* undef, i8* undef), !dbg !192
br label %129, !dbg !192
; <label>:129 ; preds = %127, %125
%130 = phi %struct.MV [ %126, %125 ], [ %128, %127 ], !dbg !192
ret %struct.MV %130, !dbg !177
}
define fastcc %struct.MV @Kformat_integerYformat_internalsVioMM2I(i8* %argF1, i8* %radixF2, i8* %streamF3, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %argF1}, i64 0, metadata !193) #0, !dbg !194
call void @llvm.dbg.value(metadata !{i8* %radixF2}, i64 0, metadata !195) #0, !dbg !194
call void @llvm.dbg.value(metadata !{i8* %streamF3}, i64 0, metadata !196) #0, !dbg !194
%0 = ptrtoint i8* %radixF2 to i32, !dbg !197
%1 = icmp eq i32 %0, 41, !dbg !197
%2 = select i1 %1, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !197
%3 = icmp ne i8* %2, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !197
br i1 %3, label %4, label %5, !dbg !197
; <label>:4 ; preds = %bb.entry
br label %7, !dbg !197
; <label>:5 ; preds = %bb.entry
%6 = call fastcc %struct.MV @Kassertion_failureVKiI(i8* bitcast (%KLbyte_stringGVKd.32* @K37 to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* undef, i8* undef), !dbg !197
br label %7, !dbg !197
; <label>:7 ; preds = %5, %4
%8 = bitcast i8* bitcast (%KLsealed_generic_functionGVKe* @KprintYprintVio to i8*) to %KLgeneric_functionGVKd*, !dbg !198
%9 = getelementptr inbounds %KLgeneric_functionGVKd* %8, i32 0, i32 6, !dbg !198
%10 = load i8** %9, align 4, !dbg !198
%11 = bitcast i8* %10 to %KLengine_nodeGVKg*, !dbg !198
%12 = getelementptr inbounds %KLengine_nodeGVKg* %11, i32 0, i32 3, !dbg !198
%13 = load i8** %12, align 4, !dbg !198
%14 = bitcast i8* %13 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !198
%15 = call %struct.MV %14(i8* %10, i8* bitcast (%KLsealed_generic_functionGVKe* @KprintYprintVio to i8*), i8* %argF1, i8* %streamF3, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !198
ret %struct.MV %15, !dbg !194
}
define internal fastcc %struct.MV @KrepeatF42I(i8* %streamF143, i8* %radixF141, i8* %argF1, i8* %digitsF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %streamF143}, i64 0, metadata !199) #0, !dbg !200
call void @llvm.dbg.value(metadata !{i8* %radixF141}, i64 0, metadata !201) #0, !dbg !200
call void @llvm.dbg.value(metadata !{i8* %argF1}, i64 0, metadata !202) #0, !dbg !200
call void @llvm.dbg.value(metadata !{i8* %digitsF2}, i64 0, metadata !203) #0, !dbg !200
br label %0, !dbg !204
; <label>:0 ; preds = %133, %bb.entry
%argF138 = phi i8* [ %argF1, %bb.entry ], [ %47, %133 ], !dbg !204
%digitsF140 = phi i8* [ %digitsF2, %bb.entry ], [ %86, %133 ], !dbg !204
call void @llvm.dbg.value(metadata !{i8* %argF138}, i64 0, metadata !205) #0, !dbg !204
call void @llvm.dbg.value(metadata !{i8* %digitsF140}, i64 0, metadata !207) #0, !dbg !204
%1 = ptrtoint i8* %argF138 to i32, !dbg !209
%2 = and i32 %1, 3, !dbg !209
%3 = icmp eq i32 %2, 1, !dbg !209
br i1 %3, label %6, label %4, !dbg !209
; <label>:4 ; preds = %0
%5 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %argF138, i8* bitcast (%KLclassGVKd* @KLintegerGVKd to i8*), i8* undef, i8* undef), !dbg !209
unreachable, !dbg !209
; <label>:6 ; preds = %0
%7 = ptrtoint i8* %digitsF140 to i32, !dbg !210
%8 = and i32 %7, 3, !dbg !210
switch i32 %8, label %18 [
i32 0, label %9
], !dbg !210
; <label>:9 ; preds = %6
%10 = bitcast i8* %digitsF140 to %KLobjectGVKd*, !dbg !210
%11 = getelementptr inbounds %KLobjectGVKd* %10, i32 0, i32 0, !dbg !210
%12 = load %KLmm_wrapperGVKi** %11, align 4, !dbg !210
%13 = getelementptr inbounds %KLmm_wrapperGVKi* %12, i32 0, i32 2, !dbg !210
%14 = load i8** %13, align 4, !dbg !210
%15 = ptrtoint i8* %14 to i32, !dbg !210
%16 = and i32 %15, 16384, !dbg !210
%17 = icmp ne i32 %16, 0, !dbg !210
br label %18, !dbg !210
; <label>:18 ; preds = %9, %6
%19 = phi i1 [ false, %6 ], [ %17, %9 ], !dbg !210
br i1 %19, label %22, label %20, !dbg !210
; <label>:20 ; preds = %18
%21 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %digitsF140, i8* bitcast (%KLclassGVKd* @KLlistGVKd to i8*), i8* undef, i8* undef), !dbg !210
unreachable, !dbg !210
; <label>:22 ; preds = %18
%23 = ptrtoint i8* %argF138 to i32, !dbg !211
%24 = ashr i32 %23, 2, !dbg !211
%25 = ptrtoint i8* %radixF141 to i32, !dbg !211
%26 = ashr i32 %25, 2, !dbg !211
%27 = sdiv i32 %24, %26, !dbg !211
%28 = srem i32 %24, %26, !dbg !211
%29 = icmp eq i32 %28, 0, !dbg !211
br i1 %29, label %39, label %30, !dbg !211
; <label>:30 ; preds = %22
%31 = icmp slt i32 %26, 0, !dbg !211
br i1 %31, label %32, label %34, !dbg !211
; <label>:32 ; preds = %30
%33 = icmp sgt i32 %28, 0, !dbg !211
br i1 %33, label %36, label %39, !dbg !211
; <label>:34 ; preds = %30
%35 = icmp slt i32 %28, 0, !dbg !211
br i1 %35, label %36, label %39, !dbg !211
; <label>:36 ; preds = %34, %32
%37 = add nsw i32 %27, -1, !dbg !211
%38 = add nsw i32 %28, %26, !dbg !211
br label %39, !dbg !211
; <label>:39 ; preds = %36, %34, %32, %22
%quotientF50 = phi i32 [ %37, %36 ], [ %27, %32 ], [ %27, %34 ], [ %27, %22 ], !dbg !211
%remainderF51 = phi i32 [ %38, %36 ], [ %28, %32 ], [ %28, %34 ], [ 0, %22 ], !dbg !211
call void @llvm.dbg.value(metadata !{i32 %quotientF50}, i64 0, metadata !212) #0, !dbg !214
call void @llvm.dbg.value(metadata !{i32 %remainderF51}, i64 0, metadata !215) #0, !dbg !217
%40 = shl i32 1, 2, !dbg !217
%41 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %quotientF50, i32 %40) #0, !dbg !217
%42 = extractvalue { i32, i1 } %41, 0, !dbg !217
%43 = extractvalue { i32, i1 } %41, 1, !dbg !217
br i1 %43, label %44, label %45, !dbg !217
; <label>:44 ; preds = %39
call void @llvm.x86.int(i8 4) #1, !dbg !217
unreachable, !dbg !217
; <label>:45 ; preds = %39
%46 = or i32 %42, 1, !dbg !217
%47 = inttoptr i32 %46 to i8*, !dbg !217
%48 = shl i32 1, 2, !dbg !217
%49 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %remainderF51, i32 %48) #0, !dbg !217
%50 = extractvalue { i32, i1 } %49, 0, !dbg !217
%51 = extractvalue { i32, i1 } %49, 1, !dbg !217
br i1 %51, label %52, label %53, !dbg !217
; <label>:52 ; preds = %45
call void @llvm.x86.int(i8 4) #1, !dbg !217
unreachable, !dbg !217
; <label>:53 ; preds = %45
%54 = or i32 %50, 1, !dbg !217
%55 = inttoptr i32 %54 to i8*, !dbg !217
%56 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !218
%57 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !218
%58 = bitcast i8* %57 to %KLbyte_stringGVKd*, !dbg !218
%59 = getelementptr inbounds %KLbyte_stringGVKd* %58, i32 0, i32 1, !dbg !218
%60 = load i8** %59, align 4, !dbg !218
%61 = ptrtoint i8* %60 to i32, !dbg !218
%62 = icmp ult i32 %54, %61, !dbg !218
%63 = select i1 %62, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !218
%64 = icmp ne i8* %63, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !218
br i1 %64, label %65, label %76, !dbg !218
; <label>:65 ; preds = %53
%66 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !218
%67 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !218
%68 = bitcast i8* %67 to %KLbyte_stringGVKd*, !dbg !218
%69 = ashr i32 %54, 2, !dbg !218
%70 = getelementptr inbounds %KLbyte_stringGVKd* %68, i32 0, i32 2, i32 %69, !dbg !218
%71 = load i8* %70, align 1, !dbg !218
%72 = zext i8 %71 to i32, !dbg !218
%73 = shl i32 %72, 2, !dbg !218
%74 = or i32 %73, 2, !dbg !218
%75 = inttoptr i32 %74 to i8*, !dbg !218
br label %81, !dbg !218
; <label>:76 ; preds = %53
%77 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @DdigitsYformat_internalsVio to i8*)) #1, !dbg !218
%78 = load i8** @DdigitsYformat_internalsVio, align 4, !dbg !218
%79 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %78, i8* %55, i8* undef, i8* undef), !dbg !218
%80 = extractvalue %struct.MV %79, 0, !dbg !218
br label %81, !dbg !218
; <label>:81 ; preds = %76, %65
%82 = phi i8* [ %75, %65 ], [ %80, %76 ], !dbg !218
%83 = mul i32 3, 4, !dbg !218
%84 = mul i32 0, 4, !dbg !218
%85 = add i32 %83, %84, !dbg !218
%86 = call i8* @primitive_alloc_s2(i32 %85, i8* bitcast (%KLmm_wrapperGVKi* @KLpairGVKdW to i8*), i8* bitcast (%KLunboundGVKe* @KPunboundVKi to i8*), i8* bitcast (%KLunboundGVKe* @KPunboundVKi to i8*)), !dbg !218
%87 = bitcast i8* %86 to %KLlistGVKd*, !dbg !218
%88 = getelementptr inbounds %KLlistGVKd* %87, i32 0, i32 1, !dbg !218
store i8* %82, i8** %88, align 4, !dbg !218
%89 = bitcast i8* %86 to %KLlistGVKd*, !dbg !218
%90 = getelementptr inbounds %KLlistGVKd* %89, i32 0, i32 2, !dbg !218
store i8* %digitsF140, i8** %90, align 4, !dbg !218
%91 = icmp eq i32 %46, 1, !dbg !219
%92 = select i1 %91, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !219
%93 = icmp ne i8* %92, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !219
br i1 %93, label %94, label %133, !dbg !219
; <label>:94 ; preds = %81
br label %95, !dbg !220
; <label>:95 ; preds = %131, %94
%96 = phi i8* [ %86, %94 ], [ %115, %131 ], !dbg !220
%97 = icmp eq i8* %96, bitcast (%KLempty_listGVKd* @KPempty_listVKi to i8*), !dbg !220
%98 = select i1 %97, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !220
%99 = icmp ne i8* %98, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !220
br i1 %99, label %100, label %101, !dbg !220
; <label>:100 ; preds = %95
br label %132, !dbg !220
; <label>:101 ; preds = %95
%102 = bitcast i8* %96 to %KLlistGVKd*, !dbg !220
%103 = getelementptr inbounds %KLlistGVKd* %102, i32 0, i32 1, !dbg !220
%104 = load i8** %103, align 4, !dbg !220
%105 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !221
%106 = getelementptr inbounds %KLgeneric_functionGVKd* %105, i32 0, i32 6, !dbg !221
%107 = load i8** %106, align 4, !dbg !221
%108 = bitcast i8* %107 to %KLengine_nodeGVKg*, !dbg !221
%109 = getelementptr inbounds %KLengine_nodeGVKg* %108, i32 0, i32 3, !dbg !221
%110 = load i8** %109, align 4, !dbg !221
%111 = bitcast i8* %110 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !221
%112 = call %struct.MV %111(i8* %107, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*), i8* %streamF143, i8* %104), !dbg !221
%113 = bitcast i8* %96 to %KLlistGVKd*, !dbg !220
%114 = getelementptr inbounds %KLlistGVKd* %113, i32 0, i32 2, !dbg !220
%115 = load i8** %114, align 4, !dbg !220
%116 = ptrtoint i8* %115 to i32, !dbg !220
%117 = and i32 %116, 3, !dbg !220
switch i32 %117, label %127 [
i32 0, label %118
], !dbg !220
; <label>:118 ; preds = %101
%119 = bitcast i8* %115 to %KLobjectGVKd*, !dbg !220
%120 = getelementptr inbounds %KLobjectGVKd* %119, i32 0, i32 0, !dbg !220
%121 = load %KLmm_wrapperGVKi** %120, align 4, !dbg !220
%122 = getelementptr inbounds %KLmm_wrapperGVKi* %121, i32 0, i32 2, !dbg !220
%123 = load i8** %122, align 4, !dbg !220
%124 = ptrtoint i8* %123 to i32, !dbg !220
%125 = and i32 %124, 16384, !dbg !220
%126 = icmp ne i32 %125, 0, !dbg !220
br label %127, !dbg !220
; <label>:127 ; preds = %118, %101
%128 = phi i1 [ false, %101 ], [ %126, %118 ], !dbg !220
br i1 %128, label %131, label %129, !dbg !220
; <label>:129 ; preds = %127
%130 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %115, i8* bitcast (%KLclassGVKd* @KLlistGVKd to i8*), i8* undef, i8* undef), !dbg !220
unreachable, !dbg !220
; <label>:131 ; preds = %127
br label %95, !dbg !220
; <label>:132 ; preds = %100
br label %134, !dbg !220
; <label>:133 ; preds = %81
br label %0, !dbg !222
; <label>:134 ; preds = %132
%135 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !223
%136 = insertvalue %struct.MV %135, i8 1, 1, !dbg !223
ret %struct.MV %136, !dbg !223
}
define fastcc %struct.MV @Kprint_messageYformatVioMM0I(i8* %objectF1, i8* %streamF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %objectF1}, i64 0, metadata !224) #0, !dbg !225
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !226) #0, !dbg !225
%Pold_valuePF5 = load i8** @Tprint_escapeQTYprintVio, align 1, !dbg !227
%0 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !227
%1 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !227
%2 = icmp ult i32 %1, %0, !dbg !227
%3 = call i1 @llvm.expect.i1(i1 %2, i1 false) #0, !dbg !227
br i1 %2, label %4, label %5, !dbg !227
; <label>:4 ; preds = %bb.entry
call void @primitive_initialize_thread_variables(), !dbg !227
br label %5, !dbg !227
; <label>:5 ; preds = %4, %bb.entry
call void @llvm.dbg.value(metadata !{i8* %Pold_valuePF5}, i64 0, metadata !229) #0, !dbg !227
%6 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !227
%7 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !227
%8 = icmp ult i32 %7, %6, !dbg !227
%9 = call i1 @llvm.expect.i1(i1 %8, i1 false) #0, !dbg !227
br i1 %8, label %10, label %11, !dbg !227
; <label>:10 ; preds = %5
call void @primitive_initialize_thread_variables(), !dbg !227
br label %11, !dbg !227
; <label>:11 ; preds = %10, %5
store i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8** @Tprint_escapeQTYprintVio, align 1, !dbg !227
%12 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*) to %KLgeneric_functionGVKd*, !dbg !230
%13 = getelementptr inbounds %KLgeneric_functionGVKd* %12, i32 0, i32 6, !dbg !230
%14 = load i8** %13, align 4, !dbg !230
%15 = bitcast i8* %14 to %KLengine_nodeGVKg*, !dbg !230
%16 = getelementptr inbounds %KLengine_nodeGVKg* %15, i32 0, i32 3, !dbg !230
%17 = load i8** %16, align 4, !dbg !230
%18 = bitcast i8* %17 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !230
%19 = invoke %struct.MV %18(i8* %14, i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*), i8* %objectF1, i8* %streamF2)
to label %20 unwind label %21, !dbg !230
; <label>:20 ; preds = %11
br label %30, !dbg !227
; <label>:21 ; preds = %11
%22 = landingpad { i8*, i32 } personality i32 (...)* @__opendylan_personality_v0
cleanup, !dbg !227
br label %23, !dbg !227
; <label>:23 ; preds = %21
%24 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !227
%25 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !227
%26 = icmp ult i32 %25, %24, !dbg !227
%27 = call i1 @llvm.expect.i1(i1 %26, i1 false) #0, !dbg !227
br i1 %26, label %28, label %29, !dbg !227
; <label>:28 ; preds = %23
call void @primitive_initialize_thread_variables(), !dbg !227
br label %29, !dbg !227
; <label>:29 ; preds = %28, %23
store i8* %Pold_valuePF5, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !227
resume { i8*, i32 } %22, !dbg !227
; <label>:30 ; preds = %20
%31 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !227
%32 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !227
%33 = icmp ult i32 %32, %31, !dbg !227
%34 = call i1 @llvm.expect.i1(i1 %33, i1 false) #0, !dbg !227
br i1 %33, label %35, label %36, !dbg !227
; <label>:35 ; preds = %30
call void @primitive_initialize_thread_variables(), !dbg !227
br label %36, !dbg !227
; <label>:36 ; preds = %35, %30
store i8* %Pold_valuePF5, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !227
ret %struct.MV %19, !dbg !231
}
define fastcc %struct.MV @Kprint_messageYformatVioMM1I(i8* %objectF1, i8* %streamF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %objectF1}, i64 0, metadata !232) #0, !dbg !233
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !234) #0, !dbg !233
%Pold_valuePF5 = load i8** @Tprint_escapeQTYprintVio, align 1, !dbg !235
%0 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !235
%1 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !235
%2 = icmp ult i32 %1, %0, !dbg !235
%3 = call i1 @llvm.expect.i1(i1 %2, i1 false) #0, !dbg !235
br i1 %2, label %4, label %5, !dbg !235
; <label>:4 ; preds = %bb.entry
call void @primitive_initialize_thread_variables(), !dbg !235
br label %5, !dbg !235
; <label>:5 ; preds = %4, %bb.entry
call void @llvm.dbg.value(metadata !{i8* %Pold_valuePF5}, i64 0, metadata !237) #0, !dbg !235
%6 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !235
%7 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !235
%8 = icmp ult i32 %7, %6, !dbg !235
%9 = call i1 @llvm.expect.i1(i1 %8, i1 false) #0, !dbg !235
br i1 %8, label %10, label %11, !dbg !235
; <label>:10 ; preds = %5
call void @primitive_initialize_thread_variables(), !dbg !235
br label %11, !dbg !235
; <label>:11 ; preds = %10, %5
store i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8** @Tprint_escapeQTYprintVio, align 1, !dbg !235
%12 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*) to %KLgeneric_functionGVKd*, !dbg !238
%13 = getelementptr inbounds %KLgeneric_functionGVKd* %12, i32 0, i32 6, !dbg !238
%14 = load i8** %13, align 4, !dbg !238
%15 = bitcast i8* %14 to %KLengine_nodeGVKg*, !dbg !238
%16 = getelementptr inbounds %KLengine_nodeGVKg* %15, i32 0, i32 3, !dbg !238
%17 = load i8** %16, align 4, !dbg !238
%18 = bitcast i8* %17 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !238
%19 = invoke %struct.MV %18(i8* %14, i8* bitcast (%KLincremental_generic_functionGVKe* @Kprint_objectYprintVio to i8*), i8* %objectF1, i8* %streamF2)
to label %20 unwind label %21, !dbg !238
; <label>:20 ; preds = %11
br label %30, !dbg !235
; <label>:21 ; preds = %11
%22 = landingpad { i8*, i32 } personality i32 (...)* @__opendylan_personality_v0
cleanup, !dbg !235
br label %23, !dbg !235
; <label>:23 ; preds = %21
%24 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !235
%25 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !235
%26 = icmp ult i32 %25, %24, !dbg !235
%27 = call i1 @llvm.expect.i1(i1 %26, i1 false) #0, !dbg !235
br i1 %26, label %28, label %29, !dbg !235
; <label>:28 ; preds = %23
call void @primitive_initialize_thread_variables(), !dbg !235
br label %29, !dbg !235
; <label>:29 ; preds = %28, %23
store i8* %Pold_valuePF5, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !235
resume { i8*, i32 } %22, !dbg !235
; <label>:30 ; preds = %20
%31 = load i32* @Ptlv_initializations_cursor, align 4, !dbg !235
%32 = load i32* @Ptlv_initializations_local_cursor, align 4, !dbg !235
%33 = icmp ult i32 %32, %31, !dbg !235
%34 = call i1 @llvm.expect.i1(i1 %33, i1 false) #0, !dbg !235
br i1 %33, label %35, label %36, !dbg !235
; <label>:35 ; preds = %30
call void @primitive_initialize_thread_variables(), !dbg !235
br label %36, !dbg !235
; <label>:36 ; preds = %35, %30
store i8* %Pold_valuePF5, i8** @Tprint_escapeQTYprintVio, align 1, !dbg !235
ret %struct.MV %19, !dbg !239
}
define fastcc %struct.MV @Kprint_messageYformatVioMM2I(i8* %objectF1, i8* %streamF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %objectF1}, i64 0, metadata !240) #0, !dbg !241
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !242) #0, !dbg !241
%0 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_textYstreamsVio to i8*) to %KLgeneric_functionGVKd*, !dbg !243
%1 = getelementptr inbounds %KLgeneric_functionGVKd* %0, i32 0, i32 6, !dbg !243
%2 = load i8** %1, align 4, !dbg !243
%3 = bitcast i8* %2 to %KLengine_nodeGVKg*, !dbg !243
%4 = getelementptr inbounds %KLengine_nodeGVKg* %3, i32 0, i32 3, !dbg !243
%5 = load i8** %4, align 4, !dbg !243
%6 = bitcast i8* %5 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !243
%7 = call %struct.MV %6(i8* %2, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_textYstreamsVio to i8*), i8* %streamF2, i8* %objectF1, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !243
ret %struct.MV %7, !dbg !241
}
define fastcc %struct.MV @Kprint_messageYformatVioMM3I(i8* %objectF1, i8* %streamF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %objectF1}, i64 0, metadata !244) #0, !dbg !245
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !246) #0, !dbg !245
%0 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !247
%1 = getelementptr inbounds %KLgeneric_functionGVKd* %0, i32 0, i32 6, !dbg !247
%2 = load i8** %1, align 4, !dbg !247
%3 = bitcast i8* %2 to %KLengine_nodeGVKg*, !dbg !247
%4 = getelementptr inbounds %KLengine_nodeGVKg* %3, i32 0, i32 3, !dbg !247
%5 = load i8** %4, align 4, !dbg !247
%6 = bitcast i8* %5 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !247
%7 = call %struct.MV %6(i8* %2, i8* bitcast (%KLincremental_generic_functionGVKe* @Kwrite_elementYstreams_protocolVcommon_dylan to i8*), i8* %streamF2, i8* %objectF1), !dbg !247
ret %struct.MV %7, !dbg !245
}
define fastcc %struct.MV @Kprint_messageYformatVioMM4I(i8* %objectF1, i8* %streamF2, i8* %.next, i8* %.function) {
bb.entry:
call void @llvm.dbg.value(metadata !{i8* %objectF1}, i64 0, metadata !248) #0, !dbg !249
call void @llvm.dbg.value(metadata !{i8* %streamF2}, i64 0, metadata !250) #0, !dbg !249
%0 = bitcast i8* %objectF1 to %KLsymbolGVKd*, !dbg !251
%1 = getelementptr inbounds %KLsymbolGVKd* %0, i32 0, i32 1, !dbg !251
%2 = load i8** %1, align 4, !dbg !251
%3 = ptrtoint i8* %2 to i32, !dbg !251
%4 = and i32 %3, 3, !dbg !251
%5 = icmp eq i32 %4, 0, !dbg !251
br i1 %5, label %6, label %11, !dbg !251
; <label>:6 ; preds = %bb.entry
%7 = bitcast i8* %2 to %KLobjectGVKd*, !dbg !251
%8 = getelementptr inbounds %KLobjectGVKd* %7, i32 0, i32 0, !dbg !251
%9 = load %KLmm_wrapperGVKi** %8, align 4, !dbg !251
%10 = icmp eq %KLmm_wrapperGVKi* %9, @KLbyte_stringGVKdW, !dbg !251
br label %11, !dbg !251
; <label>:11 ; preds = %6, %bb.entry
%12 = phi i1 [ false, %bb.entry ], [ %10, %6 ], !dbg !251
br i1 %12, label %15, label %13, !dbg !251
; <label>:13 ; preds = %11
%14 = tail call fastcc %struct.MV @Ktype_check_errorVKiI(i8* %2, i8* bitcast (%KLclassGVKd* @KLbyte_stringGVKd to i8*), i8* undef, i8* undef), !dbg !251
unreachable, !dbg !251
; <label>:15 ; preds = %11
%16 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*) to %KLgeneric_functionGVKd*, !dbg !251
%17 = getelementptr inbounds %KLgeneric_functionGVKd* %16, i32 0, i32 6, !dbg !251
%18 = load i8** %17, align 4, !dbg !251
%19 = bitcast i8* %18 to %KLengine_nodeGVKg*, !dbg !251
%20 = getelementptr inbounds %KLengine_nodeGVKg* %19, i32 0, i32 3, !dbg !251
%21 = load i8** %20, align 4, !dbg !251
%22 = bitcast i8* %21 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !251
%23 = call %struct.MV %22(i8* %18, i8* bitcast (%KLincremental_generic_functionGVKe* @KwriteYstreams_protocolVcommon_dylan to i8*), i8* %streamF2, i8* %2, i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*)), !dbg !251
ret %struct.MV %23, !dbg !249
}
declare fastcc void @primitive_symbol_fixup(i8*, i32)
define internal void @_Init_io__X_format_for_system() {
bb.entry:
call fastcc void @primitive_symbol_fixup(i8* bitcast ([2 x %struct.heapfixup]* @_Init_io__X_format_fixups to i8*), i32 2)
ret void
}
define internal fastcc %struct.MV @Kchar_classes_initializerF0I(i8* %.next, i8* %.function) {
bb.entry:
%0 = call fastcc %struct.MV @KmakeVKdMM13I(i8* bitcast (%KLclassGVKd* @KLsimple_object_vectorGVKd to i8*), i8* bitcast (%KLsimple_object_vectorGVKd* @KPempty_vectorVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), i8* inttoptr (i32 1025 to i8*), i8* undef, i8* undef), !dbg !252
%1 = extractvalue %struct.MV %0, 0, !dbg !252
store i8* %1, i8** @char_classesYformat_internalsVio, align 1, !dbg !253
%2 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !253
%3 = insertvalue %struct.MV %2, i8 0, 1, !dbg !253
ret %struct.MV %3, !dbg !253
}
define internal fastcc %struct.MV @Ktop_level_initializerF1I(i8* %.next, i8* %.function) {
bb.entry:
br label %0, !dbg !254
; <label>:0 ; preds = %11, %bb.entry
%iF4 = phi i8* [ inttoptr (i32 193 to i8*), %bb.entry ], [ %32, %11 ], !dbg !254
call void @llvm.dbg.value(metadata !{i8* %iF4}, i64 0, metadata !255) #0, !dbg !254
%1 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KLVKd to i8*) to %KLgeneric_functionGVKd*, !dbg !257
%2 = getelementptr inbounds %KLgeneric_functionGVKd* %1, i32 0, i32 6, !dbg !257
%3 = load i8** %2, align 4, !dbg !257
%4 = bitcast i8* %3 to %KLengine_nodeGVKg*, !dbg !257
%5 = getelementptr inbounds %KLengine_nodeGVKg* %4, i32 0, i32 3, !dbg !257
%6 = load i8** %5, align 4, !dbg !257
%7 = bitcast i8* %6 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !257
%8 = call %struct.MV %7(i8* %3, i8* bitcast (%KLincremental_generic_functionGVKe* @KLVKd to i8*), i8* %iF4, i8* inttoptr (i32 233 to i8*)), !dbg !257
%9 = extractvalue %struct.MV %8, 0, !dbg !257
%10 = icmp ne i8* %9, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !257
br i1 %10, label %11, label %33, !dbg !257
; <label>:11 ; preds = %0
%12 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJdigit_ to i8*)) #1, !dbg !258
%13 = load i8** @IKJdigit_, align 4, !dbg !258
%14 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !258
%15 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !258
%16 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @Kelement_setterVKd to i8*) to %KLgeneric_functionGVKd*, !dbg !258
%17 = getelementptr inbounds %KLgeneric_functionGVKd* %16, i32 0, i32 6, !dbg !258
%18 = load i8** %17, align 4, !dbg !258
%19 = bitcast i8* %18 to %KLengine_nodeGVKg*, !dbg !258
%20 = getelementptr inbounds %KLengine_nodeGVKg* %19, i32 0, i32 3, !dbg !258
%21 = load i8** %20, align 4, !dbg !258
%22 = bitcast i8* %21 to %struct.MV (i8*, i8*, i8*, i8*, i8*)*, !dbg !258
%23 = call %struct.MV %22(i8* %18, i8* bitcast (%KLincremental_generic_functionGVKe* @Kelement_setterVKd to i8*), i8* %13, i8* %15, i8* %iF4), !dbg !258
%24 = bitcast i8* bitcast (%KLincremental_generic_functionGVKe* @KAVKd to i8*) to %KLgeneric_functionGVKd*, !dbg !257
%25 = getelementptr inbounds %KLgeneric_functionGVKd* %24, i32 0, i32 6, !dbg !257
%26 = load i8** %25, align 4, !dbg !257
%27 = bitcast i8* %26 to %KLengine_nodeGVKg*, !dbg !257
%28 = getelementptr inbounds %KLengine_nodeGVKg* %27, i32 0, i32 3, !dbg !257
%29 = load i8** %28, align 4, !dbg !257
%30 = bitcast i8* %29 to %struct.MV (i8*, i8*, i8*, i8*)*, !dbg !257
%31 = call %struct.MV %30(i8* %26, i8* bitcast (%KLincremental_generic_functionGVKe* @KAVKd to i8*), i8* %iF4, i8* inttoptr (i32 5 to i8*)), !dbg !257
%32 = extractvalue %struct.MV %31, 0, !dbg !257
br label %0, !dbg !257
; <label>:33 ; preds = %0
br label %34, !dbg !257
; <label>:34 ; preds = %33
%35 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !257
%36 = insertvalue %struct.MV %35, i8 0, 1, !dbg !257
ret %struct.MV %36, !dbg !257
}
define internal fastcc %struct.MV @Ktop_level_initializerF3I(i8* %.next, i8* %.function) {
bb.entry:
%0 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !259
%1 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !259
%2 = bitcast i8* %1 to %KLsimple_object_vectorGVKd*, !dbg !259
%3 = getelementptr inbounds %KLsimple_object_vectorGVKd* %2, i32 0, i32 1, !dbg !259
%4 = load i8** %3, align 4, !dbg !259
%5 = ptrtoint i8* %4 to i32, !dbg !259
%6 = icmp ult i32 181, %5, !dbg !259
%7 = select i1 %6, i8* bitcast (%KLbooleanGVKd* @KPtrueVKi to i8*), i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !259
%8 = icmp ne i8* %7, bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), !dbg !259
br i1 %8, label %9, label %17, !dbg !259
; <label>:9 ; preds = %bb.entry
%10 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @IKJdigit_ to i8*)) #1, !dbg !259
%11 = load i8** @IKJdigit_, align 4, !dbg !259
%12 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !259
%13 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !259
%14 = bitcast i8* %13 to %KLsimple_object_vectorGVKd*, !dbg !259
%15 = ashr i32 181, 2, !dbg !259
%16 = getelementptr inbounds %KLsimple_object_vectorGVKd* %14, i32 0, i32 2, i32 %15, !dbg !259
store i8* %11, i8** %16, align 1, !dbg !259
br label %21, !dbg !259
; <label>:17 ; preds = %bb.entry
%18 = call {}* @llvm.invariant.start(i64 4, i8* nocapture bitcast (i8** @char_classesYformat_internalsVio to i8*)) #1, !dbg !259
%19 = load i8** @char_classesYformat_internalsVio, align 4, !dbg !259
%20 = call fastcc %struct.MV @Kelement_range_errorVKeI(i8* %19, i8* inttoptr (i32 181 to i8*), i8* undef, i8* undef), !dbg !259
br label %21, !dbg !259
; <label>:21 ; preds = %17, %9
%22 = insertvalue %struct.MV undef, i8* bitcast (%KLbooleanGVKd* @KPfalseVKi to i8*), 0, !dbg !259
%23 = insertvalue %struct.MV %22, i8 0, 1, !dbg !259
ret %struct.MV %23, !dbg !259
}
define void @_Init_io__X_format_for_user() {
bb.entry:
%0 = call fastcc %struct.MV @Kchar_classes_initializerF0I(i8* undef, i8* undef)
%1 = call fastcc %struct.MV @Ktop_level_initializerF1I(i8* undef, i8* undef)
%2 = call fastcc %struct.MV @Ktop_level_initializerF3I(i8* undef, i8* undef)
ret void
}
declare fastcc %struct.MV @KPresolve_symbolVKiI(i8*, i8*, i8*)
declare fastcc %struct.MV @Kunbound_instance_slotVKeI(i8*, i8*, i8*, i8*)
declare fastcc %struct.MV @Ktype_check_errorVKiI(i8*, i8*, i8*, i8*)
attributes #0 = { nounwind readnone }
attributes #1 = { nounwind }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!39, !40}
!0 = metadata !{i32 786449, metadata !1, i32 32, metadata !"Open Dylan 1.0", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/opt/opendylan-current/sources/io//format.dylan] [lang 0x20]
!1 = metadata !{metadata !"format.dylan", metadata !"/opt/opendylan-current/sources/io/"}
!2 = metadata !{}
!3 = metadata !{metadata !4, metadata !18, metadata !19, metadata !22, metadata !23, metadata !24, metadata !25, metadata !26, metadata !29, metadata !30, metadata !31, metadata !32, metadata !33, metadata !34, metadata !37, metadata !38}
!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"format-to-string", metadata !"format-to-string", metadata !"Kformat_to_stringYformatVioMM0I", i32 46, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kformat_to_stringYformatVioMM0I, null, null, metadata !2, i32 46} ; [ DW_TAG_subprogram ] [line 46] [def] [format-to-string]
!5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/opt/opendylan-current/sources/io//format.dylan]
!6 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!7 = metadata !{metadata !8, metadata !15, metadata !15, metadata !15, metadata !15}
!8 = metadata !{i32 786451, metadata !9, null, metadata !"MV", i32 0, i64 8, i64 4, i32 0, i32 0, null, metadata !10, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [MV] [line 0, size 8, align 4, offset 0] [def] [from ]
!9 = metadata !{metadata !"dummy-raw-struct.dylan", metadata !""}
!10 = metadata !{metadata !11, metadata !13}
!11 = metadata !{i32 786445, metadata !9, metadata !8, metadata !"F0", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !12} ; [ DW_TAG_member ] [F0] [line 0, size 32, align 32, offset 0] [from <raw-pointer>]
!12 = metadata !{i32 786447, null, null, metadata !"<raw-pointer>", i32 0, i64 32, i64 32, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ] [<raw-pointer>] [line 0, size 32, align 32, offset 0] [from ]
!13 = metadata !{i32 786445, metadata !9, metadata !8, metadata !"F1", i32 0, i64 8, i64 8, i64 4, i32 0, metadata !14} ; [ DW_TAG_member ] [F1] [line 0, size 8, align 8, offset 4] [from <raw-byte>]
!14 = metadata !{i32 786468, null, null, metadata !"<raw-byte>", i32 0, i64 8, i64 8, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [<raw-byte>] [line 0, size 8, align 8, offset 0, enc DW_ATE_signed]
!15 = metadata !{i32 786454, metadata !16, null, metadata !"dylan_value", i32 0, i64 0, i64 0, i64 0, i32 0, metadata !17} ; [ DW_TAG_typedef ] [dylan_value] [line 0, size 0, align 0, offset 0] [from ]
!16 = metadata !{metadata !"dummy-objects.dylan", metadata !""}
!17 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from ]
!18 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"parse-integer", metadata !"parse-integer", metadata !"Kparse_integerYformat_internalsVioMM0I", i32 236, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kparse_integerYformat_internalsVioMM0I, null, null, metadata !2, i32 236} ; [ DW_TAG_subprogram ] [line 236] [def] [parse-integer]
!19 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"do-dispatch", metadata !"do-dispatch", metadata !"Kdo_dispatchYformat_internalsVioMM0I", i32 194, metadata !20, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kdo_dispatchYformat_internalsVioMM0I, null, null, metadata !2, i32 194} ; [ DW_TAG_subprogram ] [line 194] [def] [do-dispatch]
!20 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !21, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!21 = metadata !{metadata !8, metadata !15, metadata !15, metadata !15, metadata !15, metadata !15}
!22 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"format", metadata !"format", metadata !"KformatYformatVioMM0I", i32 120, metadata !20, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*)* @KformatYformatVioMM0I, null, null, metadata !2, i32 120} ; [ DW_TAG_subprogram ] [line 120] [def] [format]
!23 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"format-integer", metadata !"format-integer", metadata !"Kformat_integerYformat_internalsVioMM0I", i32 265, metadata !20, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM0I, null, null, metadata !2, i32 265} ; [ DW_TAG_subprogram ] [line 265] [def] [format-integer]
!24 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"format-integer", metadata !"format-integer", metadata !"Kformat_integerYformat_internalsVioMM1I", i32 271, metadata !20, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM1I, null, null, metadata !2, i32 271} ; [ DW_TAG_subprogram ] [line 271] [def] [format-integer]
!25 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"format-integer", metadata !"format-integer", metadata !"Kformat_integerYformat_internalsVioMM2I", i32 308, metadata !20, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*)* @Kformat_integerYformat_internalsVioMM2I, null, null, metadata !2, i32 308} ; [ DW_TAG_subprogram ] [line 308] [def] [format-integer]
!26 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"", metadata !"", metadata !"KrepeatF42I", i32 0, metadata !27, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*, i8*, i8*)* @KrepeatF42I, null, null, metadata !2, i32 0} ; [ DW_TAG_subprogram ] [line 0] [def]
!27 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !28, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!28 = metadata !{metadata !8, metadata !15, metadata !15, metadata !15, metadata !15, metadata !15, metadata !15}
!29 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"print-message", metadata !"print-message", metadata !"Kprint_messageYformatVioMM0I", i32 67, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM0I, null, null, metadata !2, i32 67} ; [ DW_TAG_subprogram ] [line 67] [def] [print-message]
!30 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"print-message", metadata !"print-message", metadata !"Kprint_messageYformatVioMM1I", i32 74, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM1I, null, null, metadata !2, i32 74} ; [ DW_TAG_subprogram ] [line 74] [def] [print-message]
!31 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"print-message", metadata !"print-message", metadata !"Kprint_messageYformatVioMM2I", i32 85, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM2I, null, null, metadata !2, i32 85} ; [ DW_TAG_subprogram ] [line 85] [def] [print-message]
!32 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"print-message", metadata !"print-message", metadata !"Kprint_messageYformatVioMM3I", i32 90, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM3I, null, null, metadata !2, i32 90} ; [ DW_TAG_subprogram ] [line 90] [def] [print-message]
!33 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"print-message", metadata !"print-message", metadata !"Kprint_messageYformatVioMM4I", i32 95, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*, i8*, i8*)* @Kprint_messageYformatVioMM4I, null, null, metadata !2, i32 95} ; [ DW_TAG_subprogram ] [line 95] [def] [print-message]
!34 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"", metadata !"", metadata !"Kchar_classes_initializerF0I", i32 0, metadata !35, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*)* @Kchar_classes_initializerF0I, null, null, metadata !2, i32 0} ; [ DW_TAG_subprogram ] [line 0] [def]
!35 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !36, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!36 = metadata !{metadata !8, metadata !15, metadata !15}
!37 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"", metadata !"", metadata !"Ktop_level_initializerF1I", i32 0, metadata !35, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*)* @Ktop_level_initializerF1I, null, null, metadata !2, i32 0} ; [ DW_TAG_subprogram ] [line 0] [def]
!38 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"", metadata !"", metadata !"Ktop_level_initializerF3I", i32 0, metadata !35, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, %struct.MV (i8*, i8*)* @Ktop_level_initializerF3I, null, null, metadata !2, i32 0} ; [ DW_TAG_subprogram ] [line 0] [def]
!39 = metadata !{i32 2, metadata !"Debug Info Version", i32 1}
!40 = metadata !{i32 2, metadata !"Dwarf Version", i32 2}
!41 = metadata !{i32 786689, metadata !4, metadata !"control-string", metadata !5, i32 16777262, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [control-string] [line 46]
!42 = metadata !{i32 46, i32 0, metadata !4, null}
!43 = metadata !{i32 786689, metadata !4, metadata !"args", metadata !5, i32 33554478, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [args] [line 46]
!44 = metadata !{i32 52, i32 0, metadata !4, null}
!45 = metadata !{i32 51, i32 0, metadata !4, null}
!46 = metadata !{i32 53, i32 0, metadata !4, null}
!47 = metadata !{i32 54, i32 0, metadata !4, null}
!48 = metadata !{i32 786689, metadata !18, metadata !"input", metadata !5, i32 16777452, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [input] [line 236]
!49 = metadata !{i32 236, i32 0, metadata !18, null}
!50 = metadata !{i32 786689, metadata !18, metadata !"index", metadata !5, i32 33554668, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [index] [line 236]
!51 = metadata !{i32 238, i32 0, metadata !52, null}
!52 = metadata !{i32 786443, metadata !1, metadata !18, i32 238, i32 0, i32 0, i32 4023} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!53 = metadata !{i32 786688, metadata !52, metadata !"result", metadata !5, i32 238, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [result] [line 238]
!54 = metadata !{i32 239, i32 0, metadata !52, null}
!55 = metadata !{i32 240, i32 0, metadata !52, null}
!56 = metadata !{i32 786688, metadata !57, metadata !"negative?", metadata !5, i32 239, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [negative?] [line 239]
!57 = metadata !{i32 786443, metadata !1, metadata !52, i32 239, i32 0, i32 0, i32 4024} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!58 = metadata !{i32 242, i32 0, metadata !57, null}
!59 = metadata !{i32 245, i32 0, metadata !57, null}
!60 = metadata !{i32 786688, metadata !61, metadata !"i", metadata !5, i32 242, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 242]
!61 = metadata !{i32 786443, metadata !1, metadata !57, i32 242, i32 0, i32 0, i32 4025} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!62 = metadata !{i32 786468, null, null, metadata !"<raw-machine-word>", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [<raw-machine-word>] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
!63 = metadata !{i32 786688, metadata !64, metadata !"len", metadata !5, i32 242, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [len] [line 242]
!64 = metadata !{i32 786443, metadata !1, metadata !61, i32 242, i32 0, i32 0, i32 4026} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!65 = metadata !{i32 786688, metadata !66, metadata !"ascii-zero", metadata !5, i32 242, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [ascii-zero] [line 242]
!66 = metadata !{i32 786443, metadata !1, metadata !64, i32 242, i32 0, i32 0, i32 4027} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!67 = metadata !{i32 245, i32 0, metadata !61, null}
!68 = metadata !{i32 247, i32 0, metadata !66, null}
!69 = metadata !{i32 245, i32 0, metadata !66, null}
!70 = metadata !{i32 246, i32 0, metadata !66, null}
!71 = metadata !{i32 242, i32 0, metadata !66, null}
!72 = metadata !{i32 249, i32 0, metadata !66, null}
!73 = metadata !{i32 250, i32 0, metadata !66, null}
!74 = metadata !{i32 252, i32 0, metadata !66, null}
!75 = metadata !{i32 236, i32 0, metadata !57, null}
!76 = metadata !{i32 786689, metadata !19, metadata !"char", metadata !5, i32 16777410, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [char] [line 194]
!77 = metadata !{i32 194, i32 0, metadata !19, null}
!78 = metadata !{i32 786689, metadata !19, metadata !"stream", metadata !5, i32 33554626, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 194]
!79 = metadata !{i32 786689, metadata !19, metadata !"arg", metadata !5, i32 50331842, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [arg] [line 194]
!80 = metadata !{i32 196, i32 0, metadata !19, null}
!81 = metadata !{i32 786688, metadata !82, metadata !"_tmp", metadata !5, i32 196, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [_tmp] [line 196]
!82 = metadata !{i32 786443, metadata !1, metadata !19, i32 196, i32 0, i32 0, i32 4028} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!83 = metadata !{i32 196, i32 0, metadata !82, null}
!84 = metadata !{i32 786688, metadata !85, metadata !"_tmp", metadata !5, i32 196, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [_tmp] [line 196]
!85 = metadata !{i32 786443, metadata !1, metadata !82, i32 196, i32 0, i32 0, i32 4029} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!86 = metadata !{i32 196, i32 0, metadata !85, null}
!87 = metadata !{i32 198, i32 0, metadata !85, null}
!88 = metadata !{i32 199, i32 0, metadata !85, null}
!89 = metadata !{i32 201, i32 0, metadata !90, null}
!90 = metadata !{i32 786443, metadata !1, metadata !85, i32 201, i32 0, i32 0, i32 4030} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!91 = metadata !{i32 786688, metadata !90, metadata !"%old-value%", metadata !5, i32 201, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [%old-value%] [line 201]
!92 = metadata !{i32 202, i32 0, metadata !90, null}
!93 = metadata !{i32 204, i32 0, metadata !90, null}
!94 = metadata !{i32 206, i32 0, metadata !85, null}
!95 = metadata !{i32 207, i32 0, metadata !85, null}
!96 = metadata !{i32 209, i32 0, metadata !85, null}
!97 = metadata !{i32 210, i32 0, metadata !85, null}
!98 = metadata !{i32 212, i32 0, metadata !85, null}
!99 = metadata !{i32 213, i32 0, metadata !85, null}
!100 = metadata !{i32 215, i32 0, metadata !85, null}
!101 = metadata !{i32 216, i32 0, metadata !85, null}
!102 = metadata !{i32 218, i32 0, metadata !85, null}
!103 = metadata !{i32 219, i32 0, metadata !85, null}
!104 = metadata !{i32 221, i32 0, metadata !85, null}
!105 = metadata !{i32 224, i32 0, metadata !85, null}
!106 = metadata !{i32 222, i32 0, metadata !85, null}
!107 = metadata !{i32 194, i32 0, metadata !85, null}
!108 = metadata !{i32 786689, metadata !22, metadata !"stream", metadata !5, i32 16777336, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 120]
!109 = metadata !{i32 120, i32 0, metadata !22, null}
!110 = metadata !{i32 786689, metadata !22, metadata !"control-string", metadata !5, i32 33554552, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [control-string] [line 120]
!111 = metadata !{i32 786689, metadata !22, metadata !"args", metadata !5, i32 50331768, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [args] [line 120]
!112 = metadata !{i32 123, i32 0, metadata !22, null}
!113 = metadata !{i32 125, i32 0, metadata !114, null}
!114 = metadata !{i32 786443, metadata !1, metadata !22, i32 125, i32 0, i32 0, i32 4031} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!115 = metadata !{i32 786688, metadata !114, metadata !"start", metadata !5, i32 125, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [start] [line 125]
!116 = metadata !{i32 126, i32 0, metadata !117, null}
!117 = metadata !{i32 786443, metadata !1, metadata !114, i32 126, i32 0, i32 0, i32 4032} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!118 = metadata !{i32 786688, metadata !117, metadata !"arg-i", metadata !5, i32 126, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [arg-i] [line 126]
!119 = metadata !{i32 127, i32 0, metadata !117, null}
!120 = metadata !{i32 129, i32 0, metadata !117, null}
!121 = metadata !{i32 131, i32 0, metadata !117, null}
!122 = metadata !{i32 786688, metadata !123, metadata !"i", metadata !5, i32 129, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 129]
!123 = metadata !{i32 786443, metadata !1, metadata !117, i32 129, i32 0, i32 0, i32 4033} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!124 = metadata !{i32 131, i32 0, metadata !123, null}
!125 = metadata !{i32 130, i32 0, metadata !123, null}
!126 = metadata !{i32 786688, metadata !127, metadata !"_tmp", metadata !5, i32 130, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [_tmp] [line 130]
!127 = metadata !{i32 786443, metadata !1, metadata !123, i32 130, i32 0, i32 0, i32 4034} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!128 = metadata !{i32 130, i32 0, metadata !127, null}
!129 = metadata !{i32 132, i32 0, metadata !127, null}
!130 = metadata !{i32 129, i32 0, metadata !127, null}
!131 = metadata !{i32 134, i32 0, metadata !127, null}
!132 = metadata !{i32 135, i32 0, metadata !127, null}
!133 = metadata !{i32 137, i32 0, metadata !127, null}
!134 = metadata !{i32 124, i32 0, metadata !127, null}
!135 = metadata !{i32 140, i32 0, metadata !127, null}
!136 = metadata !{i32 143, i32 0, metadata !117, null}
!137 = metadata !{i32 144, i32 0, metadata !117, null}
!138 = metadata !{i32 148, i32 0, metadata !117, null}
!139 = metadata !{i32 149, i32 0, metadata !117, null}
!140 = metadata !{i32 786688, metadata !141, metadata !"field", metadata !5, i32 147, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [field] [line 147]
!141 = metadata !{i32 786443, metadata !1, metadata !117, i32 147, i32 0, i32 0, i32 4035} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!142 = metadata !{i32 147, i32 0, metadata !141, null}
!143 = metadata !{i32 786688, metadata !144, metadata !"field-spec-end", metadata !5, i32 147, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [field-spec-end] [line 147]
!144 = metadata !{i32 786443, metadata !1, metadata !141, i32 147, i32 0, i32 0, i32 4036} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!145 = metadata !{i32 147, i32 0, metadata !144, null}
!146 = metadata !{i32 151, i32 0, metadata !144, null}
!147 = metadata !{i32 156, i32 0, metadata !144, null}
!148 = metadata !{i32 155, i32 0, metadata !144, null}
!149 = metadata !{i32 158, i32 0, metadata !144, null}
!150 = metadata !{i32 159, i32 0, metadata !144, null}
!151 = metadata !{i32 160, i32 0, metadata !144, null}
!152 = metadata !{i32 162, i32 0, metadata !144, null}
!153 = metadata !{i32 158, i32 0, metadata !154, null}
!154 = metadata !{i32 786443, metadata !1, metadata !144, i32 158, i32 0, i32 0, i32 4037} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!155 = metadata !{i32 163, i32 0, metadata !154, null}
!156 = metadata !{i32 164, i32 0, metadata !154, null}
!157 = metadata !{i32 166, i32 0, metadata !154, null}
!158 = metadata !{i32 165, i32 0, metadata !154, null}
!159 = metadata !{i32 167, i32 0, metadata !154, null}
!160 = metadata !{i32 168, i32 0, metadata !154, null}
!161 = metadata !{i32 169, i32 0, metadata !154, null}
!162 = metadata !{i32 170, i32 0, metadata !154, null}
!163 = metadata !{i32 172, i32 0, metadata !154, null}
!164 = metadata !{i32 173, i32 0, metadata !154, null}
!165 = metadata !{i32 175, i32 0, metadata !154, null}
!166 = metadata !{i32 177, i32 0, metadata !144, null}
!167 = metadata !{i32 178, i32 0, metadata !144, null}
!168 = metadata !{i32 179, i32 0, metadata !144, null}
!169 = metadata !{i32 181, i32 0, metadata !144, null}
!170 = metadata !{i32 124, i32 0, metadata !117, null}
!171 = metadata !{i32 786689, metadata !23, metadata !"arg", metadata !5, i32 16777481, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [arg] [line 265]
!172 = metadata !{i32 265, i32 0, metadata !23, null}
!173 = metadata !{i32 786689, metadata !23, metadata !"radix", metadata !5, i32 33554697, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [radix] [line 265]
!174 = metadata !{i32 786689, metadata !23, metadata !"stream", metadata !5, i32 50331913, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 265]
!175 = metadata !{i32 268, i32 0, metadata !23, null}
!176 = metadata !{i32 786689, metadata !24, metadata !"arg", metadata !5, i32 16777487, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [arg] [line 271]
!177 = metadata !{i32 271, i32 0, metadata !24, null}
!178 = metadata !{i32 786689, metadata !24, metadata !"radix", metadata !5, i32 33554703, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [radix] [line 271]
!179 = metadata !{i32 786689, metadata !24, metadata !"stream", metadata !5, i32 50331919, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 271]
!180 = metadata !{i32 289, i32 0, metadata !24, null}
!181 = metadata !{i32 290, i32 0, metadata !24, null}
!182 = metadata !{i32 297, i32 0, metadata !24, null}
!183 = metadata !{i32 786688, metadata !184, metadata !"quotient", metadata !5, i32 297, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [quotient] [line 297]
!184 = metadata !{i32 786443, metadata !1, metadata !24, i32 297, i32 0, i32 0, i32 4038} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!185 = metadata !{i32 297, i32 0, metadata !184, null}
!186 = metadata !{i32 786688, metadata !187, metadata !"remainder", metadata !5, i32 297, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [remainder] [line 297]
!187 = metadata !{i32 786443, metadata !1, metadata !184, i32 297, i32 0, i32 0, i32 4039} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!188 = metadata !{i32 297, i32 0, metadata !187, null}
!189 = metadata !{i32 298, i32 0, metadata !187, null}
!190 = metadata !{i32 301, i32 0, metadata !187, null}
!191 = metadata !{i32 299, i32 0, metadata !187, null}
!192 = metadata !{i32 304, i32 0, metadata !24, null}
!193 = metadata !{i32 786689, metadata !25, metadata !"arg", metadata !5, i32 16777524, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [arg] [line 308]
!194 = metadata !{i32 308, i32 0, metadata !25, null}
!195 = metadata !{i32 786689, metadata !25, metadata !"radix", metadata !5, i32 33554740, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [radix] [line 308]
!196 = metadata !{i32 786689, metadata !25, metadata !"stream", metadata !5, i32 50331956, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 308]
!197 = metadata !{i32 312, i32 0, metadata !25, null}
!198 = metadata !{i32 313, i32 0, metadata !25, null}
!199 = metadata !{i32 786689, metadata !26, metadata !"stream", metadata !5, i32 16777216, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 0]
!200 = metadata !{i32 0, i32 0, metadata !26, null}
!201 = metadata !{i32 786689, metadata !26, metadata !"radix", metadata !5, i32 33554432, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [radix] [line 0]
!202 = metadata !{i32 786689, metadata !26, metadata !"arg", metadata !5, i32 50331648, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [arg] [line 0]
!203 = metadata !{i32 786689, metadata !26, metadata !"digits", metadata !5, i32 67108864, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [digits] [line 0]
!204 = metadata !{i32 285, i32 0, metadata !26, null}
!205 = metadata !{i32 786688, metadata !206, metadata !"arg", metadata !5, i32 285, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [arg] [line 285]
!206 = metadata !{i32 786443, metadata !1, metadata !26, i32 285, i32 0, i32 0, i32 4040} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!207 = metadata !{i32 786688, metadata !208, metadata !"digits", metadata !5, i32 285, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [digits] [line 285]
!208 = metadata !{i32 786443, metadata !1, metadata !206, i32 285, i32 0, i32 0, i32 4041} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!209 = metadata !{i32 285, i32 0, metadata !206, null}
!210 = metadata !{i32 285, i32 0, metadata !208, null}
!211 = metadata !{i32 278, i32 0, metadata !208, null}
!212 = metadata !{i32 786688, metadata !213, metadata !"quotient", metadata !5, i32 278, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [quotient] [line 278]
!213 = metadata !{i32 786443, metadata !1, metadata !208, i32 278, i32 0, i32 0, i32 4042} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!214 = metadata !{i32 278, i32 0, metadata !213, null}
!215 = metadata !{i32 786688, metadata !216, metadata !"remainder", metadata !5, i32 278, metadata !62, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [remainder] [line 278]
!216 = metadata !{i32 786443, metadata !1, metadata !213, i32 278, i32 0, i32 0, i32 4043} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!217 = metadata !{i32 278, i32 0, metadata !216, null}
!218 = metadata !{i32 279, i32 0, metadata !216, null}
!219 = metadata !{i32 280, i32 0, metadata !216, null}
!220 = metadata !{i32 281, i32 0, metadata !216, null}
!221 = metadata !{i32 282, i32 0, metadata !216, null}
!222 = metadata !{i32 285, i32 0, metadata !216, null}
!223 = metadata !{i32 276, i32 0, metadata !26, null}
!224 = metadata !{i32 786689, metadata !29, metadata !"object", metadata !5, i32 16777283, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [object] [line 67]
!225 = metadata !{i32 67, i32 0, metadata !29, null}
!226 = metadata !{i32 786689, metadata !29, metadata !"stream", metadata !5, i32 33554499, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 67]
!227 = metadata !{i32 69, i32 0, metadata !228, null}
!228 = metadata !{i32 786443, metadata !1, metadata !29, i32 69, i32 0, i32 0, i32 4044} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!229 = metadata !{i32 786688, metadata !228, metadata !"%old-value%", metadata !5, i32 69, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [%old-value%] [line 69]
!230 = metadata !{i32 70, i32 0, metadata !228, null}
!231 = metadata !{i32 67, i32 0, metadata !228, null}
!232 = metadata !{i32 786689, metadata !30, metadata !"object", metadata !5, i32 16777290, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [object] [line 74]
!233 = metadata !{i32 74, i32 0, metadata !30, null}
!234 = metadata !{i32 786689, metadata !30, metadata !"stream", metadata !5, i32 33554506, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 74]
!235 = metadata !{i32 80, i32 0, metadata !236, null}
!236 = metadata !{i32 786443, metadata !1, metadata !30, i32 80, i32 0, i32 0, i32 4045} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!237 = metadata !{i32 786688, metadata !236, metadata !"%old-value%", metadata !5, i32 80, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [%old-value%] [line 80]
!238 = metadata !{i32 81, i32 0, metadata !236, null}
!239 = metadata !{i32 74, i32 0, metadata !236, null}
!240 = metadata !{i32 786689, metadata !31, metadata !"object", metadata !5, i32 16777301, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [object] [line 85]
!241 = metadata !{i32 85, i32 0, metadata !31, null}
!242 = metadata !{i32 786689, metadata !31, metadata !"stream", metadata !5, i32 33554517, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 85]
!243 = metadata !{i32 87, i32 0, metadata !31, null}
!244 = metadata !{i32 786689, metadata !32, metadata !"object", metadata !5, i32 16777306, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [object] [line 90]
!245 = metadata !{i32 90, i32 0, metadata !32, null}
!246 = metadata !{i32 786689, metadata !32, metadata !"stream", metadata !5, i32 33554522, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 90]
!247 = metadata !{i32 92, i32 0, metadata !32, null}
!248 = metadata !{i32 786689, metadata !33, metadata !"object", metadata !5, i32 16777311, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [object] [line 95]
!249 = metadata !{i32 95, i32 0, metadata !33, null}
!250 = metadata !{i32 786689, metadata !33, metadata !"stream", metadata !5, i32 33554527, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [stream] [line 95]
!251 = metadata !{i32 97, i32 0, metadata !33, null}
!252 = metadata !{i32 108, i32 0, metadata !34, null}
!253 = metadata !{i32 107, i32 0, metadata !34, null}
!254 = metadata !{i32 110, i32 0, metadata !37, null}
!255 = metadata !{i32 786688, metadata !256, metadata !"i", metadata !5, i32 110, metadata !15, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 110]
!256 = metadata !{i32 786443, metadata !1, metadata !37, i32 110, i32 0, i32 0, i32 4046} ; [ DW_TAG_lexical_block ] [/opt/opendylan-current/sources/io//format.dylan]
!257 = metadata !{i32 110, i32 0, metadata !256, null}
!258 = metadata !{i32 111, i32 0, metadata !256, null}
!259 = metadata !{i32 113, i32 0, metadata !38, null}
.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 10
.section __DWARF,__debug_info,regular,debug
Lsection_info:
.section __DWARF,__debug_abbrev,regular,debug
Lsection_abbrev:
.section __DWARF,__debug_line,regular,debug
Lsection_line:
.section __DWARF,__debug_str,regular,debug
Linfo_string:
.section __DWARF,__debug_loc,regular,debug
Lsection_debug_loc:
.section __DWARF,__debug_ranges,regular,debug
Ldebug_range:
.section __TEXT,__text,regular,pure_instructions
.globl _Kformat_to_stringYformatVioMM0I
.align 4, 0x90
_Kformat_to_stringYformatVioMM0I: ## @Kformat_to_stringYformatVioMM0I
Lfunc_begin0:
.file 1 "format.dylan"
.loc 1 46 0 ## format.dylan:46:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp0:
.cfi_def_cfa_offset 8
Ltmp1:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp2:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $76, %esp
Ltmp3:
.cfi_offset %esi, -20
Ltmp4:
.cfi_offset %edi, -16
Ltmp5:
.cfi_offset %ebx, -12
movl %edx, -48(%ebp) ## 4-byte Spill
##DEBUG_VALUE: format-to-string:args <- [EBP+-48]
movl %ecx, -44(%ebp) ## 4-byte Spill
##DEBUG_VALUE: format-to-string:control-string <- [EBP+-44]
calll L0$pb
L0$pb:
popl %ebx
Ltmp6:
##DEBUG_VALUE: format-to-string:control-string <- ECX
##DEBUG_VALUE: format-to-string:args <- EDX
.loc 1 46 0 prologue_end ## format.dylan:46:0
movl L_KLsimple_object_vectorGVKdW$non_lazy_ptr-L0$pb(%ebx), %eax
movl %eax, -40(%ebp)
movl $17, -36(%ebp)
.loc 1 52 0 ## format.dylan:52:0
movl $129, 4(%esp)
movl $130, (%esp)
movl L_KLbyte_stringGVKd$non_lazy_ptr-L0$pb(%ebx), %ecx
Ltmp7:
movl %ecx, -52(%ebp) ## 4-byte Spill
movl L_KPempty_vectorVKi$non_lazy_ptr-L0$pb(%ebx), %edi
movl %edi, %edx
Ltmp8:
calll _KmakeVKdMM33I
.loc 1 51 0 ## format.dylan:51:0
movl _IKJcontents_-L0$pb(%ebx), %ecx
movl %ecx, -32(%ebp)
movl %eax, -28(%ebp)
movl L_KJdirection_$non_lazy_ptr-L0$pb(%ebx), %ecx
movl %ecx, -24(%ebp)
movl L_KJoutput_$non_lazy_ptr-L0$pb(%ebx), %ecx
movl %ecx, -20(%ebp)
movl %eax, 12(%esp)
movl L_KPfalseVKi$non_lazy_ptr-L0$pb(%ebx), %eax
movl %eax, 8(%esp)
movl L_KLobjectGVKd$non_lazy_ptr-L0$pb(%ebx), %eax
movl %eax, 4(%esp)
movl L_KPunboundVKi$non_lazy_ptr-L0$pb(%ebx), %eax
movl %eax, (%esp)
movl L_KLbyte_string_streamGYstreamsVio$non_lazy_ptr-L0$pb(%ebx), %ecx
leal -40(%ebp), %edx
calll _KLbyte_string_streamGZ32ZconstructorYstreams_internalsVioMM0I
movl %eax, %esi
.loc 1 53 0 ## format.dylan:53:0
movl -48(%ebp), %eax ## 4-byte Reload
movl %eax, (%esp)
movl %esi, %ecx
movl -44(%ebp), %edx ## 4-byte Reload
Ltmp9:
##DEBUG_VALUE: format-to-string:control-string <- EDX
calll _KformatYformatVioMM0I
Ltmp10:
.loc 1 54 0 ## format.dylan:54:0
movl L_KPtrueVKi$non_lazy_ptr-L0$pb(%ebx), %eax
movl %eax, (%esp)
movl %esi, %ecx
movl %edi, %edx
calll _Kstream_contentsYstreams_protocolVcommon_dylanMioM0I
.loc 1 46 0 ## format.dylan:46:0
testb $3, %al
jne LBB0_3
## BB#1:
Ltmp11:
##DEBUG_VALUE: format-to-string:args <- EDX
movl (%eax), %ecx
cmpl L_KLbyte_stringGVKdW$non_lazy_ptr-L0$pb(%ebx), %ecx
jne LBB0_3
Ltmp12:
## BB#2:
addl $76, %esp
Ltmp13:
##DEBUG_VALUE: format-to-string:args <- EDX
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
Ltmp14:
LBB0_3: ## %.critedge
##DEBUG_VALUE: format-to-string:args <- EDX
movl %eax, %ecx
movl -52(%ebp), %edx ## 4-byte Reload
Ltmp15:
calll _Ktype_check_errorVKiI
Ltmp16:
Lfunc_end0:
.cfi_endproc
.globl _Kparse_integerYformat_internalsVioMM0I
.align 4, 0x90
_Kparse_integerYformat_internalsVioMM0I: ## @Kparse_integerYformat_internalsVioMM0I
Lfunc_begin1:
.loc 1 236 0 ## format.dylan:236:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp17:
.cfi_def_cfa_offset 8
Ltmp18:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp19:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $44, %esp
Ltmp20:
.cfi_offset %esi, -20
Ltmp21:
.cfi_offset %edi, -16
Ltmp22:
.cfi_offset %ebx, -12
movl %edx, %esi
##DEBUG_VALUE: parse-integer:index <- ESI
movl %ecx, %edx
##DEBUG_VALUE: parse-integer:input <- EDX
movl %edx, -24(%ebp) ## 4-byte Spill
calll L1$pb
L1$pb:
popl %ebx
Ltmp23:
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: parse-integer:index <- EDX
.loc 1 239 0 prologue_end ## format.dylan:239:0
movl 4(%edx), %eax
movl %eax, -16(%ebp) ## 4-byte Spill
cmpl %esi, %eax
jbe LBB1_2
Ltmp24:
## BB#1:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl %esi, %eax
sarl $2, %eax
movzbl 8(%edx,%eax), %eax
jmp LBB1_3
Ltmp25:
LBB1_2:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl %edx, %ecx
Ltmp26:
movl %edx, %edi
movl %esi, %edx
Ltmp27:
calll _Kelement_range_errorVKeI
movl %edi, %edx
shrl $2, %eax
LBB1_3:
Ltmp28:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
imull $4, %eax
jo LBB1_33
Ltmp29:
## BB#4:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
orl $1, %eax
cmpl $181, %eax
jne LBB1_5
Ltmp30:
## BB#6:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl %ebx, -20(%ebp) ## 4-byte Spill
.loc 1 240 0 ## format.dylan:240:0
addl $4, %esi
jo LBB1_33
Ltmp31:
## BB#7:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl %esi, -28(%ebp) ## 4-byte Spill
jmp LBB1_8
Ltmp32:
LBB1_5:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl L_KPfalseVKi$non_lazy_ptr-L1$pb(%ebx), %eax
movl %eax, -28(%ebp) ## 4-byte Spill
movl %ebx, -20(%ebp) ## 4-byte Spill
Ltmp33:
LBB1_8:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl %esi, -32(%ebp) ## 4-byte Spill
movl $1, %edi
Ltmp34:
##DEBUG_VALUE: result <- EDI
.align 4, 0x90
LBB1_9: ## =>This Inner Loop Header: Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
.loc 1 245 0 ## format.dylan:245:0
cmpl -16(%ebp), %esi ## 4-byte Folded Reload
je LBB1_26
Ltmp35:
## BB#10: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
.loc 1 246 0 ## format.dylan:246:0
jae LBB1_12
Ltmp36:
## BB#11: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
movl %esi, %eax
sarl $2, %eax
movzbl 8(%edx,%eax), %eax
jmp LBB1_13
Ltmp37:
.align 4, 0x90
LBB1_12: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
movl %edx, %ecx
Ltmp38:
movl %esi, %edx
Ltmp39:
calll _Kelement_range_errorVKeI
shrl $2, %eax
Ltmp40:
LBB1_13: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
imull $4, %eax, %edx
Ltmp41:
jo LBB1_33
Ltmp42:
## BB#14: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
orl $1, %edx
Ltmp43:
leal -1(%edx), %eax
cmpl $1021, %eax ## imm = 0x3FD
jae LBB1_34
Ltmp44:
## BB#15: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
movl -20(%ebp), %ebx ## 4-byte Reload
movl _char_classesYformat_internalsVio-L1$pb(%ebx), %ecx
Ltmp45:
movl L_Kunsupplied_objectVKi$non_lazy_ptr-L1$pb(%ebx), %eax
movl %eax, 4(%esp)
movl L_KPempty_vectorVKi$non_lazy_ptr-L1$pb(%ebx), %eax
movl %eax, (%esp)
calll _KelementVKdMM3I
Ltmp46:
cmpl _IKJdigit_-L1$pb(%ebx), %eax
jne LBB1_26
Ltmp47:
## BB#16: ## %.thread
## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
.loc 1 247 0 ## format.dylan:247:0
xorl $1, %edi
imull $10, %edi
jo LBB1_35
Ltmp48:
## BB#17: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
orl $1, %edi
cmpl -16(%ebp), %esi ## 4-byte Folded Reload
movl -24(%ebp), %edx ## 4-byte Reload
Ltmp49:
jae LBB1_19
Ltmp50:
## BB#18: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
movl %esi, %eax
sarl $2, %eax
movzbl 8(%edx,%eax), %eax
jmp LBB1_20
Ltmp51:
.align 4, 0x90
LBB1_19: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
movl %edx, %ecx
Ltmp52:
movl %edx, %ebx
movl %esi, %edx
Ltmp53:
calll _Kelement_range_errorVKeI
movl %ebx, %edx
shrl $2, %eax
Ltmp54:
LBB1_20: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
imull $4, %eax, %ecx
Ltmp55:
jo LBB1_35
Ltmp56:
## BB#21: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
orl $1, %ecx
Ltmp57:
leal -1(%ecx), %eax
cmpl $1021, %eax ## imm = 0x3FD
jae LBB1_36
Ltmp58:
## BB#22: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
subl $192, %ecx
Ltmp59:
jo LBB1_37
Ltmp60:
## BB#23: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
andl $-4, %ecx
Ltmp61:
addl %ecx, %edi
jo LBB1_37
Ltmp62:
## BB#24: ## in Loop: Header=BB1_9 Depth=1
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: i <- ESI
.loc 1 242 0 ## format.dylan:242:0
addl $4, %esi
Ltmp63:
jno LBB1_9
Ltmp64:
## BB#25:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
int $4
Ltmp65:
LBB1_26: ## %.thread9
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 249 0 ## format.dylan:249:0
cmpl $1, %edi
je LBB1_27
Ltmp66:
## BB#28:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
##DEBUG_VALUE: negative? <- [EBP+-28]
.loc 1 252 0 ## format.dylan:252:0
movl -20(%ebp), %eax ## 4-byte Reload
movl -28(%ebp), %ecx ## 4-byte Reload
Ltmp67:
cmpl L_KPfalseVKi$non_lazy_ptr-L1$pb(%eax), %ecx
je LBB1_31
Ltmp68:
## BB#29:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
xorl $1, %edi
negl %edi
jo LBB1_37
Ltmp69:
## BB#30:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
orl $1, %edi
Ltmp70:
LBB1_31:
movl -20(%ebp), %ecx ## 4-byte Reload
jmp LBB1_32
LBB1_27:
Ltmp71:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
movl -20(%ebp), %ecx ## 4-byte Reload
Ltmp72:
movl L_KPfalseVKi$non_lazy_ptr-L1$pb(%ecx), %edi
movl -32(%ebp), %esi ## 4-byte Reload
Ltmp73:
LBB1_32:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 236 0 ## format.dylan:236:0
movl _Pteb@TLVP-L1$pb(%ecx), %eax
calll *(%eax)
movl %esi, 40(%eax)
movb $2, %dl
Ltmp74:
movl %edi, %eax
addl $44, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
Ltmp75:
LBB1_37:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 252 0 ## format.dylan:252:0
int $4
Ltmp76:
LBB1_35:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 247 0 ## format.dylan:247:0
int $4
Ltmp77:
LBB1_33:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 246 0 ## format.dylan:246:0
int $4
Ltmp78:
LBB1_34: ## %.critedge
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
movl -20(%ebp), %eax ## 4-byte Reload
movl L_KLbyteGVKe$non_lazy_ptr-L1$pb(%eax), %eax
movl %edx, %ecx
Ltmp79:
movl %eax, %edx
Ltmp80:
calll _Ktype_check_errorVKiI
LBB1_36: ## %.critedge2
Ltmp81:
##DEBUG_VALUE: parse-integer:index <- EDX
##DEBUG_VALUE: parse-integer:input <- ECX
##DEBUG_VALUE: ascii-zero <- 193
.loc 1 247 0 ## format.dylan:247:0
movl -20(%ebp), %eax ## 4-byte Reload
movl L_KLbyteGVKe$non_lazy_ptr-L1$pb(%eax), %edx
Ltmp82:
calll _Ktype_check_errorVKiI
Ltmp83:
Lfunc_end1:
.cfi_endproc
.globl _Kdo_dispatchYformat_internalsVioMM0I
.align 4, 0x90
_Kdo_dispatchYformat_internalsVioMM0I: ## @Kdo_dispatchYformat_internalsVioMM0I
Lfunc_begin2:
.loc 1 194 0 ## format.dylan:194:0
.cfi_startproc
.cfi_personality 155, L___opendylan_personality_v0$non_lazy_ptr
Leh_func_begin2:
.cfi_lsda 16, Lexception2
## BB#0: ## %bb.entry
pushl %ebp
Ltmp87:
.cfi_def_cfa_offset 8
Ltmp88:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp89:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $60, %esp
Ltmp90:
.cfi_offset %esi, -20
Ltmp91:
.cfi_offset %edi, -16
Ltmp92:
.cfi_offset %ebx, -12
movl %edx, %esi
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:stream <- ESI
calll L2$pb
L2$pb:
popl %ebx
Ltmp93:
##DEBUG_VALUE: do-dispatch:stream <- EDX
movl 8(%ebp), %edi
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 194 0 prologue_end ## format.dylan:194:0
Ltmp94:
movl L_KLsimple_object_vectorGVKdW$non_lazy_ptr-L2$pb(%ebx), %eax
movl %eax, -24(%ebp)
movl $5, -20(%ebp)
movl %eax, -40(%ebp)
movl $5, -36(%ebp)
.loc 1 196 0 ## format.dylan:196:0
cmpl $462, %ecx ## imm = 0x1CE
je LBB2_30
Ltmp95:
## BB#1:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $245, %ecx
jg LBB2_5
Ltmp96:
## BB#2:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
cmpl $150, %ecx
jne LBB2_34
Ltmp97:
## BB#3:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
.loc 1 221 0 ## format.dylan:221:0
movl L_Kwrite_elementYstreams_protocolVcommon_dylan$non_lazy_ptr-L2$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp98:
movl %esi, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
movl $150, 12(%esp)
calll *12(%ecx)
Ltmp99:
movb $1, %dl
movl L_KPfalseVKi$non_lazy_ptr-L2$pb(%ebx), %edi
jmp LBB2_4
LBB2_5:
Ltmp100:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $481, %ecx ## imm = 0x1E1
jg LBB2_44
Ltmp101:
## BB#6:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $265, %ecx ## imm = 0x109
jg LBB2_16
Ltmp102:
## BB#7:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $246, %ecx
jne LBB2_34
Ltmp103:
## BB#8:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
##DEBUG_VALUE: do-dispatch:arg <- undef
.loc 1 201 0 ## format.dylan:201:0
movl _Tprint_escapeQTYprintVio@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp104:
##DEBUG_VALUE: %old-value% <- [EBP+-48]
movl %eax, -48(%ebp) ## 4-byte Spill
movl L_Ptlv_initializations_cursor$non_lazy_ptr-L2$pb(%ebx), %eax
movl %eax, -44(%ebp) ## 4-byte Spill
movl (%eax), %edi
movl _Ptlv_initializations_local_cursor@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl (%eax), %eax
cmpl %edi, %eax
jae LBB2_10
Ltmp105:
## BB#9:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- undef
##DEBUG_VALUE: %old-value% <- [EBP+-48]
calll _primitive_initialize_thread_variables
movl -44(%ebp), %eax ## 4-byte Reload
movl (%eax), %edi
movl _Ptlv_initializations_local_cursor@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp106:
LBB2_10:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- undef
##DEBUG_VALUE: %old-value% <- [EBP+-48]
cmpl %edi, %eax
jae LBB2_12
Ltmp107:
## BB#11:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- undef
##DEBUG_VALUE: %old-value% <- [EBP+-48]
calll _primitive_initialize_thread_variables
Ltmp108:
LBB2_12:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- undef
##DEBUG_VALUE: %old-value% <- [EBP+-48]
movl L_KPtrueVKi$non_lazy_ptr-L2$pb(%ebx), %edi
movl _Tprint_escapeQTYprintVio@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl %edi, (%eax)
.loc 1 202 0 ## format.dylan:202:0
movl L_Kprint_objectYprintVio$non_lazy_ptr-L2$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp109:
movl 12(%ecx), %edx
Ltmp110:
Ltmp84:
movl %esi, 12(%esp)
movl 8(%ebp), %esi
movl %esi, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *%edx
Ltmp85:
## BB#13:
Ltmp111:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
.loc 1 201 0 ## format.dylan:201:0
movl _Ptlv_initializations_local_cursor@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl (%eax), %eax
movl -44(%ebp), %ecx ## 4-byte Reload
Ltmp112:
cmpl (%ecx), %eax
jae LBB2_15
Ltmp113:
## BB#14:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
calll _primitive_initialize_thread_variables
Ltmp114:
LBB2_15:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
movl _Tprint_escapeQTYprintVio@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl -48(%ebp), %ecx ## 4-byte Reload
Ltmp115:
movl %ecx, (%eax)
movb $1, %dl
Ltmp116:
jmp LBB2_4
Ltmp117:
LBB2_44:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $482, %ecx ## imm = 0x1E2
jne LBB2_34
jmp LBB2_45
Ltmp118:
LBB2_16:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $445, %ecx ## imm = 0x1BD
jg LBB2_42
Ltmp119:
## BB#17:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $437, %ecx ## imm = 0x1B5
jg LBB2_46
Ltmp120:
## BB#18:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $269, %ecx ## imm = 0x10D
jg LBB2_21
Ltmp121:
## BB#19:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $266, %ecx ## imm = 0x10A
jne LBB2_34
jmp LBB2_20
Ltmp122:
LBB2_42:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $446, %ecx ## imm = 0x1BE
jne LBB2_34
jmp LBB2_43
Ltmp123:
LBB2_46:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $438, %ecx ## imm = 0x1B6
jne LBB2_34
jmp LBB2_47
Ltmp124:
LBB2_21:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $309, %ecx ## imm = 0x135
jg LBB2_24
Ltmp125:
## BB#22:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $270, %ecx ## imm = 0x10E
je LBB2_30
Ltmp126:
## BB#23:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $274, %ecx ## imm = 0x112
jne LBB2_34
jmp LBB2_38
Ltmp127:
LBB2_24:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $317, %ecx ## imm = 0x13D
jg LBB2_26
Ltmp128:
## BB#25:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $310, %ecx ## imm = 0x136
jne LBB2_34
Ltmp129:
LBB2_47: ## %.thread27
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 218 0 ## format.dylan:218:0
movl %esi, -16(%ebp)
leal -24(%ebp), %ecx
Ltmp130:
calll _KlistVKdI
Ltmp131:
movl L_KapplyVKd$non_lazy_ptr-L2$pb(%ebx), %ecx
movl %eax, 12(%esp)
movl %edi, 8(%esp)
movl %ecx, (%esp)
movl $2, 4(%esp)
calll *4(%ecx)
jmp LBB2_31
Ltmp132:
LBB2_26:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $333, %ecx ## imm = 0x14D
jg LBB2_28
Ltmp133:
## BB#27:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $318, %ecx ## imm = 0x13E
jne LBB2_34
Ltmp134:
LBB2_43: ## %.thread19
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 212 0 ## format.dylan:212:0
leal _K24-L2$pb(%ebx), %eax
movl %esi, 16(%esp)
movl %edi, 8(%esp)
leal _Kformat_integerYformat_internalsVio-L2$pb(%ebx), %ecx
Ltmp135:
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $33, 12(%esp)
calll *(_K24-L2$pb)+12(%ebx)
Ltmp136:
jmp LBB2_31
Ltmp137:
LBB2_28:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $353, %ecx ## imm = 0x161
jg LBB2_32
Ltmp138:
## BB#29:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $334, %ecx ## imm = 0x14E
jne LBB2_34
jmp LBB2_30
Ltmp139:
LBB2_32:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $393, %ecx ## imm = 0x189
jg LBB2_35
Ltmp140:
## BB#33:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $354, %ecx ## imm = 0x162
jne LBB2_34
Ltmp141:
LBB2_45: ## %.thread23
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 215 0 ## format.dylan:215:0
leal _K25-L2$pb(%ebx), %eax
movl %esi, 16(%esp)
movl %edi, 8(%esp)
leal _Kformat_integerYformat_internalsVio-L2$pb(%ebx), %ecx
Ltmp142:
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $65, 12(%esp)
calll *(_K25-L2$pb)+12(%ebx)
Ltmp143:
jmp LBB2_31
Ltmp144:
LBB2_35:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $394, %ecx ## imm = 0x18A
je LBB2_20
Ltmp145:
## BB#36:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $398, %ecx ## imm = 0x18E
jne LBB2_37
Ltmp146:
LBB2_30: ## %.thread7
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 198 0 ## format.dylan:198:0
movl (_Kprint_messageYformatVio-L2$pb)+24(%ebx), %eax
leal _Kprint_messageYformatVio-L2$pb(%ebx), %ecx
Ltmp147:
movl %esi, 12(%esp)
movl %edi, 8(%esp)
movl %ecx, 4(%esp)
movl %eax, (%esp)
calll *12(%eax)
Ltmp148:
LBB2_31:
movb $1, %dl
movl L_KPtrueVKi$non_lazy_ptr-L2$pb(%ebx), %edi
jmp LBB2_4
LBB2_20: ## %.thread15
Ltmp149:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 209 0 ## format.dylan:209:0
leal _K23-L2$pb(%ebx), %eax
movl %esi, 16(%esp)
movl %edi, 8(%esp)
leal _Kformat_integerYformat_internalsVio-L2$pb(%ebx), %ecx
Ltmp150:
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $9, 12(%esp)
calll *(_K23-L2$pb)+12(%ebx)
Ltmp151:
jmp LBB2_31
Ltmp152:
LBB2_37:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
cmpl $402, %ecx ## imm = 0x192
jne LBB2_34
Ltmp153:
LBB2_38: ## %.thread11
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: do-dispatch:arg <- EDI
.loc 1 206 0 ## format.dylan:206:0
leal _K21-L2$pb(%ebx), %eax
movl %esi, 16(%esp)
movl %edi, 8(%esp)
leal _Kformat_integerYformat_internalsVio-L2$pb(%ebx), %ecx
Ltmp154:
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $41, 12(%esp)
calll *(_K21-L2$pb)+12(%ebx)
Ltmp155:
jmp LBB2_31
Ltmp156:
LBB2_34: ## %.thread28
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
.loc 1 224 0 ## format.dylan:224:0
movl %ecx, -32(%ebp)
leal _K26-L2$pb(%ebx), %ecx
Ltmp157:
leal -40(%ebp), %edx
Ltmp158:
calll _KerrorVKdMM1I
movl %eax, %edi
LBB2_4:
Ltmp159:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
.loc 1 194 0 ## format.dylan:194:0
movl %edi, %eax
addl $60, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
Ltmp160:
LBB2_39:
Ltmp86:
Ltmp161:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
movl %eax, %esi
.loc 1 201 0 ## format.dylan:201:0
Ltmp162:
movl _Ptlv_initializations_local_cursor@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl (%eax), %eax
movl -44(%ebp), %ecx ## 4-byte Reload
Ltmp163:
cmpl (%ecx), %eax
jae LBB2_41
Ltmp164:
## BB#40:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
calll _primitive_initialize_thread_variables
Ltmp165:
LBB2_41:
##DEBUG_VALUE: do-dispatch:stream <- EDX
##DEBUG_VALUE: do-dispatch:char <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-48]
movl _Tprint_escapeQTYprintVio@TLVP-L2$pb(%ebx), %eax
calll *(%eax)
movl -48(%ebp), %ecx ## 4-byte Reload
Ltmp166:
movl %ecx, (%eax)
movl %esi, (%esp)
calll __Unwind_Resume
Ltmp167:
Lfunc_end2:
.cfi_endproc
Leh_func_end2:
.section __TEXT,__gcc_except_tab
.align 2
GCC_except_table2:
Lexception2:
.byte 255 ## @LPStart Encoding = omit
.byte 155 ## @TType Encoding = indirect pcrel sdata4
.byte 41 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 39 ## Call site table length
Lset0 = Leh_func_begin2-Leh_func_begin2 ## >> Call Site 1 <<
.long Lset0
Lset1 = Ltmp84-Leh_func_begin2 ## Call between Leh_func_begin2 and Ltmp84
.long Lset1
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
Lset2 = Ltmp84-Leh_func_begin2 ## >> Call Site 2 <<
.long Lset2
Lset3 = Ltmp85-Ltmp84 ## Call between Ltmp84 and Ltmp85
.long Lset3
Lset4 = Ltmp86-Leh_func_begin2 ## jumps to Ltmp86
.long Lset4
.byte 0 ## On action: cleanup
Lset5 = Ltmp85-Leh_func_begin2 ## >> Call Site 3 <<
.long Lset5
Lset6 = Leh_func_end2-Ltmp85 ## Call between Ltmp85 and Leh_func_end2
.long Lset6
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
.align 2
.section __TEXT,__text,regular,pure_instructions
.globl _KformatYformatVioMM0I
.align 4, 0x90
_KformatYformatVioMM0I: ## @KformatYformatVioMM0I
Lfunc_begin3:
.loc 1 120 0 ## format.dylan:120:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp168:
.cfi_def_cfa_offset 8
Ltmp169:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp170:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $140, %esp
Ltmp171:
.cfi_offset %esi, -20
Ltmp172:
.cfi_offset %edi, -16
Ltmp173:
.cfi_offset %ebx, -12
##DEBUG_VALUE: format:control-string <- EDX
movl %edx, -68(%ebp) ## 4-byte Spill
movl %ecx, -80(%ebp) ## 4-byte Spill
##DEBUG_VALUE: format:stream <- [EBP+-80]
calll L3$pb
L3$pb:
popl %ebx
Ltmp174:
##DEBUG_VALUE: format:stream <- ECX
.loc 1 120 0 prologue_end ## format.dylan:120:0
movl %ebx, -76(%ebp) ## 4-byte Spill
movl L_KLsimple_object_vectorGVKdW$non_lazy_ptr-L3$pb(%ebx), %eax
movl %eax, -40(%ebp)
movl $17, -36(%ebp)
movl %eax, -64(%ebp)
movl $17, -60(%ebp)
.loc 1 123 0 ## format.dylan:123:0
movl 4(%edx), %edi
.loc 1 127 0 ## format.dylan:127:0
Ltmp175:
movl %edi, -84(%ebp) ## 4-byte Spill
cmpl $2, %edi
jl LBB3_56
Ltmp176:
## BB#1: ## %.lr.ph.lr.ph
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl $1, -88(%ebp) ## 4-byte Folded Spill
.loc 1 158 0 ## format.dylan:158:0
Ltmp177:
leal _Kdo_dispatchYformat_internalsVioMM0-L3$pb(%ebx), %eax
movl %eax, -92(%ebp) ## 4-byte Spill
movl $1, %eax
Ltmp178:
.align 4, 0x90
LBB3_2: ## =>This Loop Header: Depth=1
## Child Loop BB3_3 Depth 2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %eax, -72(%ebp) ## 4-byte Spill
.loc 1 129 0 ## format.dylan:129:0
movl %eax, %esi
Ltmp179:
.align 4, 0x90
LBB3_3: ## Parent Loop BB3_2 Depth=1
## => This Inner Loop Header: Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movb $1, %bl
.loc 1 130 0 ## format.dylan:130:0
Ltmp180:
cmpl %edi, %esi
je LBB3_4
Ltmp181:
## BB#5: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 131 0 ## format.dylan:131:0
jae LBB3_7
Ltmp182:
## BB#6: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %esi, %eax
sarl $2, %eax
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp183:
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %eax
jmp LBB3_8
Ltmp184:
.align 4, 0x90
LBB3_7: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp185:
movl %esi, %edx
Ltmp186:
calll _Kelement_range_errorVKeI
LBB3_8: ## in Loop: Header=BB3_3 Depth=2
Ltmp187:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
cmpl $150, %eax
je LBB3_9
Ltmp188:
## BB#15: ## %.thread
## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 132 0 ## format.dylan:132:0
cmpl %edi, %esi
jae LBB3_17
Ltmp189:
## BB#16: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %esi, %eax
sarl $2, %eax
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp190:
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %eax
jmp LBB3_18
Ltmp191:
.align 4, 0x90
LBB3_17: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp192:
movl %esi, %edx
Ltmp193:
calll _Kelement_range_errorVKeI
LBB3_18: ## in Loop: Header=BB3_3 Depth=2
Ltmp194:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
cmpl $42, %eax
je LBB3_9
Ltmp195:
## BB#19: ## in Loop: Header=BB3_3 Depth=2
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 129 0 ## format.dylan:129:0
addl $4, %esi
jno LBB3_3
jmp LBB3_20
Ltmp196:
.align 4, 0x90
LBB3_9: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
xorl %ebx, %ebx
movl %esi, %eax
jmp LBB3_10
Ltmp197:
.align 4, 0x90
LBB3_4: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %edi, %eax
Ltmp198:
LBB3_10: ## %.thread3
## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -72(%ebp), %edi ## 4-byte Reload
.loc 1 134 0 ## format.dylan:134:0
cmpl %edi, %eax
je LBB3_12
Ltmp199:
## BB#11: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -76(%ebp), %edx ## 4-byte Reload
Ltmp200:
.loc 1 135 0 ## format.dylan:135:0
movl L_KJstart_$non_lazy_ptr-L3$pb(%edx), %ecx
Ltmp201:
movl %ecx, -32(%ebp)
movl %edi, -28(%ebp)
movl L_KJend_$non_lazy_ptr-L3$pb(%edx), %ecx
movl %ecx, -24(%ebp)
movl %eax, -20(%ebp)
movl L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr-L3$pb(%edx), %eax
movl 24(%eax), %ecx
leal -40(%ebp), %edx
movl %edx, 16(%esp)
movl -68(%ebp), %edx ## 4-byte Reload
movl %edx, 12(%esp)
movl -80(%ebp), %edx ## 4-byte Reload
movl %edx, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
LBB3_12: ## in Loop: Header=BB3_2 Depth=1
Ltmp202:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 137 0 ## format.dylan:137:0
testb %bl, %bl
movl -76(%ebp), %ebx ## 4-byte Reload
movl -84(%ebp), %edi ## 4-byte Reload
jne LBB3_56
Ltmp203:
## BB#13: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: i <- ESI
.loc 1 140 0 ## format.dylan:140:0
addl $4, %esi
Ltmp204:
jo LBB3_14
Ltmp205:
## BB#21: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 143 0 ## format.dylan:143:0
movl %esi, %edx
Ltmp206:
subl $4, %edx
jo LBB3_57
Ltmp207:
## BB#22: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
cmpl %edi, %edx
jae LBB3_24
Ltmp208:
## BB#23: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
sarl $2, %edx
Ltmp209:
movl -68(%ebp), %eax ## 4-byte Reload
movzbl 8(%eax,%edx), %eax
leal 2(,%eax,4), %eax
jmp LBB3_25
Ltmp210:
.align 4, 0x90
LBB3_24: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp211:
calll _Kelement_range_errorVKeI
Ltmp212:
LBB3_25: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
cmpl $42, %eax
jne LBB3_27
Ltmp213:
## BB#26: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 144 0 ## format.dylan:144:0
movl L_Knew_lineYstreamsVio$non_lazy_ptr-L3$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp214:
movl -80(%ebp), %edx ## 4-byte Reload
Ltmp215:
movl %edx, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
.loc 1 127 0 ## format.dylan:127:0
cmpl %edi, %esi
movl %esi, %eax
jl LBB3_2
jmp LBB3_56
LBB3_27: ## in Loop: Header=BB3_2 Depth=1
Ltmp216:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 148 0 ## format.dylan:148:0
cmpl %edi, %esi
jae LBB3_29
Ltmp217:
## BB#28: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %esi, %eax
sarl $2, %eax
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp218:
movzbl 8(%ecx,%eax), %eax
jmp LBB3_30
Ltmp219:
LBB3_29: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp220:
movl %esi, %edx
Ltmp221:
calll _Kelement_range_errorVKeI
shrl $2, %eax
LBB3_30: ## in Loop: Header=BB3_2 Depth=1
Ltmp222:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
imull $4, %eax, %edx
Ltmp223:
jo LBB3_57
Ltmp224:
## BB#31: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
orl $1, %edx
Ltmp225:
leal -1(%edx), %eax
cmpl $1021, %eax ## imm = 0x3FD
jae LBB3_58
Ltmp226:
## BB#32: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl _char_classesYformat_internalsVio-L3$pb(%ebx), %ecx
Ltmp227:
movl L_Kunsupplied_objectVKi$non_lazy_ptr-L3$pb(%ebx), %eax
movl %eax, 4(%esp)
movl L_KPempty_vectorVKi$non_lazy_ptr-L3$pb(%ebx), %eax
movl %eax, -72(%ebp) ## 4-byte Spill
movl %eax, (%esp)
calll _KelementVKdMM3I
Ltmp228:
cmpl _IKJdigit_-L3$pb(%ebx), %eax
jne LBB3_48
## BB#33: ## in Loop: Header=BB3_2 Depth=1
Ltmp229:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 149 0 ## format.dylan:149:0
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp230:
movl %esi, %edx
Ltmp231:
calll _Kparse_integerYformat_internalsVioMM0I
movl %eax, -96(%ebp) ## 4-byte Spill
.loc 1 148 0 ## format.dylan:148:0
movl _Pteb@TLVP-L3$pb(%ebx), %eax
calll *(%eax)
movl -96(%ebp), %ecx ## 4-byte Reload
.loc 1 151 0 ## format.dylan:151:0
Ltmp232:
cmpl L_KPfalseVKi$non_lazy_ptr-L3$pb(%ebx), %ecx
je LBB3_48
Ltmp233:
## BB#34: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 148 0 ## format.dylan:148:0
movl 40(%eax), %eax
Ltmp234:
##DEBUG_VALUE: field-spec-end <- undef
.loc 1 156 0 ## format.dylan:156:0
movl %eax, -108(%ebp) ## 4-byte Spill
Ltmp235:
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl $321, 4(%esp) ## imm = 0x141
movl $130, (%esp)
movl L_KLbyte_stringGVKd$non_lazy_ptr-L3$pb(%ebx), %ecx
Ltmp236:
movl %ecx, -116(%ebp) ## 4-byte Spill
movl -72(%ebp), %edx ## 4-byte Reload
Ltmp237:
calll _KmakeVKdMM33I
.loc 1 155 0 ## format.dylan:155:0
movl _IKJcontents_-L3$pb(%ebx), %ecx
movl %ecx, -56(%ebp)
movl %eax, -52(%ebp)
movl L_KJdirection_$non_lazy_ptr-L3$pb(%ebx), %ecx
movl %ecx, -48(%ebp)
movl L_KJoutput_$non_lazy_ptr-L3$pb(%ebx), %ecx
movl %ecx, -44(%ebp)
movl %eax, 12(%esp)
movl %ebx, %esi
movl L_KPfalseVKi$non_lazy_ptr-L3$pb(%esi), %eax
movl %eax, -100(%ebp) ## 4-byte Spill
movl %eax, 8(%esp)
movl L_KLobjectGVKd$non_lazy_ptr-L3$pb(%esi), %eax
movl %eax, 4(%esp)
movl L_KPunboundVKi$non_lazy_ptr-L3$pb(%esi), %eax
movl %eax, (%esp)
movl L_KLbyte_string_streamGYstreamsVio$non_lazy_ptr-L3$pb(%esi), %ecx
leal -64(%ebp), %edx
calll _KLbyte_string_streamGZ32ZconstructorYstreams_internalsVioMM0I
movl %eax, -104(%ebp) ## 4-byte Spill
.loc 1 158 0 ## format.dylan:158:0
movl L_KelementVKd$non_lazy_ptr-L3$pb(%esi), %eax
movl 24(%eax), %ecx
movl -72(%ebp), %ebx ## 4-byte Reload
movl %ebx, 16(%esp)
movl -108(%ebp), %edx ## 4-byte Reload
movl %edx, 12(%esp)
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl -68(%ebp), %edx ## 4-byte Reload
movl %edx, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
movl %eax, -112(%ebp) ## 4-byte Spill
.loc 1 159 0 ## format.dylan:159:0
movl -100(%ebp), %eax ## 4-byte Reload
movl %eax, 4(%esp)
movl %ebx, (%esp)
movl 8(%ebp), %ecx
movl -88(%ebp), %ebx ## 4-byte Reload
movl %ebx, %edx
calll _KelementVKdMM3I
.loc 1 158 0 ## format.dylan:158:0
movl %eax, 16(%esp)
movl -104(%ebp), %eax ## 4-byte Reload
movl %eax, 12(%esp)
movl -112(%ebp), %eax ## 4-byte Reload
movl %eax, 8(%esp)
movl -92(%ebp), %eax ## 4-byte Reload
movl %eax, (%esp)
movl $3, 4(%esp)
calll *(_Kdo_dispatchYformat_internalsVioMM0-L3$pb)+4(%esi)
cmpl -100(%ebp), %eax ## 4-byte Folded Reload
je LBB3_36
## BB#35: ## in Loop: Header=BB3_2 Depth=1
Ltmp238:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
.loc 1 160 0 ## format.dylan:160:0
addl $4, %ebx
jo LBB3_59
Ltmp239:
LBB3_36: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl %ebx, -88(%ebp) ## 4-byte Spill
.loc 1 162 0 ## format.dylan:162:0
movl L_KPtrueVKi$non_lazy_ptr-L3$pb(%esi), %eax
movl %eax, (%esp)
movl -104(%ebp), %ecx ## 4-byte Reload
Ltmp240:
movl -72(%ebp), %edx ## 4-byte Reload
Ltmp241:
calll _Kstream_contentsYstreams_protocolVcommon_dylanMioM0I
.loc 1 158 0 ## format.dylan:158:0
Ltmp242:
testb $3, %al
jne LBB3_60
## BB#37: ## in Loop: Header=BB3_2 Depth=1
Ltmp243:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl (%eax), %ecx
Ltmp244:
cmpl L_KLbyte_stringGVKdW$non_lazy_ptr-L3$pb(%esi), %ecx
jne LBB3_60
Ltmp245:
## BB#38: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl -96(%ebp), %ecx ## 4-byte Reload
Ltmp246:
.loc 1 164 0 ## format.dylan:164:0
movl %ecx, %ebx
xorl $1, %ebx
negl %ebx
jo LBB3_61
Ltmp247:
## BB#39: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
testl %ecx, %ecx
.loc 1 163 0 ## format.dylan:163:0
movl 4(%eax), %edx
Ltmp248:
movl %eax, -100(%ebp) ## 4-byte Spill
.loc 1 164 0 ## format.dylan:164:0
cmovnsl %ecx, %ebx
orl $1, %ebx
xorl $1, %edx
subl %edx, %ebx
jo LBB3_61
Ltmp249:
## BB#40: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
.loc 1 165 0 ## format.dylan:165:0
testl %ebx, %ebx
jle LBB3_41
Ltmp250:
## BB#42: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
cmpl $2, %ecx
jl LBB3_44
Ltmp251:
## BB#43: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
.loc 1 169 0 ## format.dylan:169:0
movl %ebx, 4(%esp)
movl $130, (%esp)
movl -116(%ebp), %ecx ## 4-byte Reload
Ltmp252:
movl -72(%ebp), %edx ## 4-byte Reload
Ltmp253:
calll _KmakeVKdMM33I
movl %esi, %ebx
movl L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr-L3$pb(%ebx), %esi
movl 24(%esi), %ecx
movl -72(%ebp), %edx ## 4-byte Reload
movl %edx, 16(%esp)
movl %eax, 12(%esp)
movl -80(%ebp), %eax ## 4-byte Reload
movl %eax, 8(%esp)
movl %esi, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
.loc 1 170 0 ## format.dylan:170:0
movl 24(%esi), %eax
movl -72(%ebp), %ecx ## 4-byte Reload
movl %ecx, 16(%esp)
movl -100(%ebp), %ecx ## 4-byte Reload
movl %ecx, 12(%esp)
movl -80(%ebp), %ecx ## 4-byte Reload
movl %ecx, 8(%esp)
movl %esi, 4(%esp)
movl %eax, (%esp)
calll *12(%eax)
jmp LBB3_46
Ltmp254:
LBB3_48: ## %.thread7
## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 177 0 ## format.dylan:177:0
cmpl %edi, %esi
jae LBB3_50
Ltmp255:
## BB#49: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %esi, %eax
sarl $2, %eax
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp256:
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %eax
jmp LBB3_51
Ltmp257:
LBB3_50: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -68(%ebp), %ecx ## 4-byte Reload
Ltmp258:
movl %esi, %edx
Ltmp259:
calll _Kelement_range_errorVKeI
LBB3_51: ## in Loop: Header=BB3_2 Depth=1
movl %eax, -96(%ebp) ## 4-byte Spill
Ltmp260:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 178 0 ## format.dylan:178:0
movl L_KPfalseVKi$non_lazy_ptr-L3$pb(%ebx), %eax
movl %eax, -100(%ebp) ## 4-byte Spill
movl %eax, 4(%esp)
movl -72(%ebp), %eax ## 4-byte Reload
movl %eax, (%esp)
movl 8(%ebp), %ecx
Ltmp261:
movl -88(%ebp), %ebx ## 4-byte Reload
movl %ebx, %edx
Ltmp262:
calll _KelementVKdMM3I
.loc 1 177 0 ## format.dylan:177:0
movl %eax, (%esp)
movl -96(%ebp), %ecx ## 4-byte Reload
movl -80(%ebp), %edx ## 4-byte Reload
calll _Kdo_dispatchYformat_internalsVioMM0I
cmpl -100(%ebp), %eax ## 4-byte Folded Reload
je LBB3_53
## BB#52: ## in Loop: Header=BB3_2 Depth=1
Ltmp263:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 179 0 ## format.dylan:179:0
addl $4, %ebx
movl %ebx, -88(%ebp) ## 4-byte Spill
jo LBB3_61
Ltmp264:
LBB3_53: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl -76(%ebp), %ebx ## 4-byte Reload
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 181 0 ## format.dylan:181:0
addl $4, %esi
jo LBB3_61
Ltmp265:
## BB#54: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
movl %esi, %eax
jmp LBB3_55
Ltmp266:
LBB3_41: ## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
movl %esi, %ebx
.loc 1 167 0 ## format.dylan:167:0
Ltmp267:
movl L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr-L3$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp268:
movl -72(%ebp), %edx ## 4-byte Reload
Ltmp269:
movl %edx, 16(%esp)
movl -100(%ebp), %edx ## 4-byte Reload
movl %edx, 12(%esp)
movl -80(%ebp), %edx ## 4-byte Reload
movl %edx, 8(%esp)
movl %eax, 4(%esp)
jmp LBB3_45
LBB3_44: ## in Loop: Header=BB3_2 Depth=1
Ltmp270:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
.loc 1 172 0 ## format.dylan:172:0
movl L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr-L3$pb(%esi), %esi
movl 24(%esi), %eax
movl -72(%ebp), %ecx ## 4-byte Reload
Ltmp271:
movl %ecx, 16(%esp)
movl -100(%ebp), %ecx ## 4-byte Reload
movl %ecx, 12(%esp)
movl -80(%ebp), %ecx ## 4-byte Reload
movl %ecx, 8(%esp)
movl %esi, 4(%esp)
movl %eax, (%esp)
calll *12(%eax)
Ltmp272:
.loc 1 173 0 ## format.dylan:173:0
movl %ebx, 4(%esp)
movl -76(%ebp), %ebx ## 4-byte Reload
movl $130, (%esp)
movl -116(%ebp), %ecx ## 4-byte Reload
movl -72(%ebp), %edx ## 4-byte Reload
calll _KmakeVKdMM33I
movl 24(%esi), %ecx
movl -72(%ebp), %edx ## 4-byte Reload
movl %edx, 16(%esp)
movl %eax, 12(%esp)
movl -80(%ebp), %eax ## 4-byte Reload
movl %eax, 8(%esp)
movl %esi, 4(%esp)
LBB3_45: ## in Loop: Header=BB3_2 Depth=1
movl %ecx, (%esp)
calll *12(%ecx)
LBB3_46: ## in Loop: Header=BB3_2 Depth=1
Ltmp273:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
##DEBUG_VALUE: field-spec-end <- [EBP+-108]
.loc 1 175 0 ## format.dylan:175:0
movl L_KAVKd$non_lazy_ptr-L3$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp274:
movl -108(%ebp), %edx ## 4-byte Reload
Ltmp275:
movl %edx, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
movl $5, 12(%esp)
calll *12(%ecx)
movl %eax, %ecx
andl $3, %ecx
cmpl $1, %ecx
jne LBB3_47
Ltmp276:
LBB3_55: ## %.outer.backedge
## in Loop: Header=BB3_2 Depth=1
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
##DEBUG_VALUE: format:args <- undef
.loc 1 127 0 ## format.dylan:127:0
cmpl %edi, %eax
jl LBB3_2
Ltmp277:
LBB3_56: ## %.outer._crit_edge
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 120 0 ## format.dylan:120:0
movl L_KPfalseVKi$non_lazy_ptr-L3$pb(%ebx), %eax
xorl %edx, %edx
Ltmp278:
addl $140, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
Ltmp279:
LBB3_20:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 129 0 ## format.dylan:129:0
int $4
Ltmp280:
LBB3_57:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 148 0 ## format.dylan:148:0
int $4
Ltmp281:
LBB3_14:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 140 0 ## format.dylan:140:0
int $4
Ltmp282:
LBB3_61:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 181 0 ## format.dylan:181:0
int $4
Ltmp283:
LBB3_58: ## %.critedge
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 148 0 ## format.dylan:148:0
movl L_KLbyteGVKe$non_lazy_ptr-L3$pb(%ebx), %eax
movl %edx, %ecx
Ltmp284:
movl %eax, %edx
Ltmp285:
calll _Ktype_check_errorVKiI
LBB3_60: ## %.critedge1
Ltmp286:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 158 0 ## format.dylan:158:0
movl %eax, %ecx
Ltmp287:
movl -116(%ebp), %edx ## 4-byte Reload
Ltmp288:
calll _Ktype_check_errorVKiI
LBB3_47:
Ltmp289:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 175 0 ## format.dylan:175:0
movl L_KLintegerGVKd$non_lazy_ptr-L3$pb(%ebx), %edx
Ltmp290:
movl %eax, %ecx
Ltmp291:
calll _Ktype_check_errorVKiI
Ltmp292:
LBB3_59:
##DEBUG_VALUE: format:control-string <- EDX
##DEBUG_VALUE: format:stream <- ECX
.loc 1 160 0 ## format.dylan:160:0
int $4
Ltmp293:
Lfunc_end3:
.cfi_endproc
.globl _Kformat_integerYformat_internalsVioMM0I
.align 4, 0x90
_Kformat_integerYformat_internalsVioMM0I: ## @Kformat_integerYformat_internalsVioMM0I
Lfunc_begin4:
.loc 1 265 0 ## format.dylan:265:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp294:
.cfi_def_cfa_offset 8
Ltmp295:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp296:
.cfi_def_cfa_register %ebp
pushl %edi
pushl %esi
subl $32, %esp
Ltmp297:
.cfi_offset %esi, -16
Ltmp298:
.cfi_offset %edi, -12
##DEBUG_VALUE: format-integer:arg <- ECX
calll L4$pb
L4$pb:
popl %eax
##DEBUG_VALUE: format-integer:stream <- [EBP+8]
##DEBUG_VALUE: format-integer:radix <- EDX
movl 8(%ebp), %edx
Ltmp299:
.loc 1 268 0 prologue_end ## format.dylan:268:0
movl L_KprintYprintVio$non_lazy_ptr-L4$pb(%eax), %esi
movl 24(%esi), %edi
movl L_KPempty_vectorVKi$non_lazy_ptr-L4$pb(%eax), %eax
movl %eax, 16(%esp)
movl %edx, 12(%esp)
movl %ecx, 8(%esp)
movl %esi, 4(%esp)
movl %edi, (%esp)
calll *12(%edi)
.loc 1 265 0 ## format.dylan:265:0
addl $32, %esp
popl %esi
popl %edi
popl %ebp
retl
Ltmp300:
Lfunc_end4:
.cfi_endproc
.globl _Kformat_integerYformat_internalsVioMM1I
.align 4, 0x90
_Kformat_integerYformat_internalsVioMM1I: ## @Kformat_integerYformat_internalsVioMM1I
Lfunc_begin5:
.loc 1 271 0 ## format.dylan:271:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp301:
.cfi_def_cfa_offset 8
Ltmp302:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp303:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $44, %esp
Ltmp304:
.cfi_offset %esi, -20
Ltmp305:
.cfi_offset %edi, -16
Ltmp306:
.cfi_offset %ebx, -12
movl %edx, %esi
##DEBUG_VALUE: format-integer:radix <- ESI
movl %ecx, %ebx
##DEBUG_VALUE: format-integer:arg <- EBX
calll L5$pb
L5$pb:
popl %edi
Ltmp307:
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:radix <- EDX
movl 8(%ebp), %ecx
Ltmp308:
##DEBUG_VALUE: format-integer:stream <- ECX
.loc 1 271 0 prologue_end ## format.dylan:271:0
movl L_KLsimple_object_vectorGVKdW$non_lazy_ptr-L5$pb(%edi), %eax
movl %eax, -24(%ebp)
movl $5, -20(%ebp)
.loc 1 289 0 ## format.dylan:289:0
testl %ebx, %ebx
jg LBB5_15
Ltmp309:
## BB#1:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- ECX
.loc 1 290 0 ## format.dylan:290:0
movl L_Kwrite_elementYstreams_protocolVcommon_dylan$non_lazy_ptr-L5$pb(%edi), %edx
Ltmp310:
movl %edx, -28(%ebp) ## 4-byte Spill
movl 24(%edx), %eax
movl %ecx, 8(%esp)
Ltmp311:
##DEBUG_VALUE: format-integer:stream <- undef
movl %edx, 4(%esp)
movl %eax, (%esp)
movl $182, 12(%esp)
calll *12(%eax)
.loc 1 297 0 ## format.dylan:297:0
sarl $2, %ebx
movl %esi, %ecx
Ltmp312:
movl %esi, -32(%ebp) ## 4-byte Spill
sarl $2, %ecx
movl %ebx, %eax
cltd
idivl %ecx
.loc 1 297 0 ## format.dylan:297:0
Ltmp313:
imull $4, %eax, %esi
jo LBB5_18
Ltmp314:
## BB#2:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
.loc 1 297 0 ## format.dylan:297:0
movl %ebx, %eax
cltd
Ltmp315:
idivl %ecx
.loc 1 297 0 ## format.dylan:297:0
Ltmp316:
imull $4, %edx, %eax
jo LBB5_18
Ltmp317:
## BB#3:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
movl %esi, %ecx
Ltmp318:
orl $1, %ecx
.loc 1 298 0 ## format.dylan:298:0
cmpl $1, %ecx
jne LBB5_9
Ltmp319:
## BB#4:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
.loc 1 301 0 ## format.dylan:301:0
negl %eax
jo LBB5_18
Ltmp320:
## BB#5:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
movl %eax, %edx
Ltmp321:
orl $1, %edx
movl _DdigitsYformat_internalsVio-L5$pb(%edi), %ecx
Ltmp322:
cmpl 4(%ecx), %edx
jae LBB5_7
## BB#6:
Ltmp323:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
sarl $2, %eax
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %eax
jmp LBB5_8
Ltmp324:
LBB5_15:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- ECX
.loc 1 304 0 ## format.dylan:304:0
movl L_KPempty_listVKi$non_lazy_ptr-L5$pb(%edi), %eax
movl %eax, 4(%esp)
movl %ebx, (%esp)
movl %esi, %edx
Ltmp325:
jmp LBB5_16
Ltmp326:
LBB5_9:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
.loc 1 299 0 ## format.dylan:299:0
negl %esi
jo LBB5_18
Ltmp327:
## BB#10:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
negl %eax
jo LBB5_18
Ltmp328:
## BB#11:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
orl $1, %esi
movl %eax, %edx
Ltmp329:
orl $1, %edx
movl _DdigitsYformat_internalsVio-L5$pb(%edi), %ecx
Ltmp330:
cmpl 4(%ecx), %edx
jae LBB5_13
## BB#12:
Ltmp331:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
sarl $2, %eax
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %eax
jmp LBB5_14
Ltmp332:
LBB5_7:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
.loc 1 301 0 ## format.dylan:301:0
calll _Kelement_range_errorVKeI
Ltmp333:
LBB5_8:
movl 8(%ebp), %edx
Ltmp334:
##DEBUG_VALUE: format-integer:stream <- EDX
movl -28(%ebp), %esi ## 4-byte Reload
Ltmp335:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- EDX
movl 24(%esi), %ecx
Ltmp336:
movl %eax, 12(%esp)
movl %edx, 8(%esp)
movl %esi, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
Ltmp337:
jmp LBB5_17
LBB5_13:
Ltmp338:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
.loc 1 299 0 ## format.dylan:299:0
calll _Kelement_range_errorVKeI
Ltmp339:
LBB5_14:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- undef
movl %eax, -16(%ebp)
leal -24(%ebp), %ecx
Ltmp340:
calll _KlistVKdI
Ltmp341:
movl %eax, 4(%esp)
movl %esi, (%esp)
movl 8(%ebp), %ecx
movl -32(%ebp), %edx ## 4-byte Reload
Ltmp342:
LBB5_16:
.loc 1 304 0 ## format.dylan:304:0
calll _KrepeatF42I
LBB5_17:
.loc 1 271 0 ## format.dylan:271:0
addl $44, %esp
Ltmp343:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
Ltmp344:
LBB5_18:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
.loc 1 299 0 ## format.dylan:299:0
int $4
Ltmp345:
Lfunc_end5:
.cfi_endproc
.globl _Kformat_integerYformat_internalsVioMM2I
.align 4, 0x90
_Kformat_integerYformat_internalsVioMM2I: ## @Kformat_integerYformat_internalsVioMM2I
Lfunc_begin6:
.loc 1 308 0 ## format.dylan:308:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp346:
.cfi_def_cfa_offset 8
Ltmp347:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp348:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $28, %esp
Ltmp349:
.cfi_offset %esi, -20
Ltmp350:
.cfi_offset %edi, -16
Ltmp351:
.cfi_offset %ebx, -12
##DEBUG_VALUE: format-integer:radix <- EDX
movl %ecx, %esi
##DEBUG_VALUE: format-integer:arg <- ESI
calll L6$pb
L6$pb:
popl %ebx
Ltmp352:
##DEBUG_VALUE: format-integer:arg <- ECX
movl 8(%ebp), %edi
##DEBUG_VALUE: format-integer:stream <- EDI
.loc 1 312 0 prologue_end ## format.dylan:312:0
Ltmp353:
cmpl $41, %edx
je LBB6_2
Ltmp354:
## BB#1:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- EDI
leal _K37-L6$pb(%ebx), %ecx
Ltmp355:
movl L_KPempty_vectorVKi$non_lazy_ptr-L6$pb(%ebx), %edx
Ltmp356:
calll _Kassertion_failureVKiI
Ltmp357:
LBB6_2:
##DEBUG_VALUE: format-integer:radix <- EDX
##DEBUG_VALUE: format-integer:arg <- ECX
##DEBUG_VALUE: format-integer:stream <- EDI
.loc 1 313 0 ## format.dylan:313:0
movl L_KprintYprintVio$non_lazy_ptr-L6$pb(%ebx), %eax
movl 24(%eax), %ecx
Ltmp358:
movl L_KPempty_vectorVKi$non_lazy_ptr-L6$pb(%ebx), %edx
Ltmp359:
movl %edx, 16(%esp)
movl %edi, 12(%esp)
movl %esi, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *12(%ecx)
.loc 1 308 0 ## format.dylan:308:0
addl $28, %esp
popl %esi
popl %edi
Ltmp360:
popl %ebx
popl %ebp
retl
Ltmp361:
Lfunc_end6:
.cfi_endproc
.align 4, 0x90
_KrepeatF42I: ## @KrepeatF42I
Lfunc_begin7:
.loc 1 0 0 ## format.dylan:0:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp362:
.cfi_def_cfa_offset 8
Ltmp363:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp364:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $44, %esp
Ltmp365:
.cfi_offset %esi, -20
Ltmp366:
.cfi_offset %edi, -16
Ltmp367:
.cfi_offset %ebx, -12
movl %ecx, -28(%ebp) ## 4-byte Spill
calll L7$pb
L7$pb:
popl %eax
movl %eax, -16(%ebp) ## 4-byte Spill
movl 12(%ebp), %ecx
movl 8(%ebp), %esi
.loc 1 278 0 prologue_end ## format.dylan:278:0
Ltmp368:
sarl $2, %edx
movl %edx, -24(%ebp) ## 4-byte Spill
Ltmp369:
.align 4, 0x90
LBB7_1: ## =>This Inner Loop Header: Depth=1
.loc 1 285 0 ## format.dylan:285:0
movl %esi, %eax
andl $3, %eax
cmpl $1, %eax
jne LBB7_22
## BB#2: ## in Loop: Header=BB7_1 Depth=1
.loc 1 285 0 ## format.dylan:285:0
Ltmp370:
testb $3, %cl
jne LBB7_23
## BB#3: ## in Loop: Header=BB7_1 Depth=1
movl (%ecx), %eax
testb $64, 9(%eax)
je LBB7_23
## BB#4: ## in Loop: Header=BB7_1 Depth=1
movl %ecx, -20(%ebp) ## 4-byte Spill
.loc 1 278 0 ## format.dylan:278:0
sarl $2, %esi
movl %esi, %eax
cltd
movl -24(%ebp), %esi ## 4-byte Reload
idivl %esi
xorl %ecx, %ecx
testl %edx, %edx
je LBB7_10
## BB#5: ## in Loop: Header=BB7_1 Depth=1
testl %esi, %esi
js LBB7_6
## BB#7: ## in Loop: Header=BB7_1 Depth=1
testl %edx, %edx
jns LBB7_9
jmp LBB7_8
.align 4, 0x90
LBB7_6: ## in Loop: Header=BB7_1 Depth=1
testl %edx, %edx
jle LBB7_9
LBB7_8: ## in Loop: Header=BB7_1 Depth=1
decl %eax
addl %esi, %edx
LBB7_9: ## in Loop: Header=BB7_1 Depth=1
movl %edx, %ecx
LBB7_10: ## in Loop: Header=BB7_1 Depth=1
Ltmp371:
##DEBUG_VALUE: quotient <- EAX
.loc 1 278 0 ## format.dylan:278:0
imull $4, %eax, %esi
jo LBB7_24
Ltmp372:
## BB#11: ## in Loop: Header=BB7_1 Depth=1
##DEBUG_VALUE: remainder <- ECX
imull $4, %ecx, %eax
jo LBB7_24
Ltmp373:
## BB#12: ## in Loop: Header=BB7_1 Depth=1
orl $1, %esi
movl %eax, %edx
orl $1, %edx
.loc 1 279 0 ## format.dylan:279:0
movl -16(%ebp), %ecx ## 4-byte Reload
movl _DdigitsYformat_internalsVio-L7$pb(%ecx), %ecx
cmpl 4(%ecx), %edx
jae LBB7_14
## BB#13: ## in Loop: Header=BB7_1 Depth=1
sarl $2, %eax
movzbl 8(%ecx,%eax), %eax
leal 2(,%eax,4), %edi
jmp LBB7_15
.align 4, 0x90
LBB7_14: ## in Loop: Header=BB7_1 Depth=1
calll _Kelement_range_errorVKeI
movl %eax, %edi
LBB7_15: ## in Loop: Header=BB7_1 Depth=1
movl -16(%ebp), %ecx ## 4-byte Reload
movl L_KPunboundVKi$non_lazy_ptr-L7$pb(%ecx), %eax
movl %eax, 12(%esp)
movl %eax, 8(%esp)
movl L_KLpairGVKdW$non_lazy_ptr-L7$pb(%ecx), %eax
movl %eax, 4(%esp)
movl $12, (%esp)
calll _primitive_alloc_s2
movl %eax, %ebx
movl %edi, 4(%ebx)
movl -20(%ebp), %eax ## 4-byte Reload
movl %eax, 8(%ebx)
.loc 1 280 0 ## format.dylan:280:0
cmpl $1, %esi
Ltmp374:
.loc 1 285 0 ## format.dylan:285:0
movl %ebx, %ecx
jne LBB7_1
## BB#16:
movl -16(%ebp), %eax ## 4-byte Reload
movl L_KPempty_listVKi$non_lazy_ptr-L7$pb(%eax), %esi
movl -28(%ebp), %edi ## 4-byte Reload
.align 4, 0x90
LBB7_17: ## %.preheader
## =>This Inner Loop Header: Depth=1
.loc 1 281 0 ## format.dylan:281:0
Ltmp375:
cmpl %esi, %ebx
je LBB7_21
## BB#18: ## in Loop: Header=BB7_17 Depth=1
movl 4(%ebx), %eax
.loc 1 282 0 ## format.dylan:282:0
movl -16(%ebp), %ecx ## 4-byte Reload
movl L_Kwrite_elementYstreams_protocolVcommon_dylan$non_lazy_ptr-L7$pb(%ecx), %ecx
movl 24(%ecx), %edx
movl %eax, 12(%esp)
movl %edi, 8(%esp)
movl %ecx, 4(%esp)
movl %edx, (%esp)
calll *12(%edx)
.loc 1 281 0 ## format.dylan:281:0
movl 8(%ebx), %ebx
testb $3, %bl
jne LBB7_20
## BB#19: ## in Loop: Header=BB7_17 Depth=1
movl (%ebx), %eax
testb $64, 9(%eax)
jne LBB7_17
LBB7_20: ## %.critedge2
movl -16(%ebp), %eax ## 4-byte Reload
movl L_KLlistGVKd$non_lazy_ptr-L7$pb(%eax), %edx
movl %ebx, %ecx
calll _Ktype_check_errorVKiI
Ltmp376:
LBB7_21:
movl -16(%ebp), %eax ## 4-byte Reload
movl L_KPfalseVKi$non_lazy_ptr-L7$pb(%eax), %eax
movb $1, %dl
addl $44, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
LBB7_23: ## %.critedge
Ltmp377:
##DEBUG_VALUE: digits <- ECX
.loc 1 285 0 ## format.dylan:285:0
movl -16(%ebp), %eax ## 4-byte Reload
movl L_KLlistGVKd$non_lazy_ptr-L7$pb(%eax), %edx
calll _Ktype_check_errorVKiI
Ltmp378:
LBB7_24:
.loc 1 278 0 ## format.dylan:278:0
int $4
Ltmp379:
LBB7_22:
##DEBUG_VALUE: arg <- ESI
.loc 1 285 0 ## format.dylan:285:0
movl -16(%ebp), %eax ## 4-byte Reload
movl L_KLintegerGVKd$non_lazy_ptr-L7$pb(%eax), %edx
movl %esi, %ecx
calll _Ktype_check_errorVKiI
Ltmp380:
Lfunc_end7:
.cfi_endproc
.globl _Kprint_messageYformatVioMM0I
.align 4, 0x90
_Kprint_messageYformatVioMM0I: ## @Kprint_messageYformatVioMM0I
Lfunc_begin8:
.loc 1 67 0 ## format.dylan:67:0
.cfi_startproc
.cfi_personality 155, L___opendylan_personality_v0$non_lazy_ptr
Leh_func_begin8:
.cfi_lsda 16, Lexception8
## BB#0: ## %bb.entry
pushl %ebp
Ltmp384:
.cfi_def_cfa_offset 8
Ltmp385:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp386:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $28, %esp
Ltmp387:
.cfi_offset %esi, -20
Ltmp388:
.cfi_offset %edi, -16
Ltmp389:
.cfi_offset %ebx, -12
movl %edx, %ebx
##DEBUG_VALUE: print-message:stream <- EBX
movl %ecx, -24(%ebp) ## 4-byte Spill
##DEBUG_VALUE: print-message:object <- [EBP+-24]
calll L8$pb
L8$pb:
popl %edi
Ltmp390:
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: print-message:stream <- EDX
.loc 1 69 0 prologue_end ## format.dylan:69:0
movl _Tprint_escapeQTYprintVio@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp391:
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl %eax, -20(%ebp) ## 4-byte Spill
movl L_Ptlv_initializations_cursor$non_lazy_ptr-L8$pb(%edi), %eax
movl %eax, -16(%ebp) ## 4-byte Spill
movl (%eax), %esi
movl _Ptlv_initializations_local_cursor@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
cmpl %esi, %eax
jae LBB8_2
Ltmp392:
## BB#1:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
movl -16(%ebp), %eax ## 4-byte Reload
movl (%eax), %esi
movl _Ptlv_initializations_local_cursor@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp393:
LBB8_2:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
cmpl %esi, %eax
jae LBB8_4
Ltmp394:
## BB#3:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp395:
LBB8_4:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl L_KPfalseVKi$non_lazy_ptr-L8$pb(%edi), %esi
movl _Tprint_escapeQTYprintVio@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl %esi, (%eax)
.loc 1 70 0 ## format.dylan:70:0
movl L_Kprint_objectYprintVio$non_lazy_ptr-L8$pb(%edi), %eax
movl 24(%eax), %ecx
Ltmp396:
movl 12(%ecx), %edx
Ltmp397:
Ltmp381:
movl %ebx, 12(%esp)
movl -24(%ebp), %esi ## 4-byte Reload
movl %esi, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *%edx
movl %eax, %esi
movb %dl, %bl
Ltmp382:
## BB#5:
Ltmp398:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
.loc 1 69 0 ## format.dylan:69:0
movl _Ptlv_initializations_local_cursor@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
movl -16(%ebp), %ecx ## 4-byte Reload
Ltmp399:
cmpl (%ecx), %eax
jae LBB8_7
Ltmp400:
## BB#6:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp401:
LBB8_7:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl _Tprint_escapeQTYprintVio@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl -20(%ebp), %ecx ## 4-byte Reload
Ltmp402:
movl %ecx, (%eax)
.loc 1 67 0 ## format.dylan:67:0
movl %esi, %eax
movb %bl, %dl
Ltmp403:
addl $28, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
LBB8_8:
Ltmp383:
Ltmp404:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl %eax, %esi
.loc 1 69 0 ## format.dylan:69:0
movl _Ptlv_initializations_local_cursor@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
movl -16(%ebp), %ecx ## 4-byte Reload
Ltmp405:
cmpl (%ecx), %eax
jae LBB8_10
Ltmp406:
## BB#9:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp407:
LBB8_10:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl _Tprint_escapeQTYprintVio@TLVP-L8$pb(%edi), %eax
calll *(%eax)
movl -20(%ebp), %ecx ## 4-byte Reload
Ltmp408:
movl %ecx, (%eax)
movl %esi, (%esp)
calll __Unwind_Resume
Ltmp409:
Lfunc_end8:
.cfi_endproc
Leh_func_end8:
.section __TEXT,__gcc_except_tab
.align 2
GCC_except_table8:
Lexception8:
.byte 255 ## @LPStart Encoding = omit
.byte 155 ## @TType Encoding = indirect pcrel sdata4
.byte 41 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 39 ## Call site table length
Lset7 = Leh_func_begin8-Leh_func_begin8 ## >> Call Site 1 <<
.long Lset7
Lset8 = Ltmp381-Leh_func_begin8 ## Call between Leh_func_begin8 and Ltmp381
.long Lset8
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
Lset9 = Ltmp381-Leh_func_begin8 ## >> Call Site 2 <<
.long Lset9
Lset10 = Ltmp382-Ltmp381 ## Call between Ltmp381 and Ltmp382
.long Lset10
Lset11 = Ltmp383-Leh_func_begin8 ## jumps to Ltmp383
.long Lset11
.byte 0 ## On action: cleanup
Lset12 = Ltmp382-Leh_func_begin8 ## >> Call Site 3 <<
.long Lset12
Lset13 = Leh_func_end8-Ltmp382 ## Call between Ltmp382 and Leh_func_end8
.long Lset13
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
.align 2
.section __TEXT,__text,regular,pure_instructions
.globl _Kprint_messageYformatVioMM1I
.align 4, 0x90
_Kprint_messageYformatVioMM1I: ## @Kprint_messageYformatVioMM1I
Lfunc_begin9:
.loc 1 74 0 ## format.dylan:74:0
.cfi_startproc
.cfi_personality 155, L___opendylan_personality_v0$non_lazy_ptr
Leh_func_begin9:
.cfi_lsda 16, Lexception9
## BB#0: ## %bb.entry
pushl %ebp
Ltmp413:
.cfi_def_cfa_offset 8
Ltmp414:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp415:
.cfi_def_cfa_register %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $28, %esp
Ltmp416:
.cfi_offset %esi, -20
Ltmp417:
.cfi_offset %edi, -16
Ltmp418:
.cfi_offset %ebx, -12
movl %edx, %ebx
##DEBUG_VALUE: print-message:stream <- EBX
movl %ecx, -24(%ebp) ## 4-byte Spill
##DEBUG_VALUE: print-message:object <- [EBP+-24]
calll L9$pb
L9$pb:
popl %edi
Ltmp419:
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: print-message:stream <- EDX
.loc 1 80 0 prologue_end ## format.dylan:80:0
movl _Tprint_escapeQTYprintVio@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp420:
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl %eax, -20(%ebp) ## 4-byte Spill
movl L_Ptlv_initializations_cursor$non_lazy_ptr-L9$pb(%edi), %eax
movl %eax, -16(%ebp) ## 4-byte Spill
movl (%eax), %esi
movl _Ptlv_initializations_local_cursor@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
cmpl %esi, %eax
jae LBB9_2
Ltmp421:
## BB#1:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
movl -16(%ebp), %eax ## 4-byte Reload
movl (%eax), %esi
movl _Ptlv_initializations_local_cursor@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
Ltmp422:
LBB9_2:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
cmpl %esi, %eax
jae LBB9_4
Ltmp423:
## BB#3:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp424:
LBB9_4:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl L_KPfalseVKi$non_lazy_ptr-L9$pb(%edi), %esi
movl _Tprint_escapeQTYprintVio@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl %esi, (%eax)
.loc 1 81 0 ## format.dylan:81:0
movl L_Kprint_objectYprintVio$non_lazy_ptr-L9$pb(%edi), %eax
movl 24(%eax), %ecx
Ltmp425:
movl 12(%ecx), %edx
Ltmp426:
Ltmp410:
movl %ebx, 12(%esp)
movl -24(%ebp), %esi ## 4-byte Reload
movl %esi, 8(%esp)
movl %eax, 4(%esp)
movl %ecx, (%esp)
calll *%edx
movl %eax, %esi
movb %dl, %bl
Ltmp411:
## BB#5:
Ltmp427:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
.loc 1 80 0 ## format.dylan:80:0
movl _Ptlv_initializations_local_cursor@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
movl -16(%ebp), %ecx ## 4-byte Reload
Ltmp428:
cmpl (%ecx), %eax
jae LBB9_7
Ltmp429:
## BB#6:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp430:
LBB9_7:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl _Tprint_escapeQTYprintVio@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl -20(%ebp), %ecx ## 4-byte Reload
Ltmp431:
movl %ecx, (%eax)
.loc 1 74 0 ## format.dylan:74:0
movl %esi, %eax
movb %bl, %dl
Ltmp432:
addl $28, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
LBB9_8:
Ltmp412:
Ltmp433:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl %eax, %esi
.loc 1 80 0 ## format.dylan:80:0
movl _Ptlv_initializations_local_cursor@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl (%eax), %eax
movl -16(%ebp), %ecx ## 4-byte Reload
Ltmp434:
cmpl (%ecx), %eax
jae LBB9_10
Ltmp435:
## BB#9:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
calll _primitive_initialize_thread_variables
Ltmp436:
LBB9_10:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
##DEBUG_VALUE: %old-value% <- [EBP+-20]
movl _Tprint_escapeQTYprintVio@TLVP-L9$pb(%edi), %eax
calll *(%eax)
movl -20(%ebp), %ecx ## 4-byte Reload
Ltmp437:
movl %ecx, (%eax)
movl %esi, (%esp)
calll __Unwind_Resume
Ltmp438:
Lfunc_end9:
.cfi_endproc
Leh_func_end9:
.section __TEXT,__gcc_except_tab
.align 2
GCC_except_table9:
Lexception9:
.byte 255 ## @LPStart Encoding = omit
.byte 155 ## @TType Encoding = indirect pcrel sdata4
.byte 41 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 39 ## Call site table length
Lset14 = Leh_func_begin9-Leh_func_begin9 ## >> Call Site 1 <<
.long Lset14
Lset15 = Ltmp410-Leh_func_begin9 ## Call between Leh_func_begin9 and Ltmp410
.long Lset15
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
Lset16 = Ltmp410-Leh_func_begin9 ## >> Call Site 2 <<
.long Lset16
Lset17 = Ltmp411-Ltmp410 ## Call between Ltmp410 and Ltmp411
.long Lset17
Lset18 = Ltmp412-Leh_func_begin9 ## jumps to Ltmp412
.long Lset18
.byte 0 ## On action: cleanup
Lset19 = Ltmp411-Leh_func_begin9 ## >> Call Site 3 <<
.long Lset19
Lset20 = Leh_func_end9-Ltmp411 ## Call between Ltmp411 and Leh_func_end9
.long Lset20
.long 0 ## has no landing pad
.byte 0 ## On action: cleanup
.align 2
.section __TEXT,__text,regular,pure_instructions
.globl _Kprint_messageYformatVioMM2I
.align 4, 0x90
_Kprint_messageYformatVioMM2I: ## @Kprint_messageYformatVioMM2I
Lfunc_begin10:
.loc 1 85 0 ## format.dylan:85:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp439:
.cfi_def_cfa_offset 8
Ltmp440:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp441:
.cfi_def_cfa_register %ebp
pushl %edi
pushl %esi
subl $32, %esp
Ltmp442:
.cfi_offset %esi, -16
Ltmp443:
.cfi_offset %edi, -12
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
calll L10$pb
L10$pb:
popl %eax
.loc 1 87 0 prologue_end ## format.dylan:87:0
Ltmp444:
movl L_Kwrite_textYstreamsVio$non_lazy_ptr-L10$pb(%eax), %esi
movl 24(%esi), %edi
movl L_KPempty_vectorVKi$non_lazy_ptr-L10$pb(%eax), %eax
movl %eax, 16(%esp)
movl %ecx, 12(%esp)
movl %edx, 8(%esp)
movl %esi, 4(%esp)
movl %edi, (%esp)
calll *12(%edi)
Ltmp445:
.loc 1 85 0 ## format.dylan:85:0
addl $32, %esp
popl %esi
popl %edi
popl %ebp
retl
Ltmp446:
Lfunc_end10:
.cfi_endproc
.globl _Kprint_messageYformatVioMM3I
.align 4, 0x90
_Kprint_messageYformatVioMM3I: ## @Kprint_messageYformatVioMM3I
Lfunc_begin11:
.loc 1 90 0 ## format.dylan:90:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp447:
.cfi_def_cfa_offset 8
Ltmp448:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp449:
.cfi_def_cfa_register %ebp
pushl %esi
subl $20, %esp
Ltmp450:
.cfi_offset %esi, -12
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
calll L11$pb
L11$pb:
popl %eax
.loc 1 92 0 prologue_end ## format.dylan:92:0
Ltmp451:
movl L_Kwrite_elementYstreams_protocolVcommon_dylan$non_lazy_ptr-L11$pb(%eax), %eax
movl 24(%eax), %esi
movl %ecx, 12(%esp)
movl %edx, 8(%esp)
movl %eax, 4(%esp)
movl %esi, (%esp)
calll *12(%esi)
Ltmp452:
.loc 1 90 0 ## format.dylan:90:0
addl $20, %esp
popl %esi
popl %ebp
retl
Ltmp453:
Lfunc_end11:
.cfi_endproc
.globl _Kprint_messageYformatVioMM4I
.align 4, 0x90
_Kprint_messageYformatVioMM4I: ## @Kprint_messageYformatVioMM4I
Lfunc_begin12:
.loc 1 95 0 ## format.dylan:95:0
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp454:
.cfi_def_cfa_offset 8
Ltmp455:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp456:
.cfi_def_cfa_register %ebp
pushl %edi
pushl %esi
subl $32, %esp
Ltmp457:
.cfi_offset %esi, -16
Ltmp458:
.cfi_offset %edi, -12
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
calll L12$pb
L12$pb:
popl %eax
.loc 1 97 0 prologue_end ## format.dylan:97:0
Ltmp459:
movl 4(%ecx), %ecx
Ltmp460:
testb $3, %cl
jne LBB12_3
Ltmp461:
## BB#1:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
movl (%ecx), %esi
cmpl L_KLbyte_stringGVKdW$non_lazy_ptr-L12$pb(%eax), %esi
jne LBB12_3
Ltmp462:
## BB#2:
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
movl L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr-L12$pb(%eax), %esi
movl 24(%esi), %edi
movl L_KPempty_vectorVKi$non_lazy_ptr-L12$pb(%eax), %eax
movl %eax, 16(%esp)
movl %ecx, 12(%esp)
movl %edx, 8(%esp)
movl %esi, 4(%esp)
movl %edi, (%esp)
calll *12(%edi)
Ltmp463:
.loc 1 95 0 ## format.dylan:95:0
addl $32, %esp
popl %esi
popl %edi
popl %ebp
retl
Ltmp464:
LBB12_3: ## %.critedge
##DEBUG_VALUE: print-message:stream <- EDX
##DEBUG_VALUE: print-message:object <- ECX
.loc 1 97 0 ## format.dylan:97:0
movl L_KLbyte_stringGVKd$non_lazy_ptr-L12$pb(%eax), %edx
Ltmp465:
calll _Ktype_check_errorVKiI
Ltmp466:
Lfunc_end12:
.cfi_endproc
.align 4, 0x90
__Init_io__X_format_for_system: ## @_Init_io__X_format_for_system
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp467:
.cfi_def_cfa_offset 8
Ltmp468:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp469:
.cfi_def_cfa_register %ebp
subl $8, %esp
calll L13$pb
L13$pb:
popl %eax
leal __Init_io__X_format_fixups-L13$pb(%eax), %ecx
movl $2, %edx
calll _primitive_symbol_fixup
addl $8, %esp
popl %ebp
retl
.cfi_endproc
.globl __Init_io__X_format_for_user
.align 4, 0x90
__Init_io__X_format_for_user: ## @_Init_io__X_format_for_user
.cfi_startproc
## BB#0: ## %bb.entry
pushl %ebp
Ltmp470:
.cfi_def_cfa_offset 8
Ltmp471:
.cfi_offset %ebp, -8
movl %esp, %ebp
Ltmp472:
.cfi_def_cfa_register %ebp
.loc 1 108 0 ## format.dylan:108:0
pushl %ebx
pushl %edi
pushl %esi
subl $44, %esp
Ltmp473:
.cfi_offset %esi, -20
Ltmp474:
.cfi_offset %edi, -16
Ltmp475:
.cfi_offset %ebx, -12
calll L14$pb
L14$pb:
popl %edi
movl L_KPfalseVKi$non_lazy_ptr-L14$pb(%edi), %esi
movl %esi, -24(%ebp) ## 4-byte Spill
movl %esi, (%esp)
movl $1025, 4(%esp) ## imm = 0x401
movl L_KLsimple_object_vectorGVKd$non_lazy_ptr-L14$pb(%edi), %ecx
movl L_KPempty_vectorVKi$non_lazy_ptr-L14$pb(%edi), %edx
calll _KmakeVKdMM13I
.loc 1 107 0 ## format.dylan:107:0
movl %eax, _char_classesYformat_internalsVio-L14$pb(%edi)
.loc 1 110 0 ## format.dylan:110:0
movl L_KLVKd$non_lazy_ptr-L14$pb(%edi), %ecx
movl %ecx, -20(%ebp) ## 4-byte Spill
movl 24(%ecx), %eax
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $233, 12(%esp)
movl $193, 8(%esp)
calll *12(%eax)
cmpl %esi, %eax
je LBB14_3
## BB#1:
movl $193, %esi
##DEBUG_VALUE: i <- ESI
.loc 1 111 0 ## format.dylan:111:0
movl L_Kelement_setterVKd$non_lazy_ptr-L14$pb(%edi), %eax
.loc 1 110 0 ## format.dylan:110:0
movl %eax, -28(%ebp) ## 4-byte Spill
movl L_KAVKd$non_lazy_ptr-L14$pb(%edi), %ebx
.align 4, 0x90
LBB14_2: ## %.lr.ph.i
## =>This Inner Loop Header: Depth=1
.loc 1 111 0 ## format.dylan:111:0
movl _IKJdigit_-L14$pb(%edi), %eax
movl %eax, -16(%ebp) ## 4-byte Spill
movl _char_classesYformat_internalsVio-L14$pb(%edi), %ecx
movl -28(%ebp), %eax ## 4-byte Reload
movl 24(%eax), %edx
##DEBUG_VALUE: i <- ESI
movl %esi, 16(%esp)
movl %ecx, 12(%esp)
movl -16(%ebp), %ecx ## 4-byte Reload
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
movl %edx, (%esp)
calll *12(%edx)
.loc 1 110 0 ## format.dylan:110:0
movl 24(%ebx), %eax
movl %esi, 8(%esp)
movl %ebx, 4(%esp)
movl %eax, (%esp)
movl $5, 12(%esp)
calll *12(%eax)
movl %eax, %esi
movl -20(%ebp), %ecx ## 4-byte Reload
movl 24(%ecx), %eax
movl %esi, 8(%esp)
movl %ecx, 4(%esp)
movl %eax, (%esp)
movl $233, 12(%esp)
calll *12(%eax)
cmpl -24(%ebp), %eax ## 4-byte Folded Reload
jne LBB14_2
LBB14_3: ## %Ktop_level_initializerF1I.exit
.loc 1 113 0 ## format.dylan:113:0
movl _char_classesYformat_internalsVio-L14$pb(%edi), %eax
cmpl $181, 4(%eax)
jbe LBB14_4
## BB#5: ## %Ktop_level_initializerF3I.exit
movl _IKJdigit_-L14$pb(%edi), %eax
movl _char_classesYformat_internalsVio-L14$pb(%edi), %ecx
movl %eax, 188(%ecx)
jmp LBB14_6
LBB14_4:
movl _char_classesYformat_internalsVio-L14$pb(%edi), %ecx
movl $181, %edx
calll _Kelement_range_errorVKeI
LBB14_6: ## %Ktop_level_initializerF3I.exit
addl $44, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl
.cfi_endproc
.section __DATA,__data
.align 2 ## @IKJdigit_
_IKJdigit_:
.long _KJdigit_
.align 2 ## @IKJcontents_
_IKJcontents_:
.long _KJcontents_
.align 3 ## @KJdigit_
_KJdigit_:
.long _KLsymbolGVKdW
.long _K79
.globl _Kprint_messageYformatVio ## @Kprint_messageYformatVio
.align 4
_Kprint_messageYformatVio:
.long _KLincremental_generic_functionGVKeW
.long _gf_xep_2
.long _K67
.long 1
.long _K68
.long _K62
.long _RSINGULAR_Labsent_engine_nodeG
.long _Kformat_moduleYdylan_userVio
.long _Kprint_messageYformatVioRD_ioRD_2
.long _KPempty_vectorVKi
.long 25
.globl _Kdo_dispatchYformat_internalsVioMM0 ## @Kdo_dispatchYformat_internalsVioMM0
.align 3
_Kdo_dispatchYformat_internalsVioMM0:
.long _KLsimple_methodGVKeW
.long _xep_3
.long _K47
.long _Kdo_dispatchYformat_internalsVioMM0I
.globl _KformatYformatVio ## @KformatYformatVio
.align 4
_KformatYformatVio:
.long _KLsealed_generic_functionGVKeW
.long _gf_optional_xep_2
.long _K14
.long _KPfalseVKi
.long _K15
.long _K12
.long _RSINGULAR_Labsent_engine_nodeG
.globl _KformatYformatVioMM0 ## @KformatYformatVioMM0
.align 3
_KformatYformatVioMM0:
.long _KLsimple_methodGVKeW
.long _rest_xep_2
.long _K19
.long _KformatYformatVioMM0I
.align 3 ## @K12
_K12:
.long _KLpairGVKdW
.long _KformatYformatVioMM0
.long _K13
.align 3 ## @K13
_K13:
.long _KLpairGVKdW
.long _KformatYformatVioMM1
.long _KPempty_listVKi
.align 3 ## @K14
_K14:
.long _KLsignatureGVKeW
.long 42991625
.long _K16
.align 3 ## @K15
_K15:
.long _KLbyte_stringGVKdW
.long 25
.ascii "format"
.space 2
.align 3 ## @K16
_K16:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLstreamGYcommon_extensionsVcommon_dylan
.long _KLstringGVKd
.align 3 ## @KJcontents_
_KJcontents_:
.long _KLsymbolGVKdW
.long _K18
.align 3 ## @K18
_K18:
.long _KLbyte_stringGVKdW
.long 33
.ascii "contents"
.align 3 ## @K19
_K19:
.long _KLsignatureGVKeW
.long 42991625
.long _K20
.align 3 ## @K20
_K20:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLstreamGYcommon_extensionsVcommon_dylan
.long _KLbyte_stringGVKd
.align 4 ## @K21
_K21:
.long _KLsimple_typechecked_cache_header_engine_nodeGVKgW
.long 393273
.long _KPfalseVKi
.long _cache_header_3
.long _RSINGULAR_Labsent_engine_nodeG
.long _Kformat_integerYformat_internalsVio
.globl _Kformat_integerYformat_internalsVio ## @Kformat_integerYformat_internalsVio
.align 4
_Kformat_integerYformat_internalsVio:
.long _KLsealed_generic_functionGVKeW
.long _gf_xep_3
.long _KDsignature_LobjectG_object_rest_value_3VKi
.long 25
.long _K36
.long _K33
.long _RSINGULAR_Labsent_engine_nodeG
.align 4 ## @K23
_K23:
.long _KLsimple_typechecked_cache_header_engine_nodeGVKgW
.long 393273
.long _KPfalseVKi
.long _cache_header_3
.long _RSINGULAR_Labsent_engine_nodeG
.long _Kformat_integerYformat_internalsVio
.align 4 ## @K24
_K24:
.long _KLsimple_typechecked_cache_header_engine_nodeGVKgW
.long 393273
.long _KPfalseVKi
.long _cache_header_3
.long _RSINGULAR_Labsent_engine_nodeG
.long _Kformat_integerYformat_internalsVio
.align 4 ## @K25
_K25:
.long _KLsimple_typechecked_cache_header_engine_nodeGVKgW
.long 393273
.long _KPfalseVKi
.long _cache_header_3
.long _RSINGULAR_Labsent_engine_nodeG
.long _Kformat_integerYformat_internalsVio
.align 4 ## @K26
_K26:
.long _KLbyte_stringGVKdW
.long 149
.ascii "Unknown format dispatch character, %c"
.space 3
.globl _Kformat_integerYformat_internalsVioMM0 ## @Kformat_integerYformat_internalsVioMM0
.align 3
_Kformat_integerYformat_internalsVioMM0:
.long _KLsimple_methodGVKeW
.long _xep_3
.long _K45
.long _Kformat_integerYformat_internalsVioMM0I
.globl _Kformat_integerYformat_internalsVioMM1 ## @Kformat_integerYformat_internalsVioMM1
.align 3
_Kformat_integerYformat_internalsVioMM1:
.long _KLsimple_methodGVKeW
.long _xep_3
.long _K43
.long _Kformat_integerYformat_internalsVioMM1I
.globl _Kformat_integerYformat_internalsVioMM2 ## @Kformat_integerYformat_internalsVioMM2
.align 3
_Kformat_integerYformat_internalsVioMM2:
.long _KLsimple_methodGVKeW
.long _xep_3
.long _K38
.long _Kformat_integerYformat_internalsVioMM2I
.align 3 ## @K33
_K33:
.long _KLpairGVKdW
.long _Kformat_integerYformat_internalsVioMM0
.long _K34
.align 3 ## @K34
_K34:
.long _KLpairGVKdW
.long _Kformat_integerYformat_internalsVioMM1
.long _K35
.align 3 ## @K35
_K35:
.long _KLpairGVKdW
.long _Kformat_integerYformat_internalsVioMM2
.long _KPempty_listVKi
.align 4 ## @K36
_K36:
.long _KLbyte_stringGVKdW
.long 57
.ascii "format-integer"
.space 2
.align 4 ## @K37
_K37:
.long _KLbyte_stringGVKdW
.long 129
.ascii "Can only print floats in base 10"
.align 3 ## @K38
_K38:
.long _KLsignatureGVKeW
.long 41943053
.long _K39
.align 4 ## @K39
_K39:
.long _KLsimple_object_vectorGVKdW
.long 13
.long _KLfloatGVKd
.long _K40
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K40
_K40:
.long _KLlimited_integerGVKeW
.long _Kuninitialized_instanceQ_functionVKiI
.long 9
.long 145
.align 3 ## @K43
_K43:
.long _KLsignatureGVKeW
.long 41943053
.long _K44
.align 4 ## @K44
_K44:
.long _KLsimple_object_vectorGVKdW
.long 13
.long _KLintegerGVKd
.long _K40
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K45
_K45:
.long _KLsignatureGVKeW
.long 41943053
.long _K46
.align 4 ## @K46
_K46:
.long _KLsimple_object_vectorGVKdW
.long 13
.long _KLdouble_integerGVKe
.long _K40
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K47
_K47:
.long _KLsignatureAvaluesGVKiW
.long 33555469
.long _K48
.long _KDsignature_LbooleanG_typesVKi
.align 4 ## @K48
_K48:
.long _KLsimple_object_vectorGVKdW
.long 13
.long _KLbyte_characterGVKe
.long _KLstreamGYcommon_extensionsVcommon_dylan
.long _KLobjectGVKd
.globl _Kprint_messageYformatVioMM0 ## @Kprint_messageYformatVioMM0
.align 3
_Kprint_messageYformatVioMM0:
.long _KLsimple_methodGVKeW
.long _xep_2
.long _K67
.long _Kprint_messageYformatVioMM0I
.globl _Kprint_messageYformatVioMM1 ## @Kprint_messageYformatVioMM1
.align 3
_Kprint_messageYformatVioMM1:
.long _KLsimple_methodGVKeW
.long _xep_2
.long _K76
.long _Kprint_messageYformatVioMM1I
.globl _Kprint_messageYformatVioMM2 ## @Kprint_messageYformatVioMM2
.align 3
_Kprint_messageYformatVioMM2:
.long _KLsimple_methodGVKeW
.long _xep_2
.long _K74
.long _Kprint_messageYformatVioMM2I
.globl _Kprint_messageYformatVioMM3 ## @Kprint_messageYformatVioMM3
.align 3
_Kprint_messageYformatVioMM3:
.long _KLsimple_methodGVKeW
.long _xep_2
.long _K72
.long _Kprint_messageYformatVioMM3I
.globl _Kprint_messageYformatVioMM4 ## @Kprint_messageYformatVioMM4
.align 3
_Kprint_messageYformatVioMM4:
.long _KLsimple_methodGVKeW
.long _xep_2
.long _K70
.long _Kprint_messageYformatVioMM4I
.globl _Kprint_messageYformatVioRD_ioRD_0 ## @Kprint_messageYformatVioRD_ioRD_0
.align 3
_Kprint_messageYformatVioRD_ioRD_0:
.long _KLmethod_domainGVKeW
.long _Kio_libraryYdylan_userVio
.long _KPfalseVKi
.long _Kprint_messageYformatVioMM4
.globl _Kprint_messageYformatVioRD_ioRD_1 ## @Kprint_messageYformatVioRD_ioRD_1
.align 3
_Kprint_messageYformatVioRD_ioRD_1:
.long _KLmethod_domainGVKeW
.long _Kio_libraryYdylan_userVio
.long _Kprint_messageYformatVioRD_ioRD_0
.long _Kprint_messageYformatVioMM3
.globl _Kprint_messageYformatVioRD_ioRD_2 ## @Kprint_messageYformatVioRD_ioRD_2
.align 3
_Kprint_messageYformatVioRD_ioRD_2:
.long _KLmethod_domainGVKeW
.long _Kio_libraryYdylan_userVio
.long _Kprint_messageYformatVioRD_ioRD_1
.long _Kprint_messageYformatVioMM2
.align 3 ## @K62
_K62:
.long _KLpairGVKdW
.long _Kprint_messageYformatVioMM0
.long _K63
.align 3 ## @K63
_K63:
.long _KLpairGVKdW
.long _Kprint_messageYformatVioMM1
.long _K64
.align 3 ## @K64
_K64:
.long _KLpairGVKdW
.long _Kprint_messageYformatVioMM2
.long _K65
.align 3 ## @K65
_K65:
.long _KLpairGVKdW
.long _Kprint_messageYformatVioMM3
.long _K66
.align 3 ## @K66
_K66:
.long _KLpairGVKdW
.long _Kprint_messageYformatVioMM4
.long _KPempty_listVKi
.align 3 ## @K67
_K67:
.long _KLsignatureGVKeW
.long 41943049
.long _K69
.align 4 ## @K68
_K68:
.long _KLbyte_stringGVKdW
.long 53
.ascii "print-message"
.space 3
.align 3 ## @K69
_K69:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLobjectGVKd
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K70
_K70:
.long _KLsignatureGVKeW
.long 41943049
.long _K71
.align 3 ## @K71
_K71:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLsymbolGVKd
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K72
_K72:
.long _KLsignatureGVKeW
.long 41943049
.long _K73
.align 3 ## @K73
_K73:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLcharacterGVKd
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K74
_K74:
.long _KLsignatureGVKeW
.long 41943049
.long _K75
.align 3 ## @K75
_K75:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLstringGVKd
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 3 ## @K76
_K76:
.long _KLsignatureGVKeW
.long 41943049
.long _K77
.align 3 ## @K77
_K77:
.long _KLsimple_object_vectorGVKdW
.long 9
.long _KLconditionGVKd
.long _KLstreamGYcommon_extensionsVcommon_dylan
.align 4 ## @K78
_K78:
.long _KLbyte_stringGVKdW
.long 145
.ascii "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
.align 3 ## @K79
_K79:
.long _KLbyte_stringGVKdW
.long 21
.ascii "digit"
.space 3
.globl _Kformat_to_stringYformatVio ## @Kformat_to_stringYformatVio
.align 4
_Kformat_to_stringYformatVio:
.long _KLsealed_generic_functionGVKeW
.long _gf_optional_xep_1
.long _K83
.long _KPfalseVKi
.long _K84
.long _K82
.long _RSINGULAR_Labsent_engine_nodeG
.globl _Kformat_to_stringYformatVioMM0 ## @Kformat_to_stringYformatVioMM0
.align 3
_Kformat_to_stringYformatVioMM0:
.long _KLsimple_methodGVKeW
.long _rest_xep_1
.long _K85
.long _Kformat_to_stringYformatVioMM0I
.align 3 ## @K82
_K82:
.long _KLpairGVKdW
.long _Kformat_to_stringYformatVioMM0
.long _KPempty_listVKi
.align 3 ## @K83
_K83:
.long _KLsignatureAvaluesGVKiW
.long 34604037
.long _KDsignature_LstringG_typesVKi
.long _KDsignature_LstringG_typesVKi
.align 4 ## @K84
_K84:
.long _KLbyte_stringGVKdW
.long 65
.ascii "format-to-string"
.align 3 ## @K85
_K85:
.long _KLsignatureAvaluesGVKiW
.long 34604037
.long _KDsignature_Lbyte_stringG_typesVKi
.long _KDsignature_Lbyte_stringG_typesVKi
.globl _do_dispatchYformat_internalsVio ## @do_dispatchYformat_internalsVio
.align 2
_do_dispatchYformat_internalsVio:
.long _Kdo_dispatchYformat_internalsVioMM0
.globl _format_to_stringYformatVio ## @format_to_stringYformatVio
.align 2
_format_to_stringYformatVio:
.long _Kformat_to_stringYformatVio
.globl _print_messageYformatVio ## @print_messageYformatVio
.align 2
_print_messageYformatVio:
.long _Kprint_messageYformatVio
.globl _char_classesYformat_internalsVio ## @char_classesYformat_internalsVio
.align 2
_char_classesYformat_internalsVio:
.long _KPunboundVKi
.globl _formatYformatVio ## @formatYformatVio
.align 2
_formatYformatVio:
.long _KformatYformatVio
.globl _DdigitsYformat_internalsVio ## @DdigitsYformat_internalsVio
.align 2
_DdigitsYformat_internalsVio:
.long _K78
.section __DATA,__const
.align 3 ## @_Init_io__X_format_fixups
__Init_io__X_format_fixups:
.long _KJdigit_
.long _IKJdigit_
.long _KJcontents_
.long _IKJcontents_
.section __DATA,__mod_init_func,mod_init_funcs
.align 2
.long __Init_io__X_format_for_system
.section __TEXT,__text,regular,pure_instructions
Ldebug_end0:
.section __DWARF,__debug_str,regular,debug
Linfo_string0:
.asciz "Open Dylan 1.0"
Linfo_string1:
.asciz "format.dylan"
Linfo_string2:
.asciz "/opt/opendylan-current/sources/io/"
Linfo_string3:
.asciz "format-to-string"
Linfo_string4:
.asciz "Kformat_to_stringYformatVioMM0I"
Linfo_string5:
.asciz "parse-integer"
Linfo_string6:
.asciz "Kparse_integerYformat_internalsVioMM0I"
Linfo_string7:
.asciz "do-dispatch"
Linfo_string8:
.asciz "Kdo_dispatchYformat_internalsVioMM0I"
Linfo_string9:
.asciz "format"
Linfo_string10:
.asciz "KformatYformatVioMM0I"
Linfo_string11:
.asciz "format-integer"
Linfo_string12:
.asciz "Kformat_integerYformat_internalsVioMM0I"
Linfo_string13:
.asciz "Kformat_integerYformat_internalsVioMM1I"
Linfo_string14:
.asciz "Kformat_integerYformat_internalsVioMM2I"
Linfo_string15:
.byte 0
Linfo_string16:
.asciz "KrepeatF42I"
Linfo_string17:
.asciz "print-message"
Linfo_string18:
.asciz "Kprint_messageYformatVioMM0I"
Linfo_string19:
.asciz "Kprint_messageYformatVioMM1I"
Linfo_string20:
.asciz "Kprint_messageYformatVioMM2I"
Linfo_string21:
.asciz "Kprint_messageYformatVioMM3I"
Linfo_string22:
.asciz "Kprint_messageYformatVioMM4I"
Linfo_string23:
.asciz "MV"
Linfo_string24:
.asciz "F0"
Linfo_string25:
.asciz "<raw-pointer>"
Linfo_string26:
.asciz "F1"
Linfo_string27:
.asciz "<raw-byte>"
Linfo_string28:
.asciz "Kchar_classes_initializerF0I"
Linfo_string29:
.asciz "Ktop_level_initializerF1I"
Linfo_string30:
.asciz "Ktop_level_initializerF3I"
Linfo_string31:
.asciz "args"
Linfo_string32:
.asciz "dylan_value"
Linfo_string33:
.asciz "control-string"
Linfo_string34:
.asciz "index"
Linfo_string35:
.asciz "input"
Linfo_string36:
.asciz "result"
Linfo_string37:
.asciz "ascii-zero"
Linfo_string38:
.asciz "<raw-machine-word>"
Linfo_string39:
.asciz "i"
Linfo_string40:
.asciz "negative?"
Linfo_string41:
.asciz "char"
Linfo_string42:
.asciz "stream"
Linfo_string43:
.asciz "arg"
Linfo_string44:
.asciz "%old-value%"
Linfo_string45:
.asciz "field-spec-end"
Linfo_string46:
.asciz "radix"
Linfo_string47:
.asciz "quotient"
Linfo_string48:
.asciz "remainder"
Linfo_string49:
.asciz "digits"
Linfo_string50:
.asciz "object"
.section __DWARF,__debug_info,regular,debug
L__DWARF__debug_info_begin0:
.long 1253 ## Length of Unit
.short 2 ## DWARF version number
Lset21 = Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
.long Lset21
.byte 4 ## Address Size (in bytes)
.byte 1 ## Abbrev [1] 0xb:0x4de DW_TAG_compile_unit
Lset22 = Linfo_string0-Linfo_string ## DW_AT_producer
.long Lset22
.short 32 ## DW_AT_language
Lset23 = Linfo_string1-Linfo_string ## DW_AT_name
.long Lset23
Lset24 = Lline_table_start0-Lsection_line ## DW_AT_stmt_list
.long Lset24
Lset25 = Linfo_string2-Linfo_string ## DW_AT_comp_dir
.long Lset25
.long Lfunc_begin0 ## DW_AT_low_pc
Lset26 = Lfunc_end12-Lfunc_begin0 ## DW_AT_high_pc
.long Lset26
.byte 2 ## Abbrev [2] 0x26:0x3a DW_TAG_subprogram
.long Lfunc_begin0 ## DW_AT_low_pc
.long Lfunc_end0 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset27 = Linfo_string4-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset27
Lset28 = Linfo_string3-Linfo_string ## DW_AT_name
.long Lset28
.byte 1 ## DW_AT_decl_file
.byte 46 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x41:0xf DW_TAG_formal_parameter
Lset29 = Ldebug_loc1-Lsection_debug_loc ## DW_AT_location
.long Lset29
Lset30 = Linfo_string33-Linfo_string ## DW_AT_name
.long Lset30
.byte 1 ## DW_AT_decl_file
.byte 46 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x50:0xf DW_TAG_formal_parameter
Lset31 = Ldebug_loc0-Lsection_debug_loc ## DW_AT_location
.long Lset31
Lset32 = Linfo_string31-Linfo_string ## DW_AT_name
.long Lset32
.byte 1 ## DW_AT_decl_file
.byte 46 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x60:0x99 DW_TAG_subprogram
.long Lfunc_begin1 ## DW_AT_low_pc
.long Lfunc_end1 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset33 = Linfo_string6-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset33
Lset34 = Linfo_string5-Linfo_string ## DW_AT_name
.long Lset34
.byte 1 ## DW_AT_decl_file
.byte 236 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x7b:0xf DW_TAG_formal_parameter
Lset35 = Ldebug_loc3-Lsection_debug_loc ## DW_AT_location
.long Lset35
Lset36 = Linfo_string35-Linfo_string ## DW_AT_name
.long Lset36
.byte 1 ## DW_AT_decl_file
.byte 236 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x8a:0xf DW_TAG_formal_parameter
Lset37 = Ldebug_loc2-Lsection_debug_loc ## DW_AT_location
.long Lset37
Lset38 = Linfo_string34-Linfo_string ## DW_AT_name
.long Lset38
.byte 1 ## DW_AT_decl_file
.byte 236 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 4 ## Abbrev [4] 0x99:0x5f DW_TAG_lexical_block
.long Ltmp23 ## DW_AT_low_pc
.long Ltmp83 ## DW_AT_high_pc
.byte 5 ## Abbrev [5] 0xa2:0xf DW_TAG_variable
Lset39 = Ldebug_loc4-Lsection_debug_loc ## DW_AT_location
.long Lset39
Lset40 = Linfo_string36-Linfo_string ## DW_AT_name
.long Lset40
.byte 1 ## DW_AT_decl_file
.byte 238 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 4 ## Abbrev [4] 0xb1:0x46 DW_TAG_lexical_block
.long Ltmp34 ## DW_AT_low_pc
.long Ltmp83 ## DW_AT_high_pc
.byte 6 ## Abbrev [6] 0xba:0xe DW_TAG_variable
.byte 2 ## DW_AT_location
.byte 145
.byte 100
Lset41 = Linfo_string40-Linfo_string ## DW_AT_name
.long Lset41
.byte 1 ## DW_AT_decl_file
.byte 239 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 7 ## Abbrev [7] 0xc8:0x2e DW_TAG_lexical_block
Lset42 = Ldebug_ranges2-Ldebug_range ## DW_AT_ranges
.long Lset42
.byte 5 ## Abbrev [5] 0xcd:0xf DW_TAG_variable
Lset43 = Ldebug_loc5-Lsection_debug_loc ## DW_AT_location
.long Lset43
Lset44 = Linfo_string39-Linfo_string ## DW_AT_name
.long Lset44
.byte 1 ## DW_AT_decl_file
.byte 242 ## DW_AT_decl_line
.long 1249 ## DW_AT_type
.byte 7 ## Abbrev [7] 0xdc:0x19 DW_TAG_lexical_block
Lset45 = Ldebug_ranges1-Ldebug_range ## DW_AT_ranges
.long Lset45
.byte 7 ## Abbrev [7] 0xe1:0x13 DW_TAG_lexical_block
Lset46 = Ldebug_ranges0-Ldebug_range ## DW_AT_ranges
.long Lset46
.byte 8 ## Abbrev [8] 0xe6:0xd DW_TAG_variable
.ascii "\301\001" ## DW_AT_const_value
Lset47 = Linfo_string37-Linfo_string ## DW_AT_name
.long Lset47
.byte 1 ## DW_AT_decl_file
.byte 242 ## DW_AT_decl_line
.long 1249 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0xf9:0x71 DW_TAG_subprogram
.long Lfunc_begin2 ## DW_AT_low_pc
.long Lfunc_end2 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset48 = Linfo_string8-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset48
Lset49 = Linfo_string7-Linfo_string ## DW_AT_name
.long Lset49
.byte 1 ## DW_AT_decl_file
.byte 194 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x114:0xf DW_TAG_formal_parameter
Lset50 = Ldebug_loc6-Lsection_debug_loc ## DW_AT_location
.long Lset50
Lset51 = Linfo_string41-Linfo_string ## DW_AT_name
.long Lset51
.byte 1 ## DW_AT_decl_file
.byte 194 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x123:0xf DW_TAG_formal_parameter
Lset52 = Ldebug_loc7-Lsection_debug_loc ## DW_AT_location
.long Lset52
Lset53 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset53
.byte 1 ## DW_AT_decl_file
.byte 194 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x132:0xf DW_TAG_formal_parameter
Lset54 = Ldebug_loc8-Lsection_debug_loc ## DW_AT_location
.long Lset54
Lset55 = Linfo_string43-Linfo_string ## DW_AT_name
.long Lset55
.byte 1 ## DW_AT_decl_file
.byte 194 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 4 ## Abbrev [4] 0x141:0x28 DW_TAG_lexical_block
.long Ltmp97 ## DW_AT_low_pc
.long Ltmp167 ## DW_AT_high_pc
.byte 4 ## Abbrev [4] 0x14a:0x1e DW_TAG_lexical_block
.long Ltmp97 ## DW_AT_low_pc
.long Ltmp167 ## DW_AT_high_pc
.byte 7 ## Abbrev [7] 0x153:0x14 DW_TAG_lexical_block
Lset56 = Ldebug_ranges3-Ldebug_range ## DW_AT_ranges
.long Lset56
.byte 6 ## Abbrev [6] 0x158:0xe DW_TAG_variable
.byte 2 ## DW_AT_location
.byte 145
.byte 80
Lset57 = Linfo_string44-Linfo_string ## DW_AT_name
.long Lset57
.byte 1 ## DW_AT_decl_file
.byte 201 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x16a:0x81 DW_TAG_subprogram
.long Lfunc_begin3 ## DW_AT_low_pc
.long Lfunc_end3 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset58 = Linfo_string10-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset58
Lset59 = Linfo_string9-Linfo_string ## DW_AT_name
.long Lset59
.byte 1 ## DW_AT_decl_file
.byte 120 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x185:0xf DW_TAG_formal_parameter
Lset60 = Ldebug_loc10-Lsection_debug_loc ## DW_AT_location
.long Lset60
Lset61 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset61
.byte 1 ## DW_AT_decl_file
.byte 120 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x194:0xf DW_TAG_formal_parameter
Lset62 = Ldebug_loc9-Lsection_debug_loc ## DW_AT_location
.long Lset62
Lset63 = Linfo_string33-Linfo_string ## DW_AT_name
.long Lset63
.byte 1 ## DW_AT_decl_file
.byte 120 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 9 ## Abbrev [9] 0x1a3:0xb DW_TAG_formal_parameter
Lset64 = Linfo_string31-Linfo_string ## DW_AT_name
.long Lset64
.byte 1 ## DW_AT_decl_file
.byte 120 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x1ae:0x3c DW_TAG_lexical_block
Lset65 = Ldebug_ranges8-Ldebug_range ## DW_AT_ranges
.long Lset65
.byte 7 ## Abbrev [7] 0x1b3:0x36 DW_TAG_lexical_block
Lset66 = Ldebug_ranges7-Ldebug_range ## DW_AT_ranges
.long Lset66
.byte 7 ## Abbrev [7] 0x1b8:0x1b DW_TAG_lexical_block
Lset67 = Ldebug_ranges5-Ldebug_range ## DW_AT_ranges
.long Lset67
.byte 7 ## Abbrev [7] 0x1bd:0x15 DW_TAG_lexical_block
Lset68 = Ldebug_ranges4-Ldebug_range ## DW_AT_ranges
.long Lset68
.byte 5 ## Abbrev [5] 0x1c2:0xf DW_TAG_variable
Lset69 = Ldebug_loc12-Lsection_debug_loc ## DW_AT_location
.long Lset69
Lset70 = Linfo_string45-Linfo_string ## DW_AT_name
.long Lset70
.byte 1 ## DW_AT_decl_file
.byte 147 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 7 ## Abbrev [7] 0x1d3:0x15 DW_TAG_lexical_block
Lset71 = Ldebug_ranges6-Ldebug_range ## DW_AT_ranges
.long Lset71
.byte 5 ## Abbrev [5] 0x1d8:0xf DW_TAG_variable
Lset72 = Ldebug_loc11-Lsection_debug_loc ## DW_AT_location
.long Lset72
Lset73 = Linfo_string39-Linfo_string ## DW_AT_name
.long Lset73
.byte 1 ## DW_AT_decl_file
.byte 129 ## DW_AT_decl_line
.long 1249 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 10 ## Abbrev [10] 0x1eb:0x4a DW_TAG_subprogram
.long Lfunc_begin4 ## DW_AT_low_pc
.long Lfunc_end4 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset74 = Linfo_string12-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset74
Lset75 = Linfo_string11-Linfo_string ## DW_AT_name
.long Lset75
.byte 1 ## DW_AT_decl_file
.short 265 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 11 ## Abbrev [11] 0x207:0xe DW_TAG_formal_parameter
.byte 1 ## DW_AT_location
.byte 81
Lset76 = Linfo_string43-Linfo_string ## DW_AT_name
.long Lset76
.byte 1 ## DW_AT_decl_file
.short 265 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x215:0x10 DW_TAG_formal_parameter
Lset77 = Ldebug_loc13-Lsection_debug_loc ## DW_AT_location
.long Lset77
Lset78 = Linfo_string46-Linfo_string ## DW_AT_name
.long Lset78
.byte 1 ## DW_AT_decl_file
.short 265 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 11 ## Abbrev [11] 0x225:0xf DW_TAG_formal_parameter
.byte 2 ## DW_AT_location
.byte 145
.byte 8
Lset79 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset79
.byte 1 ## DW_AT_decl_file
.short 265 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 10 ## Abbrev [10] 0x235:0x4d DW_TAG_subprogram
.long Lfunc_begin5 ## DW_AT_low_pc
.long Lfunc_end5 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset80 = Linfo_string13-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset80
Lset81 = Linfo_string11-Linfo_string ## DW_AT_name
.long Lset81
.byte 1 ## DW_AT_decl_file
.short 271 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 12 ## Abbrev [12] 0x251:0x10 DW_TAG_formal_parameter
Lset82 = Ldebug_loc15-Lsection_debug_loc ## DW_AT_location
.long Lset82
Lset83 = Linfo_string43-Linfo_string ## DW_AT_name
.long Lset83
.byte 1 ## DW_AT_decl_file
.short 271 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x261:0x10 DW_TAG_formal_parameter
Lset84 = Ldebug_loc14-Lsection_debug_loc ## DW_AT_location
.long Lset84
Lset85 = Linfo_string46-Linfo_string ## DW_AT_name
.long Lset85
.byte 1 ## DW_AT_decl_file
.short 271 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x271:0x10 DW_TAG_formal_parameter
Lset86 = Ldebug_loc16-Lsection_debug_loc ## DW_AT_location
.long Lset86
Lset87 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset87
.byte 1 ## DW_AT_decl_file
.short 271 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 10 ## Abbrev [10] 0x282:0x4d DW_TAG_subprogram
.long Lfunc_begin6 ## DW_AT_low_pc
.long Lfunc_end6 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset88 = Linfo_string14-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset88
Lset89 = Linfo_string11-Linfo_string ## DW_AT_name
.long Lset89
.byte 1 ## DW_AT_decl_file
.short 308 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 12 ## Abbrev [12] 0x29e:0x10 DW_TAG_formal_parameter
Lset90 = Ldebug_loc18-Lsection_debug_loc ## DW_AT_location
.long Lset90
Lset91 = Linfo_string43-Linfo_string ## DW_AT_name
.long Lset91
.byte 1 ## DW_AT_decl_file
.short 308 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x2ae:0x10 DW_TAG_formal_parameter
Lset92 = Ldebug_loc17-Lsection_debug_loc ## DW_AT_location
.long Lset92
Lset93 = Linfo_string46-Linfo_string ## DW_AT_name
.long Lset93
.byte 1 ## DW_AT_decl_file
.short 308 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x2be:0x10 DW_TAG_formal_parameter
Lset94 = Ldebug_loc19-Lsection_debug_loc ## DW_AT_location
.long Lset94
Lset95 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset95
.byte 1 ## DW_AT_decl_file
.short 308 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 13 ## Abbrev [13] 0x2cf:0x6c DW_TAG_subprogram
.long Lfunc_begin7 ## DW_AT_low_pc
.long Lfunc_end7 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset96 = Linfo_string16-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset96
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 7 ## Abbrev [7] 0x2e4:0x56 DW_TAG_lexical_block
Lset97 = Ldebug_ranges12-Ldebug_range ## DW_AT_ranges
.long Lset97
.byte 14 ## Abbrev [14] 0x2e9:0xe DW_TAG_variable
.byte 1 ## DW_AT_location
.byte 86
Lset98 = Linfo_string43-Linfo_string ## DW_AT_name
.long Lset98
.byte 1 ## DW_AT_decl_file
.short 285 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x2f7:0x42 DW_TAG_lexical_block
Lset99 = Ldebug_ranges11-Ldebug_range ## DW_AT_ranges
.long Lset99
.byte 15 ## Abbrev [15] 0x2fc:0x10 DW_TAG_variable
Lset100 = Ldebug_loc22-Lsection_debug_loc ## DW_AT_location
.long Lset100
Lset101 = Linfo_string49-Linfo_string ## DW_AT_name
.long Lset101
.byte 1 ## DW_AT_decl_file
.short 285 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x30c:0x2c DW_TAG_lexical_block
Lset102 = Ldebug_ranges10-Ldebug_range ## DW_AT_ranges
.long Lset102
.byte 15 ## Abbrev [15] 0x311:0x10 DW_TAG_variable
Lset103 = Ldebug_loc20-Lsection_debug_loc ## DW_AT_location
.long Lset103
Lset104 = Linfo_string47-Linfo_string ## DW_AT_name
.long Lset104
.byte 1 ## DW_AT_decl_file
.short 278 ## DW_AT_decl_line
.long 1249 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x321:0x16 DW_TAG_lexical_block
Lset105 = Ldebug_ranges9-Ldebug_range ## DW_AT_ranges
.long Lset105
.byte 15 ## Abbrev [15] 0x326:0x10 DW_TAG_variable
Lset106 = Ldebug_loc21-Lsection_debug_loc ## DW_AT_location
.long Lset106
Lset107 = Linfo_string48-Linfo_string ## DW_AT_name
.long Lset107
.byte 1 ## DW_AT_decl_file
.short 278 ## DW_AT_decl_line
.long 1249 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x33b:0x52 DW_TAG_subprogram
.long Lfunc_begin8 ## DW_AT_low_pc
.long Lfunc_end8 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset108 = Linfo_string18-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset108
Lset109 = Linfo_string17-Linfo_string ## DW_AT_name
.long Lset109
.byte 1 ## DW_AT_decl_file
.byte 67 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x356:0xf DW_TAG_formal_parameter
Lset110 = Ldebug_loc24-Lsection_debug_loc ## DW_AT_location
.long Lset110
Lset111 = Linfo_string50-Linfo_string ## DW_AT_name
.long Lset111
.byte 1 ## DW_AT_decl_file
.byte 67 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x365:0xf DW_TAG_formal_parameter
Lset112 = Ldebug_loc23-Lsection_debug_loc ## DW_AT_location
.long Lset112
Lset113 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset113
.byte 1 ## DW_AT_decl_file
.byte 67 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 4 ## Abbrev [4] 0x374:0x18 DW_TAG_lexical_block
.long Ltmp390 ## DW_AT_low_pc
.long Ltmp409 ## DW_AT_high_pc
.byte 6 ## Abbrev [6] 0x37d:0xe DW_TAG_variable
.byte 2 ## DW_AT_location
.byte 145
.byte 108
Lset114 = Linfo_string44-Linfo_string ## DW_AT_name
.long Lset114
.byte 1 ## DW_AT_decl_file
.byte 69 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x38d:0x52 DW_TAG_subprogram
.long Lfunc_begin9 ## DW_AT_low_pc
.long Lfunc_end9 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset115 = Linfo_string19-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset115
Lset116 = Linfo_string17-Linfo_string ## DW_AT_name
.long Lset116
.byte 1 ## DW_AT_decl_file
.byte 74 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x3a8:0xf DW_TAG_formal_parameter
Lset117 = Ldebug_loc26-Lsection_debug_loc ## DW_AT_location
.long Lset117
Lset118 = Linfo_string50-Linfo_string ## DW_AT_name
.long Lset118
.byte 1 ## DW_AT_decl_file
.byte 74 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x3b7:0xf DW_TAG_formal_parameter
Lset119 = Ldebug_loc25-Lsection_debug_loc ## DW_AT_location
.long Lset119
Lset120 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset120
.byte 1 ## DW_AT_decl_file
.byte 74 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 4 ## Abbrev [4] 0x3c6:0x18 DW_TAG_lexical_block
.long Ltmp419 ## DW_AT_low_pc
.long Ltmp438 ## DW_AT_high_pc
.byte 6 ## Abbrev [6] 0x3cf:0xe DW_TAG_variable
.byte 2 ## DW_AT_location
.byte 145
.byte 108
Lset121 = Linfo_string44-Linfo_string ## DW_AT_name
.long Lset121
.byte 1 ## DW_AT_decl_file
.byte 80 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x3df:0x38 DW_TAG_subprogram
.long Lfunc_begin10 ## DW_AT_low_pc
.long Lfunc_end10 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset122 = Linfo_string20-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset122
Lset123 = Linfo_string17-Linfo_string ## DW_AT_name
.long Lset123
.byte 1 ## DW_AT_decl_file
.byte 85 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 16 ## Abbrev [16] 0x3fa:0xd DW_TAG_formal_parameter
.byte 1 ## DW_AT_location
.byte 81
Lset124 = Linfo_string50-Linfo_string ## DW_AT_name
.long Lset124
.byte 1 ## DW_AT_decl_file
.byte 85 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x407:0xf DW_TAG_formal_parameter
Lset125 = Ldebug_loc27-Lsection_debug_loc ## DW_AT_location
.long Lset125
Lset126 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset126
.byte 1 ## DW_AT_decl_file
.byte 85 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x417:0x38 DW_TAG_subprogram
.long Lfunc_begin11 ## DW_AT_low_pc
.long Lfunc_end11 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset127 = Linfo_string21-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset127
Lset128 = Linfo_string17-Linfo_string ## DW_AT_name
.long Lset128
.byte 1 ## DW_AT_decl_file
.byte 90 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 16 ## Abbrev [16] 0x432:0xd DW_TAG_formal_parameter
.byte 1 ## DW_AT_location
.byte 81
Lset129 = Linfo_string50-Linfo_string ## DW_AT_name
.long Lset129
.byte 1 ## DW_AT_decl_file
.byte 90 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x43f:0xf DW_TAG_formal_parameter
Lset130 = Ldebug_loc28-Lsection_debug_loc ## DW_AT_location
.long Lset130
Lset131 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset131
.byte 1 ## DW_AT_decl_file
.byte 90 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x44f:0x3a DW_TAG_subprogram
.long Lfunc_begin12 ## DW_AT_low_pc
.long Lfunc_end12 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 85
Lset132 = Linfo_string22-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset132
Lset133 = Linfo_string17-Linfo_string ## DW_AT_name
.long Lset133
.byte 1 ## DW_AT_decl_file
.byte 95 ## DW_AT_decl_line
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 3 ## Abbrev [3] 0x46a:0xf DW_TAG_formal_parameter
Lset134 = Ldebug_loc30-Lsection_debug_loc ## DW_AT_location
.long Lset134
Lset135 = Linfo_string50-Linfo_string ## DW_AT_name
.long Lset135
.byte 1 ## DW_AT_decl_file
.byte 95 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 3 ## Abbrev [3] 0x479:0xf DW_TAG_formal_parameter
Lset136 = Ldebug_loc29-Lsection_debug_loc ## DW_AT_location
.long Lset136
Lset137 = Linfo_string42-Linfo_string ## DW_AT_name
.long Lset137
.byte 1 ## DW_AT_decl_file
.byte 95 ## DW_AT_decl_line
.long 1239 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 17 ## Abbrev [17] 0x489:0x21 DW_TAG_structure_type
Lset138 = Linfo_string23-Linfo_string ## DW_AT_name
.long Lset138
.byte 1 ## DW_AT_byte_size
.byte 18 ## Abbrev [18] 0x48f:0xd DW_TAG_member
Lset139 = Linfo_string24-Linfo_string ## DW_AT_name
.long Lset139
.long 1194 ## DW_AT_type
.byte 2 ## DW_AT_data_member_location
.byte 35
.byte 0
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 18 ## Abbrev [18] 0x49c:0xd DW_TAG_member
Lset140 = Linfo_string26-Linfo_string ## DW_AT_name
.long Lset140
.long 1199 ## DW_AT_type
.byte 2 ## DW_AT_data_member_location
.byte 35
.byte 0
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 0 ## End Of Children Mark
.byte 19 ## Abbrev [19] 0x4aa:0x5 DW_TAG_pointer_type
Lset141 = Linfo_string25-Linfo_string ## DW_AT_name
.long Lset141
.byte 20 ## Abbrev [20] 0x4af:0x7 DW_TAG_base_type
Lset142 = Linfo_string27-Linfo_string ## DW_AT_name
.long Lset142
.byte 5 ## DW_AT_encoding
.byte 1 ## DW_AT_byte_size
.byte 21 ## Abbrev [21] 0x4b6:0xb DW_TAG_subprogram
Lset143 = Linfo_string28-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset143
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 21 ## Abbrev [21] 0x4c1:0xb DW_TAG_subprogram
Lset144 = Linfo_string29-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset144
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 21 ## Abbrev [21] 0x4cc:0xb DW_TAG_subprogram
Lset145 = Linfo_string30-Linfo_string ## DW_AT_MIPS_linkage_name
.long Lset145
.long 1161 ## DW_AT_type
.byte 1 ## DW_AT_external
.byte 1 ## DW_AT_accessibility
## DW_ACCESS_public
.byte 22 ## Abbrev [22] 0x4d7:0x9 DW_TAG_typedef
.long 1248 ## DW_AT_type
Lset146 = Linfo_string32-Linfo_string ## DW_AT_name
.long Lset146
.byte 23 ## Abbrev [23] 0x4e0:0x1 DW_TAG_pointer_type
.byte 20 ## Abbrev [20] 0x4e1:0x7 DW_TAG_base_type
Lset147 = Linfo_string38-Linfo_string ## DW_AT_name
.long Lset147
.byte 5 ## DW_AT_encoding
.byte 4 ## DW_AT_byte_size
.byte 0 ## End Of Children Mark
L__DWARF__debug_info_end0:
.section __DWARF,__debug_abbrev,regular,debug
.byte 1 ## Abbreviation Code
.byte 17 ## DW_TAG_compile_unit
.byte 1 ## DW_CHILDREN_yes
.byte 37 ## DW_AT_producer
.byte 14 ## DW_FORM_strp
.byte 19 ## DW_AT_language
.byte 5 ## DW_FORM_data2
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 16 ## DW_AT_stmt_list
.byte 6 ## DW_FORM_data4
.byte 27 ## DW_AT_comp_dir
.byte 14 ## DW_FORM_strp
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 6 ## DW_FORM_data4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 2 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 1 ## DW_CHILDREN_yes
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 64 ## DW_AT_frame_base
.byte 10 ## DW_FORM_block1
.ascii "\207@" ## DW_AT_MIPS_linkage_name
.byte 14 ## DW_FORM_strp
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 50 ## DW_AT_accessibility
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 3 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 6 ## DW_FORM_data4
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 4 ## Abbreviation Code
.byte 11 ## DW_TAG_lexical_block
.byte 1 ## DW_CHILDREN_yes
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 5 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 6 ## DW_FORM_data4
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 6 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 10 ## DW_FORM_block1
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 7 ## Abbreviation Code
.byte 11 ## DW_TAG_lexical_block
.byte 1 ## DW_CHILDREN_yes
.byte 85 ## DW_AT_ranges
.byte 6 ## DW_FORM_data4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 8 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 28 ## DW_AT_const_value
.byte 13 ## DW_FORM_sdata
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 9 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 10 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 1 ## DW_CHILDREN_yes
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 64 ## DW_AT_frame_base
.byte 10 ## DW_FORM_block1
.ascii "\207@" ## DW_AT_MIPS_linkage_name
.byte 14 ## DW_FORM_strp
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 5 ## DW_FORM_data2
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 50 ## DW_AT_accessibility
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 11 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 10 ## DW_FORM_block1
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 5 ## DW_FORM_data2
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 12 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 6 ## DW_FORM_data4
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 5 ## DW_FORM_data2
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 13 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 1 ## DW_CHILDREN_yes
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 64 ## DW_AT_frame_base
.byte 10 ## DW_FORM_block1
.ascii "\207@" ## DW_AT_MIPS_linkage_name
.byte 14 ## DW_FORM_strp
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 50 ## DW_AT_accessibility
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 14 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 10 ## DW_FORM_block1
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 5 ## DW_FORM_data2
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 15 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 6 ## DW_FORM_data4
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 5 ## DW_FORM_data2
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 16 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 2 ## DW_AT_location
.byte 10 ## DW_FORM_block1
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 17 ## Abbreviation Code
.byte 19 ## DW_TAG_structure_type
.byte 1 ## DW_CHILDREN_yes
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 11 ## DW_AT_byte_size
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 18 ## Abbreviation Code
.byte 13 ## DW_TAG_member
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 56 ## DW_AT_data_member_location
.byte 10 ## DW_FORM_block1
.byte 50 ## DW_AT_accessibility
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 19 ## Abbreviation Code
.byte 15 ## DW_TAG_pointer_type
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 20 ## Abbreviation Code
.byte 36 ## DW_TAG_base_type
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 62 ## DW_AT_encoding
.byte 11 ## DW_FORM_data1
.byte 11 ## DW_AT_byte_size
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 21 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 0 ## DW_CHILDREN_no
.ascii "\207@" ## DW_AT_MIPS_linkage_name
.byte 14 ## DW_FORM_strp
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 50 ## DW_AT_accessibility
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 22 ## Abbreviation Code
.byte 22 ## DW_TAG_typedef
.byte 0 ## DW_CHILDREN_no
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 3 ## DW_AT_name
.byte 14 ## DW_FORM_strp
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 23 ## Abbreviation Code
.byte 15 ## DW_TAG_pointer_type
.byte 0 ## DW_CHILDREN_no
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 0 ## EOM(3)
.section __DWARF,__debug_ranges,regular,debug
Ldebug_ranges0:
Lset148 = Ltmp34-Lfunc_begin0
.long Lset148
Lset149 = Ltmp70-Lfunc_begin0
.long Lset149
Lset150 = Ltmp75-Lfunc_begin0
.long Lset150
Lset151 = Ltmp83-Lfunc_begin0
.long Lset151
.long 0
.long 0
Ldebug_ranges1:
Lset152 = Ltmp34-Lfunc_begin0
.long Lset152
Lset153 = Ltmp70-Lfunc_begin0
.long Lset153
Lset154 = Ltmp75-Lfunc_begin0
.long Lset154
Lset155 = Ltmp83-Lfunc_begin0
.long Lset155
.long 0
.long 0
Ldebug_ranges2:
Lset156 = Ltmp34-Lfunc_begin0
.long Lset156
Lset157 = Ltmp70-Lfunc_begin0
.long Lset157
Lset158 = Ltmp75-Lfunc_begin0
.long Lset158
Lset159 = Ltmp83-Lfunc_begin0
.long Lset159
.long 0
.long 0
Ldebug_ranges3:
Lset160 = Ltmp103-Lfunc_begin0
.long Lset160
Lset161 = Ltmp117-Lfunc_begin0
.long Lset161
Lset162 = Ltmp162-Lfunc_begin0
.long Lset162
Lset163 = Ltmp167-Lfunc_begin0
.long Lset163
.long 0
.long 0
Ldebug_ranges4:
Lset164 = Ltmp177-Lfunc_begin0
.long Lset164
Lset165 = Ltmp178-Lfunc_begin0
.long Lset165
Lset166 = Ltmp232-Lfunc_begin0
.long Lset166
Lset167 = Ltmp233-Lfunc_begin0
.long Lset167
Lset168 = Ltmp234-Lfunc_begin0
.long Lset168
Lset169 = Ltmp276-Lfunc_begin0
.long Lset169
Lset170 = Ltmp282-Lfunc_begin0
.long Lset170
Lset171 = Ltmp283-Lfunc_begin0
.long Lset171
Lset172 = Ltmp286-Lfunc_begin0
.long Lset172
Lset173 = Ltmp293-Lfunc_begin0
.long Lset173
.long 0
.long 0
Ldebug_ranges5:
Lset174 = Ltmp177-Lfunc_begin0
.long Lset174
Lset175 = Ltmp178-Lfunc_begin0
.long Lset175
Lset176 = Ltmp232-Lfunc_begin0
.long Lset176
Lset177 = Ltmp233-Lfunc_begin0
.long Lset177
Lset178 = Ltmp234-Lfunc_begin0
.long Lset178
Lset179 = Ltmp276-Lfunc_begin0
.long Lset179
Lset180 = Ltmp282-Lfunc_begin0
.long Lset180
Lset181 = Ltmp283-Lfunc_begin0
.long Lset181
Lset182 = Ltmp286-Lfunc_begin0
.long Lset182
Lset183 = Ltmp293-Lfunc_begin0
.long Lset183
.long 0
.long 0
Ldebug_ranges6:
Lset184 = Ltmp180-Lfunc_begin0
.long Lset184
Lset185 = Ltmp205-Lfunc_begin0
.long Lset185
Lset186 = Ltmp279-Lfunc_begin0
.long Lset186
Lset187 = Ltmp280-Lfunc_begin0
.long Lset187
Lset188 = Ltmp281-Lfunc_begin0
.long Lset188
Lset189 = Ltmp282-Lfunc_begin0
.long Lset189
.long 0
.long 0
Ldebug_ranges7:
Lset190 = Ltmp175-Lfunc_begin0
.long Lset190
Lset191 = Ltmp277-Lfunc_begin0
.long Lset191
Lset192 = Ltmp279-Lfunc_begin0
.long Lset192
Lset193 = Ltmp293-Lfunc_begin0
.long Lset193
.long 0
.long 0
Ldebug_ranges8:
Lset194 = Ltmp175-Lfunc_begin0
.long Lset194
Lset195 = Ltmp277-Lfunc_begin0
.long Lset195
Lset196 = Ltmp279-Lfunc_begin0
.long Lset196
Lset197 = Ltmp293-Lfunc_begin0
.long Lset197
.long 0
.long 0
Ldebug_ranges9:
Lset198 = Ltmp371-Lfunc_begin0
.long Lset198
Lset199 = Ltmp374-Lfunc_begin0
.long Lset199
Lset200 = Ltmp375-Lfunc_begin0
.long Lset200
Lset201 = Ltmp376-Lfunc_begin0
.long Lset201
Lset202 = Ltmp378-Lfunc_begin0
.long Lset202
Lset203 = Ltmp379-Lfunc_begin0
.long Lset203
.long 0
.long 0
Ldebug_ranges10:
Lset204 = Ltmp371-Lfunc_begin0
.long Lset204
Lset205 = Ltmp374-Lfunc_begin0
.long Lset205
Lset206 = Ltmp375-Lfunc_begin0
.long Lset206
Lset207 = Ltmp376-Lfunc_begin0
.long Lset207
Lset208 = Ltmp378-Lfunc_begin0
.long Lset208
Lset209 = Ltmp379-Lfunc_begin0
.long Lset209
.long 0
.long 0
Ldebug_ranges11:
Lset210 = Ltmp368-Lfunc_begin0
.long Lset210
Lset211 = Ltmp369-Lfunc_begin0
.long Lset211
Lset212 = Ltmp370-Lfunc_begin0
.long Lset212
Lset213 = Ltmp374-Lfunc_begin0
.long Lset213
Lset214 = Ltmp375-Lfunc_begin0
.long Lset214
Lset215 = Ltmp379-Lfunc_begin0
.long Lset215
.long 0
.long 0
Ldebug_ranges12:
Lset216 = Ltmp368-Lfunc_begin0
.long Lset216
Lset217 = Ltmp374-Lfunc_begin0
.long Lset217
Lset218 = Ltmp375-Lfunc_begin0
.long Lset218
Lset219 = Ltmp380-Lfunc_begin0
.long Lset219
.long 0
.long 0
.section __DWARF,__debug_loc,regular,debug
Ldebug_loc0:
Lset220 = Lfunc_begin0-Lfunc_begin0
.long Lset220
Lset221 = Ltmp6-Lfunc_begin0
.long Lset221
Lset222 = Ltmp477-Ltmp476 ## Loc expr size
.short Lset222
Ltmp476:
.byte 117 ## DW_OP_breg5
.byte 80 ##
Ltmp477:
Lset223 = Ltmp6-Lfunc_begin0
.long Lset223
Lset224 = Ltmp8-Lfunc_begin0
.long Lset224
Lset225 = Ltmp479-Ltmp478 ## Loc expr size
.short Lset225
Ltmp478:
.byte 82 ## DW_OP_reg2
Ltmp479:
Lset226 = Ltmp11-Lfunc_begin0
.long Lset226
Lset227 = Ltmp12-Lfunc_begin0
.long Lset227
Lset228 = Ltmp481-Ltmp480 ## Loc expr size
.short Lset228
Ltmp480:
.byte 82 ## DW_OP_reg2
Ltmp481:
Lset229 = Ltmp13-Lfunc_begin0
.long Lset229
Lset230 = Ltmp15-Lfunc_begin0
.long Lset230
Lset231 = Ltmp483-Ltmp482 ## Loc expr size
.short Lset231
Ltmp482:
.byte 82 ## DW_OP_reg2
Ltmp483:
.long 0
.long 0
Ldebug_loc1:
Lset232 = Lfunc_begin0-Lfunc_begin0
.long Lset232
Lset233 = Ltmp6-Lfunc_begin0
.long Lset233
Lset234 = Ltmp485-Ltmp484 ## Loc expr size
.short Lset234
Ltmp484:
.byte 117 ## DW_OP_breg5
.byte 84 ##
Ltmp485:
Lset235 = Ltmp6-Lfunc_begin0
.long Lset235
Lset236 = Ltmp7-Lfunc_begin0
.long Lset236
Lset237 = Ltmp487-Ltmp486 ## Loc expr size
.short Lset237
Ltmp486:
.byte 81 ## DW_OP_reg1
Ltmp487:
Lset238 = Ltmp9-Lfunc_begin0
.long Lset238
Lset239 = Ltmp10-Lfunc_begin0
.long Lset239
Lset240 = Ltmp489-Ltmp488 ## Loc expr size
.short Lset240
Ltmp488:
.byte 82 ## DW_OP_reg2
Ltmp489:
.long 0
.long 0
Ldebug_loc2:
Lset241 = Lfunc_begin1-Lfunc_begin0
.long Lset241
Lset242 = Ltmp23-Lfunc_begin0
.long Lset242
Lset243 = Ltmp491-Ltmp490 ## Loc expr size
.short Lset243
Ltmp490:
.byte 86 ## DW_OP_reg6
Ltmp491:
Lset244 = Ltmp23-Lfunc_begin0
.long Lset244
Lset245 = Ltmp27-Lfunc_begin0
.long Lset245
Lset246 = Ltmp493-Ltmp492 ## Loc expr size
.short Lset246
Ltmp492:
.byte 82 ## DW_OP_reg2
Ltmp493:
Lset247 = Ltmp28-Lfunc_begin0
.long Lset247
Lset248 = Ltmp39-Lfunc_begin0
.long Lset248
Lset249 = Ltmp495-Ltmp494 ## Loc expr size
.short Lset249
Ltmp494:
.byte 82 ## DW_OP_reg2
Ltmp495:
Lset250 = Ltmp40-Lfunc_begin0
.long Lset250
Lset251 = Ltmp41-Lfunc_begin0
.long Lset251
Lset252 = Ltmp497-Ltmp496 ## Loc expr size
.short Lset252
Ltmp496:
.byte 82 ## DW_OP_reg2
Ltmp497:
Lset253 = Ltmp42-Lfunc_begin0
.long Lset253
Lset254 = Ltmp43-Lfunc_begin0
.long Lset254
Lset255 = Ltmp499-Ltmp498 ## Loc expr size
.short Lset255
Ltmp498:
.byte 82 ## DW_OP_reg2
Ltmp499:
Lset256 = Ltmp44-Lfunc_begin0
.long Lset256
Lset257 = Ltmp46-Lfunc_begin0
.long Lset257
Lset258 = Ltmp501-Ltmp500 ## Loc expr size
.short Lset258
Ltmp500:
.byte 82 ## DW_OP_reg2
Ltmp501:
Lset259 = Ltmp47-Lfunc_begin0
.long Lset259
Lset260 = Ltmp49-Lfunc_begin0
.long Lset260
Lset261 = Ltmp503-Ltmp502 ## Loc expr size
.short Lset261
Ltmp502:
.byte 82 ## DW_OP_reg2
Ltmp503:
Lset262 = Ltmp50-Lfunc_begin0
.long Lset262
Lset263 = Ltmp53-Lfunc_begin0
.long Lset263
Lset264 = Ltmp505-Ltmp504 ## Loc expr size
.short Lset264
Ltmp504:
.byte 82 ## DW_OP_reg2
Ltmp505:
Lset265 = Ltmp54-Lfunc_begin0
.long Lset265
Lset266 = Ltmp70-Lfunc_begin0
.long Lset266
Lset267 = Ltmp507-Ltmp506 ## Loc expr size
.short Lset267
Ltmp506:
.byte 82 ## DW_OP_reg2
Ltmp507:
Lset268 = Ltmp71-Lfunc_begin0
.long Lset268
Lset269 = Ltmp74-Lfunc_begin0
.long Lset269
Lset270 = Ltmp509-Ltmp508 ## Loc expr size
.short Lset270
Ltmp508:
.byte 82 ## DW_OP_reg2
Ltmp509:
Lset271 = Ltmp75-Lfunc_begin0
.long Lset271
Lset272 = Ltmp80-Lfunc_begin0
.long Lset272
Lset273 = Ltmp511-Ltmp510 ## Loc expr size
.short Lset273
Ltmp510:
.byte 82 ## DW_OP_reg2
Ltmp511:
Lset274 = Ltmp81-Lfunc_begin0
.long Lset274
Lset275 = Ltmp82-Lfunc_begin0
.long Lset275
Lset276 = Ltmp513-Ltmp512 ## Loc expr size
.short Lset276
Ltmp512:
.byte 82 ## DW_OP_reg2
Ltmp513:
.long 0
.long 0
Ldebug_loc3:
Lset277 = Lfunc_begin1-Lfunc_begin0
.long Lset277
Lset278 = Ltmp23-Lfunc_begin0
.long Lset278
Lset279 = Ltmp515-Ltmp514 ## Loc expr size
.short Lset279
Ltmp514:
.byte 82 ## DW_OP_reg2
Ltmp515:
Lset280 = Ltmp23-Lfunc_begin0
.long Lset280
Lset281 = Ltmp26-Lfunc_begin0
.long Lset281
Lset282 = Ltmp517-Ltmp516 ## Loc expr size
.short Lset282
Ltmp516:
.byte 81 ## DW_OP_reg1
Ltmp517:
Lset283 = Ltmp28-Lfunc_begin0
.long Lset283
Lset284 = Ltmp38-Lfunc_begin0
.long Lset284
Lset285 = Ltmp519-Ltmp518 ## Loc expr size
.short Lset285
Ltmp518:
.byte 81 ## DW_OP_reg1
Ltmp519:
Lset286 = Ltmp40-Lfunc_begin0
.long Lset286
Lset287 = Ltmp45-Lfunc_begin0
.long Lset287
Lset288 = Ltmp521-Ltmp520 ## Loc expr size
.short Lset288
Ltmp520:
.byte 81 ## DW_OP_reg1
Ltmp521:
Lset289 = Ltmp47-Lfunc_begin0
.long Lset289
Lset290 = Ltmp52-Lfunc_begin0
.long Lset290
Lset291 = Ltmp523-Ltmp522 ## Loc expr size
.short Lset291
Ltmp522:
.byte 81 ## DW_OP_reg1
Ltmp523:
Lset292 = Ltmp54-Lfunc_begin0
.long Lset292
Lset293 = Ltmp55-Lfunc_begin0
.long Lset293
Lset294 = Ltmp525-Ltmp524 ## Loc expr size
.short Lset294
Ltmp524:
.byte 81 ## DW_OP_reg1
Ltmp525:
Lset295 = Ltmp56-Lfunc_begin0
.long Lset295
Lset296 = Ltmp57-Lfunc_begin0
.long Lset296
Lset297 = Ltmp527-Ltmp526 ## Loc expr size
.short Lset297
Ltmp526:
.byte 81 ## DW_OP_reg1
Ltmp527:
Lset298 = Ltmp58-Lfunc_begin0
.long Lset298
Lset299 = Ltmp59-Lfunc_begin0
.long Lset299
Lset300 = Ltmp529-Ltmp528 ## Loc expr size
.short Lset300
Ltmp528:
.byte 81 ## DW_OP_reg1
Ltmp529:
Lset301 = Ltmp60-Lfunc_begin0
.long Lset301
Lset302 = Ltmp61-Lfunc_begin0
.long Lset302
Lset303 = Ltmp531-Ltmp530 ## Loc expr size
.short Lset303
Ltmp530:
.byte 81 ## DW_OP_reg1
Ltmp531:
Lset304 = Ltmp62-Lfunc_begin0
.long Lset304
Lset305 = Ltmp67-Lfunc_begin0
.long Lset305
Lset306 = Ltmp533-Ltmp532 ## Loc expr size
.short Lset306
Ltmp532:
.byte 81 ## DW_OP_reg1
Ltmp533:
Lset307 = Ltmp68-Lfunc_begin0
.long Lset307
Lset308 = Ltmp70-Lfunc_begin0
.long Lset308
Lset309 = Ltmp535-Ltmp534 ## Loc expr size
.short Lset309
Ltmp534:
.byte 81 ## DW_OP_reg1
Ltmp535:
Lset310 = Ltmp71-Lfunc_begin0
.long Lset310
Lset311 = Ltmp72-Lfunc_begin0
.long Lset311
Lset312 = Ltmp537-Ltmp536 ## Loc expr size
.short Lset312
Ltmp536:
.byte 81 ## DW_OP_reg1
Ltmp537:
Lset313 = Ltmp73-Lfunc_begin0
.long Lset313
Lset314 = Ltmp79-Lfunc_begin0
.long Lset314
Lset315 = Ltmp539-Ltmp538 ## Loc expr size
.short Lset315
Ltmp538:
.byte 81 ## DW_OP_reg1
Ltmp539:
Lset316 = Ltmp81-Lfunc_begin0
.long Lset316
Lset317 = Lfunc_end1-Lfunc_begin0
.long Lset317
Lset318 = Ltmp541-Ltmp540 ## Loc expr size
.short Lset318
Ltmp540:
.byte 81 ## DW_OP_reg1
Ltmp541:
.long 0
.long 0
Ldebug_loc4:
Lset319 = Ltmp34-Lfunc_begin0
.long Lset319
Lset320 = Ltmp34-Lfunc_begin0
.long Lset320
Lset321 = Ltmp543-Ltmp542 ## Loc expr size
.short Lset321
Ltmp542:
.byte 87 ## DW_OP_reg7
Ltmp543:
.long 0
.long 0
Ldebug_loc5:
Lset322 = Ltmp34-Lfunc_begin0
.long Lset322
Lset323 = Ltmp63-Lfunc_begin0
.long Lset323
Lset324 = Ltmp545-Ltmp544 ## Loc expr size
.short Lset324
Ltmp544:
.byte 86 ## DW_OP_reg6
Ltmp545:
.long 0
.long 0
Ldebug_loc6:
Lset325 = Lfunc_begin2-Lfunc_begin0
.long Lset325
Lset326 = Ltmp98-Lfunc_begin0
.long Lset326
Lset327 = Ltmp547-Ltmp546 ## Loc expr size
.short Lset327
Ltmp546:
.byte 81 ## DW_OP_reg1
Ltmp547:
Lset328 = Ltmp100-Lfunc_begin0
.long Lset328
Lset329 = Ltmp109-Lfunc_begin0
.long Lset329
Lset330 = Ltmp549-Ltmp548 ## Loc expr size
.short Lset330
Ltmp548:
.byte 81 ## DW_OP_reg1
Ltmp549:
Lset331 = Ltmp111-Lfunc_begin0
.long Lset331
Lset332 = Ltmp112-Lfunc_begin0
.long Lset332
Lset333 = Ltmp551-Ltmp550 ## Loc expr size
.short Lset333
Ltmp550:
.byte 81 ## DW_OP_reg1
Ltmp551:
Lset334 = Ltmp113-Lfunc_begin0
.long Lset334
Lset335 = Ltmp115-Lfunc_begin0
.long Lset335
Lset336 = Ltmp553-Ltmp552 ## Loc expr size
.short Lset336
Ltmp552:
.byte 81 ## DW_OP_reg1
Ltmp553:
Lset337 = Ltmp117-Lfunc_begin0
.long Lset337
Lset338 = Ltmp130-Lfunc_begin0
.long Lset338
Lset339 = Ltmp555-Ltmp554 ## Loc expr size
.short Lset339
Ltmp554:
.byte 81 ## DW_OP_reg1
Ltmp555:
Lset340 = Ltmp132-Lfunc_begin0
.long Lset340
Lset341 = Ltmp135-Lfunc_begin0
.long Lset341
Lset342 = Ltmp557-Ltmp556 ## Loc expr size
.short Lset342
Ltmp556:
.byte 81 ## DW_OP_reg1
Ltmp557:
Lset343 = Ltmp137-Lfunc_begin0
.long Lset343
Lset344 = Ltmp142-Lfunc_begin0
.long Lset344
Lset345 = Ltmp559-Ltmp558 ## Loc expr size
.short Lset345
Ltmp558:
.byte 81 ## DW_OP_reg1
Ltmp559:
Lset346 = Ltmp144-Lfunc_begin0
.long Lset346
Lset347 = Ltmp147-Lfunc_begin0
.long Lset347
Lset348 = Ltmp561-Ltmp560 ## Loc expr size
.short Lset348
Ltmp560:
.byte 81 ## DW_OP_reg1
Ltmp561:
Lset349 = Ltmp149-Lfunc_begin0
.long Lset349
Lset350 = Ltmp150-Lfunc_begin0
.long Lset350
Lset351 = Ltmp563-Ltmp562 ## Loc expr size
.short Lset351
Ltmp562:
.byte 81 ## DW_OP_reg1
Ltmp563:
Lset352 = Ltmp152-Lfunc_begin0
.long Lset352
Lset353 = Ltmp154-Lfunc_begin0
.long Lset353
Lset354 = Ltmp565-Ltmp564 ## Loc expr size
.short Lset354
Ltmp564:
.byte 81 ## DW_OP_reg1
Ltmp565:
Lset355 = Ltmp156-Lfunc_begin0
.long Lset355
Lset356 = Ltmp157-Lfunc_begin0
.long Lset356
Lset357 = Ltmp567-Ltmp566 ## Loc expr size
.short Lset357
Ltmp566:
.byte 81 ## DW_OP_reg1
Ltmp567:
Lset358 = Ltmp159-Lfunc_begin0
.long Lset358
Lset359 = Ltmp160-Lfunc_begin0
.long Lset359
Lset360 = Ltmp569-Ltmp568 ## Loc expr size
.short Lset360
Ltmp568:
.byte 81 ## DW_OP_reg1
Ltmp569:
Lset361 = Ltmp161-Lfunc_begin0
.long Lset361
Lset362 = Ltmp163-Lfunc_begin0
.long Lset362
Lset363 = Ltmp571-Ltmp570 ## Loc expr size
.short Lset363
Ltmp570:
.byte 81 ## DW_OP_reg1
Ltmp571:
Lset364 = Ltmp164-Lfunc_begin0
.long Lset364
Lset365 = Ltmp166-Lfunc_begin0
.long Lset365
Lset366 = Ltmp573-Ltmp572 ## Loc expr size
.short Lset366
Ltmp572:
.byte 81 ## DW_OP_reg1
Ltmp573:
.long 0
.long 0
Ldebug_loc7:
Lset367 = Lfunc_begin2-Lfunc_begin0
.long Lset367
Lset368 = Ltmp93-Lfunc_begin0
.long Lset368
Lset369 = Ltmp575-Ltmp574 ## Loc expr size
.short Lset369
Ltmp574:
.byte 86 ## DW_OP_reg6
Ltmp575:
Lset370 = Ltmp93-Lfunc_begin0
.long Lset370
Lset371 = Ltmp99-Lfunc_begin0
.long Lset371
Lset372 = Ltmp577-Ltmp576 ## Loc expr size
.short Lset372
Ltmp576:
.byte 82 ## DW_OP_reg2
Ltmp577:
Lset373 = Ltmp100-Lfunc_begin0
.long Lset373
Lset374 = Ltmp110-Lfunc_begin0
.long Lset374
Lset375 = Ltmp579-Ltmp578 ## Loc expr size
.short Lset375
Ltmp578:
.byte 82 ## DW_OP_reg2
Ltmp579:
Lset376 = Ltmp111-Lfunc_begin0
.long Lset376
Lset377 = Ltmp116-Lfunc_begin0
.long Lset377
Lset378 = Ltmp581-Ltmp580 ## Loc expr size
.short Lset378
Ltmp580:
.byte 82 ## DW_OP_reg2
Ltmp581:
Lset379 = Ltmp117-Lfunc_begin0
.long Lset379
Lset380 = Ltmp131-Lfunc_begin0
.long Lset380
Lset381 = Ltmp583-Ltmp582 ## Loc expr size
.short Lset381
Ltmp582:
.byte 82 ## DW_OP_reg2
Ltmp583:
Lset382 = Ltmp132-Lfunc_begin0
.long Lset382
Lset383 = Ltmp136-Lfunc_begin0
.long Lset383
Lset384 = Ltmp585-Ltmp584 ## Loc expr size
.short Lset384
Ltmp584:
.byte 82 ## DW_OP_reg2
Ltmp585:
Lset385 = Ltmp137-Lfunc_begin0
.long Lset385
Lset386 = Ltmp143-Lfunc_begin0
.long Lset386
Lset387 = Ltmp587-Ltmp586 ## Loc expr size
.short Lset387
Ltmp586:
.byte 82 ## DW_OP_reg2
Ltmp587:
Lset388 = Ltmp144-Lfunc_begin0
.long Lset388
Lset389 = Ltmp148-Lfunc_begin0
.long Lset389
Lset390 = Ltmp589-Ltmp588 ## Loc expr size
.short Lset390
Ltmp588:
.byte 82 ## DW_OP_reg2
Ltmp589:
Lset391 = Ltmp149-Lfunc_begin0
.long Lset391
Lset392 = Ltmp151-Lfunc_begin0
.long Lset392
Lset393 = Ltmp591-Ltmp590 ## Loc expr size
.short Lset393
Ltmp590:
.byte 82 ## DW_OP_reg2
Ltmp591:
Lset394 = Ltmp152-Lfunc_begin0
.long Lset394
Lset395 = Ltmp155-Lfunc_begin0
.long Lset395
Lset396 = Ltmp593-Ltmp592 ## Loc expr size
.short Lset396
Ltmp592:
.byte 82 ## DW_OP_reg2
Ltmp593:
Lset397 = Ltmp156-Lfunc_begin0
.long Lset397
Lset398 = Ltmp158-Lfunc_begin0
.long Lset398
Lset399 = Ltmp595-Ltmp594 ## Loc expr size
.short Lset399
Ltmp594:
.byte 82 ## DW_OP_reg2
Ltmp595:
Lset400 = Ltmp159-Lfunc_begin0
.long Lset400
Lset401 = Ltmp160-Lfunc_begin0
.long Lset401
Lset402 = Ltmp597-Ltmp596 ## Loc expr size
.short Lset402
Ltmp596:
.byte 82 ## DW_OP_reg2
Ltmp597:
Lset403 = Ltmp161-Lfunc_begin0
.long Lset403
Lset404 = Lfunc_end2-Lfunc_begin0
.long Lset404
Lset405 = Ltmp599-Ltmp598 ## Loc expr size
.short Lset405
Ltmp598:
.byte 82 ## DW_OP_reg2
Ltmp599:
.long 0
.long 0
Ldebug_loc8:
Lset406 = Lfunc_begin2-Lfunc_begin0
.long Lset406
Lset407 = Ltmp96-Lfunc_begin0
.long Lset407
Lset408 = Ltmp601-Ltmp600 ## Loc expr size
.short Lset408
Ltmp600:
.byte 87 ## DW_OP_reg7
Ltmp601:
Lset409 = Ltmp100-Lfunc_begin0
.long Lset409
Lset410 = Ltmp103-Lfunc_begin0
.long Lset410
Lset411 = Ltmp603-Ltmp602 ## Loc expr size
.short Lset411
Ltmp602:
.byte 87 ## DW_OP_reg7
Ltmp603:
Lset412 = Ltmp117-Lfunc_begin0
.long Lset412
Lset413 = Ltmp148-Lfunc_begin0
.long Lset413
Lset414 = Ltmp605-Ltmp604 ## Loc expr size
.short Lset414
Ltmp604:
.byte 87 ## DW_OP_reg7
Ltmp605:
Lset415 = Ltmp149-Lfunc_begin0
.long Lset415
Lset416 = Ltmp156-Lfunc_begin0
.long Lset416
Lset417 = Ltmp607-Ltmp606 ## Loc expr size
.short Lset417
Ltmp606:
.byte 87 ## DW_OP_reg7
Ltmp607:
.long 0
.long 0
Ldebug_loc9:
Lset418 = Lfunc_begin3-Lfunc_begin0
.long Lset418
Lset419 = Ltmp186-Lfunc_begin0
.long Lset419
Lset420 = Ltmp609-Ltmp608 ## Loc expr size
.short Lset420
Ltmp608:
.byte 82 ## DW_OP_reg2
Ltmp609:
Lset421 = Ltmp187-Lfunc_begin0
.long Lset421
Lset422 = Ltmp193-Lfunc_begin0
.long Lset422
Lset423 = Ltmp611-Ltmp610 ## Loc expr size
.short Lset423
Ltmp610:
.byte 82 ## DW_OP_reg2
Ltmp611:
Lset424 = Ltmp194-Lfunc_begin0
.long Lset424
Lset425 = Ltmp200-Lfunc_begin0
.long Lset425
Lset426 = Ltmp613-Ltmp612 ## Loc expr size
.short Lset426
Ltmp612:
.byte 82 ## DW_OP_reg2
Ltmp613:
Lset427 = Ltmp202-Lfunc_begin0
.long Lset427
Lset428 = Ltmp206-Lfunc_begin0
.long Lset428
Lset429 = Ltmp615-Ltmp614 ## Loc expr size
.short Lset429
Ltmp614:
.byte 82 ## DW_OP_reg2
Ltmp615:
Lset430 = Ltmp207-Lfunc_begin0
.long Lset430
Lset431 = Ltmp209-Lfunc_begin0
.long Lset431
Lset432 = Ltmp617-Ltmp616 ## Loc expr size
.short Lset432
Ltmp616:
.byte 82 ## DW_OP_reg2
Ltmp617:
Lset433 = Ltmp210-Lfunc_begin0
.long Lset433
Lset434 = Ltmp215-Lfunc_begin0
.long Lset434
Lset435 = Ltmp619-Ltmp618 ## Loc expr size
.short Lset435
Ltmp618:
.byte 82 ## DW_OP_reg2
Ltmp619:
Lset436 = Ltmp216-Lfunc_begin0
.long Lset436
Lset437 = Ltmp221-Lfunc_begin0
.long Lset437
Lset438 = Ltmp621-Ltmp620 ## Loc expr size
.short Lset438
Ltmp620:
.byte 82 ## DW_OP_reg2
Ltmp621:
Lset439 = Ltmp222-Lfunc_begin0
.long Lset439
Lset440 = Ltmp223-Lfunc_begin0
.long Lset440
Lset441 = Ltmp623-Ltmp622 ## Loc expr size
.short Lset441
Ltmp622:
.byte 82 ## DW_OP_reg2
Ltmp623:
Lset442 = Ltmp224-Lfunc_begin0
.long Lset442
Lset443 = Ltmp225-Lfunc_begin0
.long Lset443
Lset444 = Ltmp625-Ltmp624 ## Loc expr size
.short Lset444
Ltmp624:
.byte 82 ## DW_OP_reg2
Ltmp625:
Lset445 = Ltmp226-Lfunc_begin0
.long Lset445
Lset446 = Ltmp228-Lfunc_begin0
.long Lset446
Lset447 = Ltmp627-Ltmp626 ## Loc expr size
.short Lset447
Ltmp626:
.byte 82 ## DW_OP_reg2
Ltmp627:
Lset448 = Ltmp229-Lfunc_begin0
.long Lset448
Lset449 = Ltmp231-Lfunc_begin0
.long Lset449
Lset450 = Ltmp629-Ltmp628 ## Loc expr size
.short Lset450
Ltmp628:
.byte 82 ## DW_OP_reg2
Ltmp629:
Lset451 = Ltmp233-Lfunc_begin0
.long Lset451
Lset452 = Ltmp237-Lfunc_begin0
.long Lset452
Lset453 = Ltmp631-Ltmp630 ## Loc expr size
.short Lset453
Ltmp630:
.byte 82 ## DW_OP_reg2
Ltmp631:
Lset454 = Ltmp238-Lfunc_begin0
.long Lset454
Lset455 = Ltmp241-Lfunc_begin0
.long Lset455
Lset456 = Ltmp633-Ltmp632 ## Loc expr size
.short Lset456
Ltmp632:
.byte 82 ## DW_OP_reg2
Ltmp633:
Lset457 = Ltmp243-Lfunc_begin0
.long Lset457
Lset458 = Ltmp248-Lfunc_begin0
.long Lset458
Lset459 = Ltmp635-Ltmp634 ## Loc expr size
.short Lset459
Ltmp634:
.byte 82 ## DW_OP_reg2
Ltmp635:
Lset460 = Ltmp249-Lfunc_begin0
.long Lset460
Lset461 = Ltmp253-Lfunc_begin0
.long Lset461
Lset462 = Ltmp637-Ltmp636 ## Loc expr size
.short Lset462
Ltmp636:
.byte 82 ## DW_OP_reg2
Ltmp637:
Lset463 = Ltmp254-Lfunc_begin0
.long Lset463
Lset464 = Ltmp259-Lfunc_begin0
.long Lset464
Lset465 = Ltmp639-Ltmp638 ## Loc expr size
.short Lset465
Ltmp638:
.byte 82 ## DW_OP_reg2
Ltmp639:
Lset466 = Ltmp260-Lfunc_begin0
.long Lset466
Lset467 = Ltmp262-Lfunc_begin0
.long Lset467
Lset468 = Ltmp641-Ltmp640 ## Loc expr size
.short Lset468
Ltmp640:
.byte 82 ## DW_OP_reg2
Ltmp641:
Lset469 = Ltmp263-Lfunc_begin0
.long Lset469
Lset470 = Ltmp269-Lfunc_begin0
.long Lset470
Lset471 = Ltmp643-Ltmp642 ## Loc expr size
.short Lset471
Ltmp642:
.byte 82 ## DW_OP_reg2
Ltmp643:
Lset472 = Ltmp270-Lfunc_begin0
.long Lset472
Lset473 = Ltmp272-Lfunc_begin0
.long Lset473
Lset474 = Ltmp645-Ltmp644 ## Loc expr size
.short Lset474
Ltmp644:
.byte 82 ## DW_OP_reg2
Ltmp645:
Lset475 = Ltmp273-Lfunc_begin0
.long Lset475
Lset476 = Ltmp275-Lfunc_begin0
.long Lset476
Lset477 = Ltmp647-Ltmp646 ## Loc expr size
.short Lset477
Ltmp646:
.byte 82 ## DW_OP_reg2
Ltmp647:
Lset478 = Ltmp276-Lfunc_begin0
.long Lset478
Lset479 = Ltmp278-Lfunc_begin0
.long Lset479
Lset480 = Ltmp649-Ltmp648 ## Loc expr size
.short Lset480
Ltmp648:
.byte 82 ## DW_OP_reg2
Ltmp649:
Lset481 = Ltmp279-Lfunc_begin0
.long Lset481
Lset482 = Ltmp285-Lfunc_begin0
.long Lset482
Lset483 = Ltmp651-Ltmp650 ## Loc expr size
.short Lset483
Ltmp650:
.byte 82 ## DW_OP_reg2
Ltmp651:
Lset484 = Ltmp286-Lfunc_begin0
.long Lset484
Lset485 = Ltmp288-Lfunc_begin0
.long Lset485
Lset486 = Ltmp653-Ltmp652 ## Loc expr size
.short Lset486
Ltmp652:
.byte 82 ## DW_OP_reg2
Ltmp653:
Lset487 = Ltmp289-Lfunc_begin0
.long Lset487
Lset488 = Ltmp290-Lfunc_begin0
.long Lset488
Lset489 = Ltmp655-Ltmp654 ## Loc expr size
.short Lset489
Ltmp654:
.byte 82 ## DW_OP_reg2
Ltmp655:
Lset490 = Ltmp292-Lfunc_begin0
.long Lset490
Lset491 = Lfunc_end3-Lfunc_begin0
.long Lset491
Lset492 = Ltmp657-Ltmp656 ## Loc expr size
.short Lset492
Ltmp656:
.byte 82 ## DW_OP_reg2
Ltmp657:
.long 0
.long 0
Ldebug_loc10:
Lset493 = Lfunc_begin3-Lfunc_begin0
.long Lset493
Lset494 = Ltmp174-Lfunc_begin0
.long Lset494
Lset495 = Ltmp659-Ltmp658 ## Loc expr size
.short Lset495
Ltmp658:
.byte 117 ## DW_OP_breg5
.ascii "\260\177" ##
Ltmp659:
Lset496 = Ltmp174-Lfunc_begin0
.long Lset496
Lset497 = Ltmp183-Lfunc_begin0
.long Lset497
Lset498 = Ltmp661-Ltmp660 ## Loc expr size
.short Lset498
Ltmp660:
.byte 81 ## DW_OP_reg1
Ltmp661:
Lset499 = Ltmp184-Lfunc_begin0
.long Lset499
Lset500 = Ltmp185-Lfunc_begin0
.long Lset500
Lset501 = Ltmp663-Ltmp662 ## Loc expr size
.short Lset501
Ltmp662:
.byte 81 ## DW_OP_reg1
Ltmp663:
Lset502 = Ltmp187-Lfunc_begin0
.long Lset502
Lset503 = Ltmp190-Lfunc_begin0
.long Lset503
Lset504 = Ltmp665-Ltmp664 ## Loc expr size
.short Lset504
Ltmp664:
.byte 81 ## DW_OP_reg1
Ltmp665:
Lset505 = Ltmp191-Lfunc_begin0
.long Lset505
Lset506 = Ltmp192-Lfunc_begin0
.long Lset506
Lset507 = Ltmp667-Ltmp666 ## Loc expr size
.short Lset507
Ltmp666:
.byte 81 ## DW_OP_reg1
Ltmp667:
Lset508 = Ltmp194-Lfunc_begin0
.long Lset508
Lset509 = Ltmp201-Lfunc_begin0
.long Lset509
Lset510 = Ltmp669-Ltmp668 ## Loc expr size
.short Lset510
Ltmp668:
.byte 81 ## DW_OP_reg1
Ltmp669:
Lset511 = Ltmp202-Lfunc_begin0
.long Lset511
Lset512 = Ltmp211-Lfunc_begin0
.long Lset512
Lset513 = Ltmp671-Ltmp670 ## Loc expr size
.short Lset513
Ltmp670:
.byte 81 ## DW_OP_reg1
Ltmp671:
Lset514 = Ltmp212-Lfunc_begin0
.long Lset514
Lset515 = Ltmp214-Lfunc_begin0
.long Lset515
Lset516 = Ltmp673-Ltmp672 ## Loc expr size
.short Lset516
Ltmp672:
.byte 81 ## DW_OP_reg1
Ltmp673:
Lset517 = Ltmp216-Lfunc_begin0
.long Lset517
Lset518 = Ltmp218-Lfunc_begin0
.long Lset518
Lset519 = Ltmp675-Ltmp674 ## Loc expr size
.short Lset519
Ltmp674:
.byte 81 ## DW_OP_reg1
Ltmp675:
Lset520 = Ltmp219-Lfunc_begin0
.long Lset520
Lset521 = Ltmp220-Lfunc_begin0
.long Lset521
Lset522 = Ltmp677-Ltmp676 ## Loc expr size
.short Lset522
Ltmp676:
.byte 81 ## DW_OP_reg1
Ltmp677:
Lset523 = Ltmp222-Lfunc_begin0
.long Lset523
Lset524 = Ltmp227-Lfunc_begin0
.long Lset524
Lset525 = Ltmp679-Ltmp678 ## Loc expr size
.short Lset525
Ltmp678:
.byte 81 ## DW_OP_reg1
Ltmp679:
Lset526 = Ltmp229-Lfunc_begin0
.long Lset526
Lset527 = Ltmp230-Lfunc_begin0
.long Lset527
Lset528 = Ltmp681-Ltmp680 ## Loc expr size
.short Lset528
Ltmp680:
.byte 81 ## DW_OP_reg1
Ltmp681:
Lset529 = Ltmp233-Lfunc_begin0
.long Lset529
Lset530 = Ltmp236-Lfunc_begin0
.long Lset530
Lset531 = Ltmp683-Ltmp682 ## Loc expr size
.short Lset531
Ltmp682:
.byte 81 ## DW_OP_reg1
Ltmp683:
Lset532 = Ltmp238-Lfunc_begin0
.long Lset532
Lset533 = Ltmp240-Lfunc_begin0
.long Lset533
Lset534 = Ltmp685-Ltmp684 ## Loc expr size
.short Lset534
Ltmp684:
.byte 81 ## DW_OP_reg1
Ltmp685:
Lset535 = Ltmp243-Lfunc_begin0
.long Lset535
Lset536 = Ltmp244-Lfunc_begin0
.long Lset536
Lset537 = Ltmp687-Ltmp686 ## Loc expr size
.short Lset537
Ltmp686:
.byte 81 ## DW_OP_reg1
Ltmp687:
Lset538 = Ltmp245-Lfunc_begin0
.long Lset538
Lset539 = Ltmp246-Lfunc_begin0
.long Lset539
Lset540 = Ltmp689-Ltmp688 ## Loc expr size
.short Lset540
Ltmp688:
.byte 81 ## DW_OP_reg1
Ltmp689:
Lset541 = Ltmp247-Lfunc_begin0
.long Lset541
Lset542 = Ltmp252-Lfunc_begin0
.long Lset542
Lset543 = Ltmp691-Ltmp690 ## Loc expr size
.short Lset543
Ltmp690:
.byte 81 ## DW_OP_reg1
Ltmp691:
Lset544 = Ltmp254-Lfunc_begin0
.long Lset544
Lset545 = Ltmp256-Lfunc_begin0
.long Lset545
Lset546 = Ltmp693-Ltmp692 ## Loc expr size
.short Lset546
Ltmp692:
.byte 81 ## DW_OP_reg1
Ltmp693:
Lset547 = Ltmp257-Lfunc_begin0
.long Lset547
Lset548 = Ltmp258-Lfunc_begin0
.long Lset548
Lset549 = Ltmp695-Ltmp694 ## Loc expr size
.short Lset549
Ltmp694:
.byte 81 ## DW_OP_reg1
Ltmp695:
Lset550 = Ltmp260-Lfunc_begin0
.long Lset550
Lset551 = Ltmp261-Lfunc_begin0
.long Lset551
Lset552 = Ltmp697-Ltmp696 ## Loc expr size
.short Lset552
Ltmp696:
.byte 81 ## DW_OP_reg1
Ltmp697:
Lset553 = Ltmp263-Lfunc_begin0
.long Lset553
Lset554 = Ltmp268-Lfunc_begin0
.long Lset554
Lset555 = Ltmp699-Ltmp698 ## Loc expr size
.short Lset555
Ltmp698:
.byte 81 ## DW_OP_reg1
Ltmp699:
Lset556 = Ltmp270-Lfunc_begin0
.long Lset556
Lset557 = Ltmp271-Lfunc_begin0
.long Lset557
Lset558 = Ltmp701-Ltmp700 ## Loc expr size
.short Lset558
Ltmp700:
.byte 81 ## DW_OP_reg1
Ltmp701:
Lset559 = Ltmp273-Lfunc_begin0
.long Lset559
Lset560 = Ltmp274-Lfunc_begin0
.long Lset560
Lset561 = Ltmp703-Ltmp702 ## Loc expr size
.short Lset561
Ltmp702:
.byte 81 ## DW_OP_reg1
Ltmp703:
Lset562 = Ltmp276-Lfunc_begin0
.long Lset562
Lset563 = Ltmp284-Lfunc_begin0
.long Lset563
Lset564 = Ltmp705-Ltmp704 ## Loc expr size
.short Lset564
Ltmp704:
.byte 81 ## DW_OP_reg1
Ltmp705:
Lset565 = Ltmp286-Lfunc_begin0
.long Lset565
Lset566 = Ltmp287-Lfunc_begin0
.long Lset566
Lset567 = Ltmp707-Ltmp706 ## Loc expr size
.short Lset567
Ltmp706:
.byte 81 ## DW_OP_reg1
Ltmp707:
Lset568 = Ltmp289-Lfunc_begin0
.long Lset568
Lset569 = Ltmp291-Lfunc_begin0
.long Lset569
Lset570 = Ltmp709-Ltmp708 ## Loc expr size
.short Lset570
Ltmp708:
.byte 81 ## DW_OP_reg1
Ltmp709:
Lset571 = Ltmp292-Lfunc_begin0
.long Lset571
Lset572 = Lfunc_end3-Lfunc_begin0
.long Lset572
Lset573 = Ltmp711-Ltmp710 ## Loc expr size
.short Lset573
Ltmp710:
.byte 81 ## DW_OP_reg1
Ltmp711:
.long 0
.long 0
Ldebug_loc11:
Lset574 = Ltmp203-Lfunc_begin0
.long Lset574
Lset575 = Ltmp204-Lfunc_begin0
.long Lset575
Lset576 = Ltmp713-Ltmp712 ## Loc expr size
.short Lset576
Ltmp712:
.byte 86 ## DW_OP_reg6
Ltmp713:
.long 0
.long 0
Ldebug_loc12:
Lset577 = Ltmp235-Lfunc_begin0
.long Lset577
Lset578 = Lfunc_end3-Lfunc_begin0
.long Lset578
Lset579 = Ltmp715-Ltmp714 ## Loc expr size
.short Lset579
Ltmp714:
.byte 117 ## DW_OP_breg5
.ascii "\224\177" ##
Ltmp715:
.long 0
.long 0
Ldebug_loc13:
Lset580 = Lfunc_begin4-Lfunc_begin0
.long Lset580
Lset581 = Ltmp299-Lfunc_begin0
.long Lset581
Lset582 = Ltmp717-Ltmp716 ## Loc expr size
.short Lset582
Ltmp716:
.byte 82 ## DW_OP_reg2
Ltmp717:
.long 0
.long 0
Ldebug_loc14:
Lset583 = Lfunc_begin5-Lfunc_begin0
.long Lset583
Lset584 = Ltmp307-Lfunc_begin0
.long Lset584
Lset585 = Ltmp719-Ltmp718 ## Loc expr size
.short Lset585
Ltmp718:
.byte 86 ## DW_OP_reg6
Ltmp719:
Lset586 = Ltmp307-Lfunc_begin0
.long Lset586
Lset587 = Ltmp310-Lfunc_begin0
.long Lset587
Lset588 = Ltmp721-Ltmp720 ## Loc expr size
.short Lset588
Ltmp720:
.byte 82 ## DW_OP_reg2
Ltmp721:
Lset589 = Ltmp314-Lfunc_begin0
.long Lset589
Lset590 = Ltmp315-Lfunc_begin0
.long Lset590
Lset591 = Ltmp723-Ltmp722 ## Loc expr size
.short Lset591
Ltmp722:
.byte 82 ## DW_OP_reg2
Ltmp723:
Lset592 = Ltmp317-Lfunc_begin0
.long Lset592
Lset593 = Ltmp321-Lfunc_begin0
.long Lset593
Lset594 = Ltmp725-Ltmp724 ## Loc expr size
.short Lset594
Ltmp724:
.byte 82 ## DW_OP_reg2
Ltmp725:
Lset595 = Ltmp323-Lfunc_begin0
.long Lset595
Lset596 = Ltmp325-Lfunc_begin0
.long Lset596
Lset597 = Ltmp727-Ltmp726 ## Loc expr size
.short Lset597
Ltmp726:
.byte 82 ## DW_OP_reg2
Ltmp727:
Lset598 = Ltmp326-Lfunc_begin0
.long Lset598
Lset599 = Ltmp329-Lfunc_begin0
.long Lset599
Lset600 = Ltmp729-Ltmp728 ## Loc expr size
.short Lset600
Ltmp728:
.byte 82 ## DW_OP_reg2
Ltmp729:
Lset601 = Ltmp331-Lfunc_begin0
.long Lset601
Lset602 = Ltmp333-Lfunc_begin0
.long Lset602
Lset603 = Ltmp731-Ltmp730 ## Loc expr size
.short Lset603
Ltmp730:
.byte 82 ## DW_OP_reg2
Ltmp731:
Lset604 = Ltmp335-Lfunc_begin0
.long Lset604
Lset605 = Ltmp337-Lfunc_begin0
.long Lset605
Lset606 = Ltmp733-Ltmp732 ## Loc expr size
.short Lset606
Ltmp732:
.byte 82 ## DW_OP_reg2
Ltmp733:
Lset607 = Ltmp338-Lfunc_begin0
.long Lset607
Lset608 = Ltmp341-Lfunc_begin0
.long Lset608
Lset609 = Ltmp735-Ltmp734 ## Loc expr size
.short Lset609
Ltmp734:
.byte 82 ## DW_OP_reg2
Ltmp735:
Lset610 = Ltmp343-Lfunc_begin0
.long Lset610
Lset611 = Lfunc_end5-Lfunc_begin0
.long Lset611
Lset612 = Ltmp737-Ltmp736 ## Loc expr size
.short Lset612
Ltmp736:
.byte 82 ## DW_OP_reg2
Ltmp737:
.long 0
.long 0
Ldebug_loc15:
Lset613 = Lfunc_begin5-Lfunc_begin0
.long Lset613
Lset614 = Ltmp307-Lfunc_begin0
.long Lset614
Lset615 = Ltmp739-Ltmp738 ## Loc expr size
.short Lset615
Ltmp738:
.byte 83 ## DW_OP_reg3
Ltmp739:
Lset616 = Ltmp307-Lfunc_begin0
.long Lset616
Lset617 = Ltmp308-Lfunc_begin0
.long Lset617
Lset618 = Ltmp741-Ltmp740 ## Loc expr size
.short Lset618
Ltmp740:
.byte 81 ## DW_OP_reg1
Ltmp741:
Lset619 = Ltmp309-Lfunc_begin0
.long Lset619
Lset620 = Ltmp312-Lfunc_begin0
.long Lset620
Lset621 = Ltmp743-Ltmp742 ## Loc expr size
.short Lset621
Ltmp742:
.byte 81 ## DW_OP_reg1
Ltmp743:
Lset622 = Ltmp314-Lfunc_begin0
.long Lset622
Lset623 = Ltmp318-Lfunc_begin0
.long Lset623
Lset624 = Ltmp745-Ltmp744 ## Loc expr size
.short Lset624
Ltmp744:
.byte 81 ## DW_OP_reg1
Ltmp745:
Lset625 = Ltmp319-Lfunc_begin0
.long Lset625
Lset626 = Ltmp322-Lfunc_begin0
.long Lset626
Lset627 = Ltmp747-Ltmp746 ## Loc expr size
.short Lset627
Ltmp746:
.byte 81 ## DW_OP_reg1
Ltmp747:
Lset628 = Ltmp323-Lfunc_begin0
.long Lset628
Lset629 = Ltmp330-Lfunc_begin0
.long Lset629
Lset630 = Ltmp749-Ltmp748 ## Loc expr size
.short Lset630
Ltmp748:
.byte 81 ## DW_OP_reg1
Ltmp749:
Lset631 = Ltmp331-Lfunc_begin0
.long Lset631
Lset632 = Ltmp333-Lfunc_begin0
.long Lset632
Lset633 = Ltmp751-Ltmp750 ## Loc expr size
.short Lset633
Ltmp750:
.byte 81 ## DW_OP_reg1
Ltmp751:
Lset634 = Ltmp335-Lfunc_begin0
.long Lset634
Lset635 = Ltmp336-Lfunc_begin0
.long Lset635
Lset636 = Ltmp753-Ltmp752 ## Loc expr size
.short Lset636
Ltmp752:
.byte 81 ## DW_OP_reg1
Ltmp753:
Lset637 = Ltmp338-Lfunc_begin0
.long Lset637
Lset638 = Ltmp340-Lfunc_begin0
.long Lset638
Lset639 = Ltmp755-Ltmp754 ## Loc expr size
.short Lset639
Ltmp754:
.byte 81 ## DW_OP_reg1
Ltmp755:
Lset640 = Ltmp343-Lfunc_begin0
.long Lset640
Lset641 = Lfunc_end5-Lfunc_begin0
.long Lset641
Lset642 = Ltmp757-Ltmp756 ## Loc expr size
.short Lset642
Ltmp756:
.byte 81 ## DW_OP_reg1
Ltmp757:
.long 0
.long 0
Ldebug_loc16:
Lset643 = Lfunc_begin5-Lfunc_begin0
.long Lset643
Lset644 = Ltmp311-Lfunc_begin0
.long Lset644
Lset645 = Ltmp759-Ltmp758 ## Loc expr size
.short Lset645
Ltmp758:
.byte 81 ## DW_OP_reg1
Ltmp759:
Lset646 = Ltmp324-Lfunc_begin0
.long Lset646
Lset647 = Ltmp326-Lfunc_begin0
.long Lset647
Lset648 = Ltmp761-Ltmp760 ## Loc expr size
.short Lset648
Ltmp760:
.byte 81 ## DW_OP_reg1
Ltmp761:
Lset649 = Ltmp334-Lfunc_begin0
.long Lset649
Lset650 = Ltmp337-Lfunc_begin0
.long Lset650
Lset651 = Ltmp763-Ltmp762 ## Loc expr size
.short Lset651
Ltmp762:
.byte 82 ## DW_OP_reg2
Ltmp763:
.long 0
.long 0
Ldebug_loc17:
Lset652 = Lfunc_begin6-Lfunc_begin0
.long Lset652
Lset653 = Ltmp356-Lfunc_begin0
.long Lset653
Lset654 = Ltmp765-Ltmp764 ## Loc expr size
.short Lset654
Ltmp764:
.byte 82 ## DW_OP_reg2
Ltmp765:
Lset655 = Ltmp357-Lfunc_begin0
.long Lset655
Lset656 = Ltmp359-Lfunc_begin0
.long Lset656
Lset657 = Ltmp767-Ltmp766 ## Loc expr size
.short Lset657
Ltmp766:
.byte 82 ## DW_OP_reg2
Ltmp767:
.long 0
.long 0
Ldebug_loc18:
Lset658 = Lfunc_begin6-Lfunc_begin0
.long Lset658
Lset659 = Ltmp352-Lfunc_begin0
.long Lset659
Lset660 = Ltmp769-Ltmp768 ## Loc expr size
.short Lset660
Ltmp768:
.byte 86 ## DW_OP_reg6
Ltmp769:
Lset661 = Ltmp352-Lfunc_begin0
.long Lset661
Lset662 = Ltmp355-Lfunc_begin0
.long Lset662
Lset663 = Ltmp771-Ltmp770 ## Loc expr size
.short Lset663
Ltmp770:
.byte 81 ## DW_OP_reg1
Ltmp771:
Lset664 = Ltmp357-Lfunc_begin0
.long Lset664
Lset665 = Ltmp358-Lfunc_begin0
.long Lset665
Lset666 = Ltmp773-Ltmp772 ## Loc expr size
.short Lset666
Ltmp772:
.byte 81 ## DW_OP_reg1
Ltmp773:
.long 0
.long 0
Ldebug_loc19:
Lset667 = Lfunc_begin6-Lfunc_begin0
.long Lset667
Lset668 = Ltmp360-Lfunc_begin0
.long Lset668
Lset669 = Ltmp775-Ltmp774 ## Loc expr size
.short Lset669
Ltmp774:
.byte 87 ## DW_OP_reg7
Ltmp775:
.long 0
.long 0
Ldebug_loc20:
Lset670 = Ltmp371-Lfunc_begin0
.long Lset670
Lset671 = Ltmp372-Lfunc_begin0
.long Lset671
Lset672 = Ltmp777-Ltmp776 ## Loc expr size
.short Lset672
Ltmp776:
.byte 80 ## DW_OP_reg0
Ltmp777:
.long 0
.long 0
Ldebug_loc21:
Lset673 = Ltmp372-Lfunc_begin0
.long Lset673
Lset674 = Ltmp373-Lfunc_begin0
.long Lset674
Lset675 = Ltmp779-Ltmp778 ## Loc expr size
.short Lset675
Ltmp778:
.byte 81 ## DW_OP_reg1
Ltmp779:
.long 0
.long 0
Ldebug_loc22:
Lset676 = Ltmp377-Lfunc_begin0
.long Lset676
Lset677 = Ltmp378-Lfunc_begin0
.long Lset677
Lset678 = Ltmp781-Ltmp780 ## Loc expr size
.short Lset678
Ltmp780:
.byte 81 ## DW_OP_reg1
Ltmp781:
.long 0
.long 0
Ldebug_loc23:
Lset679 = Lfunc_begin8-Lfunc_begin0
.long Lset679
Lset680 = Ltmp390-Lfunc_begin0
.long Lset680
Lset681 = Ltmp783-Ltmp782 ## Loc expr size
.short Lset681
Ltmp782:
.byte 83 ## DW_OP_reg3
Ltmp783:
Lset682 = Ltmp390-Lfunc_begin0
.long Lset682
Lset683 = Ltmp397-Lfunc_begin0
.long Lset683
Lset684 = Ltmp785-Ltmp784 ## Loc expr size
.short Lset684
Ltmp784:
.byte 82 ## DW_OP_reg2
Ltmp785:
Lset685 = Ltmp398-Lfunc_begin0
.long Lset685
Lset686 = Ltmp403-Lfunc_begin0
.long Lset686
Lset687 = Ltmp787-Ltmp786 ## Loc expr size
.short Lset687
Ltmp786:
.byte 82 ## DW_OP_reg2
Ltmp787:
Lset688 = Ltmp404-Lfunc_begin0
.long Lset688
Lset689 = Lfunc_end8-Lfunc_begin0
.long Lset689
Lset690 = Ltmp789-Ltmp788 ## Loc expr size
.short Lset690
Ltmp788:
.byte 82 ## DW_OP_reg2
Ltmp789:
.long 0
.long 0
Ldebug_loc24:
Lset691 = Lfunc_begin8-Lfunc_begin0
.long Lset691
Lset692 = Ltmp390-Lfunc_begin0
.long Lset692
Lset693 = Ltmp791-Ltmp790 ## Loc expr size
.short Lset693
Ltmp790:
.byte 117 ## DW_OP_breg5
.byte 104 ##
Ltmp791:
Lset694 = Ltmp390-Lfunc_begin0
.long Lset694
Lset695 = Ltmp396-Lfunc_begin0
.long Lset695
Lset696 = Ltmp793-Ltmp792 ## Loc expr size
.short Lset696
Ltmp792:
.byte 81 ## DW_OP_reg1
Ltmp793:
Lset697 = Ltmp398-Lfunc_begin0
.long Lset697
Lset698 = Ltmp399-Lfunc_begin0
.long Lset698
Lset699 = Ltmp795-Ltmp794 ## Loc expr size
.short Lset699
Ltmp794:
.byte 81 ## DW_OP_reg1
Ltmp795:
Lset700 = Ltmp400-Lfunc_begin0
.long Lset700
Lset701 = Ltmp402-Lfunc_begin0
.long Lset701
Lset702 = Ltmp797-Ltmp796 ## Loc expr size
.short Lset702
Ltmp796:
.byte 81 ## DW_OP_reg1
Ltmp797:
Lset703 = Ltmp404-Lfunc_begin0
.long Lset703
Lset704 = Ltmp405-Lfunc_begin0
.long Lset704
Lset705 = Ltmp799-Ltmp798 ## Loc expr size
.short Lset705
Ltmp798:
.byte 81 ## DW_OP_reg1
Ltmp799:
Lset706 = Ltmp406-Lfunc_begin0
.long Lset706
Lset707 = Ltmp408-Lfunc_begin0
.long Lset707
Lset708 = Ltmp801-Ltmp800 ## Loc expr size
.short Lset708
Ltmp800:
.byte 81 ## DW_OP_reg1
Ltmp801:
.long 0
.long 0
Ldebug_loc25:
Lset709 = Lfunc_begin9-Lfunc_begin0
.long Lset709
Lset710 = Ltmp419-Lfunc_begin0
.long Lset710
Lset711 = Ltmp803-Ltmp802 ## Loc expr size
.short Lset711
Ltmp802:
.byte 83 ## DW_OP_reg3
Ltmp803:
Lset712 = Ltmp419-Lfunc_begin0
.long Lset712
Lset713 = Ltmp426-Lfunc_begin0
.long Lset713
Lset714 = Ltmp805-Ltmp804 ## Loc expr size
.short Lset714
Ltmp804:
.byte 82 ## DW_OP_reg2
Ltmp805:
Lset715 = Ltmp427-Lfunc_begin0
.long Lset715
Lset716 = Ltmp432-Lfunc_begin0
.long Lset716
Lset717 = Ltmp807-Ltmp806 ## Loc expr size
.short Lset717
Ltmp806:
.byte 82 ## DW_OP_reg2
Ltmp807:
Lset718 = Ltmp433-Lfunc_begin0
.long Lset718
Lset719 = Lfunc_end9-Lfunc_begin0
.long Lset719
Lset720 = Ltmp809-Ltmp808 ## Loc expr size
.short Lset720
Ltmp808:
.byte 82 ## DW_OP_reg2
Ltmp809:
.long 0
.long 0
Ldebug_loc26:
Lset721 = Lfunc_begin9-Lfunc_begin0
.long Lset721
Lset722 = Ltmp419-Lfunc_begin0
.long Lset722
Lset723 = Ltmp811-Ltmp810 ## Loc expr size
.short Lset723
Ltmp810:
.byte 117 ## DW_OP_breg5
.byte 104 ##
Ltmp811:
Lset724 = Ltmp419-Lfunc_begin0
.long Lset724
Lset725 = Ltmp425-Lfunc_begin0
.long Lset725
Lset726 = Ltmp813-Ltmp812 ## Loc expr size
.short Lset726
Ltmp812:
.byte 81 ## DW_OP_reg1
Ltmp813:
Lset727 = Ltmp427-Lfunc_begin0
.long Lset727
Lset728 = Ltmp428-Lfunc_begin0
.long Lset728
Lset729 = Ltmp815-Ltmp814 ## Loc expr size
.short Lset729
Ltmp814:
.byte 81 ## DW_OP_reg1
Ltmp815:
Lset730 = Ltmp429-Lfunc_begin0
.long Lset730
Lset731 = Ltmp431-Lfunc_begin0
.long Lset731
Lset732 = Ltmp817-Ltmp816 ## Loc expr size
.short Lset732
Ltmp816:
.byte 81 ## DW_OP_reg1
Ltmp817:
Lset733 = Ltmp433-Lfunc_begin0
.long Lset733
Lset734 = Ltmp434-Lfunc_begin0
.long Lset734
Lset735 = Ltmp819-Ltmp818 ## Loc expr size
.short Lset735
Ltmp818:
.byte 81 ## DW_OP_reg1
Ltmp819:
Lset736 = Ltmp435-Lfunc_begin0
.long Lset736
Lset737 = Ltmp437-Lfunc_begin0
.long Lset737
Lset738 = Ltmp821-Ltmp820 ## Loc expr size
.short Lset738
Ltmp820:
.byte 81 ## DW_OP_reg1
Ltmp821:
.long 0
.long 0
Ldebug_loc27:
Lset739 = Lfunc_begin10-Lfunc_begin0
.long Lset739
Lset740 = Ltmp445-Lfunc_begin0
.long Lset740
Lset741 = Ltmp823-Ltmp822 ## Loc expr size
.short Lset741
Ltmp822:
.byte 82 ## DW_OP_reg2
Ltmp823:
.long 0
.long 0
Ldebug_loc28:
Lset742 = Lfunc_begin11-Lfunc_begin0
.long Lset742
Lset743 = Ltmp452-Lfunc_begin0
.long Lset743
Lset744 = Ltmp825-Ltmp824 ## Loc expr size
.short Lset744
Ltmp824:
.byte 82 ## DW_OP_reg2
Ltmp825:
.long 0
.long 0
Ldebug_loc29:
Lset745 = Lfunc_begin12-Lfunc_begin0
.long Lset745
Lset746 = Ltmp463-Lfunc_begin0
.long Lset746
Lset747 = Ltmp827-Ltmp826 ## Loc expr size
.short Lset747
Ltmp826:
.byte 82 ## DW_OP_reg2
Ltmp827:
Lset748 = Ltmp464-Lfunc_begin0
.long Lset748
Lset749 = Ltmp465-Lfunc_begin0
.long Lset749
Lset750 = Ltmp829-Ltmp828 ## Loc expr size
.short Lset750
Ltmp828:
.byte 82 ## DW_OP_reg2
Ltmp829:
.long 0
.long 0
Ldebug_loc30:
Lset751 = Lfunc_begin12-Lfunc_begin0
.long Lset751
Lset752 = Ltmp460-Lfunc_begin0
.long Lset752
Lset753 = Ltmp831-Ltmp830 ## Loc expr size
.short Lset753
Ltmp830:
.byte 81 ## DW_OP_reg1
Ltmp831:
Lset754 = Ltmp461-Lfunc_begin0
.long Lset754
Lset755 = Lfunc_end12-Lfunc_begin0
.long Lset755
Lset756 = Ltmp833-Ltmp832 ## Loc expr size
.short Lset756
Ltmp832:
.byte 81 ## DW_OP_reg1
Ltmp833:
.long 0
.long 0
.section __DWARF,__apple_names,regular,debug
Lnames_begin:
.long 1212240712 ## Header Magic
.short 1 ## Header Version
.short 0 ## Header Hash Function
.long 10 ## Header Bucket Count
.long 20 ## Header Hash Count
.long 12 ## Header Data Length
.long 0 ## HeaderData Die Offset Base
.long 1 ## HeaderData Atom Count
.short 1 ## DW_ATOM_die_offset
.short 6 ## DW_FORM_data4
.long 0 ## Bucket 0
.long 1 ## Bucket 1
.long 5 ## Bucket 2
.long 7 ## Bucket 3
.long 9 ## Bucket 4
.long -1 ## Bucket 5
.long 13 ## Bucket 6
.long 15 ## Bucket 7
.long 16 ## Bucket 8
.long -1 ## Bucket 9
.long 153840550 ## Hash in Bucket 0
.long 5381 ## Hash in Bucket 1
.long 447221481 ## Hash in Bucket 1
.long 785553141 ## Hash in Bucket 1
.long 1852953081 ## Hash in Bucket 1
.long -432556964 ## Hash in Bucket 2
.long 448119842 ## Hash in Bucket 2
.long 153840583 ## Hash in Bucket 3
.long -14718533 ## Hash in Bucket 3
.long 1828456484 ## Hash in Bucket 4
.long -35244882 ## Hash in Bucket 4
.long 153840484 ## Hash in Bucket 4
.long 1852953114 ## Hash in Bucket 4
.long 1703278726 ## Hash in Bucket 6
.long 153840616 ## Hash in Bucket 6
.long 153840517 ## Hash in Bucket 7
.long -1038071478 ## Hash in Bucket 8
.long 60695988 ## Hash in Bucket 8
.long 1852953048 ## Hash in Bucket 8
.long 628102148 ## Hash in Bucket 8
.long LNames7-Lnames_begin ## Offset in Bucket 0
.long LNames0-Lnames_begin ## Offset in Bucket 1
.long LNames4-Lnames_begin ## Offset in Bucket 1
.long LNames12-Lnames_begin ## Offset in Bucket 1
.long LNames14-Lnames_begin ## Offset in Bucket 1
.long LNames17-Lnames_begin ## Offset in Bucket 2
.long LNames18-Lnames_begin ## Offset in Bucket 2
.long LNames8-Lnames_begin ## Offset in Bucket 3
.long LNames16-Lnames_begin ## Offset in Bucket 3
.long LNames2-Lnames_begin ## Offset in Bucket 4
.long LNames9-Lnames_begin ## Offset in Bucket 4
.long LNames10-Lnames_begin ## Offset in Bucket 4
.long LNames15-Lnames_begin ## Offset in Bucket 4
.long LNames1-Lnames_begin ## Offset in Bucket 6
.long LNames6-Lnames_begin ## Offset in Bucket 6
.long LNames3-Lnames_begin ## Offset in Bucket 7
.long LNames5-Lnames_begin ## Offset in Bucket 8
.long LNames11-Lnames_begin ## Offset in Bucket 8
.long LNames13-Lnames_begin ## Offset in Bucket 8
.long LNames19-Lnames_begin ## Offset in Bucket 8
LNames7:
Lset757 = Linfo_string20-Linfo_string ## Kprint_messageYformatVioMM2I
.long Lset757
.long 1 ## Num DIEs
.long 991
.long 0
LNames0:
Lset758 = Linfo_string15-Linfo_string ##
.long Lset758
.long 1 ## Num DIEs
.long 719
.long 0
LNames4:
Lset759 = Linfo_string11-Linfo_string ## format-integer
.long Lset759
.long 3 ## Num DIEs
.long 491
.long 565
.long 642
.long 0
LNames12:
Lset760 = Linfo_string7-Linfo_string ## do-dispatch
.long Lset760
.long 1 ## Num DIEs
.long 249
.long 0
LNames14:
Lset761 = Linfo_string13-Linfo_string ## Kformat_integerYformat_internalsVioMM1I
.long Lset761
.long 1 ## Num DIEs
.long 565
.long 0
LNames17:
Lset762 = Linfo_string10-Linfo_string ## KformatYformatVioMM0I
.long Lset762
.long 1 ## Num DIEs
.long 362
.long 0
LNames18:
Lset763 = Linfo_string3-Linfo_string ## format-to-string
.long Lset763
.long 1 ## Num DIEs
.long 38
.long 0
LNames8:
Lset764 = Linfo_string21-Linfo_string ## Kprint_messageYformatVioMM3I
.long Lset764
.long 1 ## Num DIEs
.long 1047
.long 0
LNames16:
Lset765 = Linfo_string5-Linfo_string ## parse-integer
.long Lset765
.long 1 ## Num DIEs
.long 96
.long 0
LNames2:
Lset766 = Linfo_string17-Linfo_string ## print-message
.long Lset766
.long 5 ## Num DIEs
.long 827
.long 909
.long 991
.long 1047
.long 1103
.long 0
LNames9:
Lset767 = Linfo_string9-Linfo_string ## format
.long Lset767
.long 1 ## Num DIEs
.long 362
.long 0
LNames10:
Lset768 = Linfo_string18-Linfo_string ## Kprint_messageYformatVioMM0I
.long Lset768
.long 1 ## Num DIEs
.long 827
.long 0
LNames15:
Lset769 = Linfo_string14-Linfo_string ## Kformat_integerYformat_internalsVioMM2I
.long Lset769
.long 1 ## Num DIEs
.long 642
.long 0
LNames1:
Lset770 = Linfo_string16-Linfo_string ## KrepeatF42I
.long Lset770
.long 1 ## Num DIEs
.long 719
.long 0
LNames6:
Lset771 = Linfo_string22-Linfo_string ## Kprint_messageYformatVioMM4I
.long Lset771
.long 1 ## Num DIEs
.long 1103
.long 0
LNames3:
Lset772 = Linfo_string19-Linfo_string ## Kprint_messageYformatVioMM1I
.long Lset772
.long 1 ## Num DIEs
.long 909
.long 0
LNames5:
Lset773 = Linfo_string6-Linfo_string ## Kparse_integerYformat_internalsVioMM0I
.long Lset773
.long 1 ## Num DIEs
.long 96
.long 0
LNames11:
Lset774 = Linfo_string4-Linfo_string ## Kformat_to_stringYformatVioMM0I
.long Lset774
.long 1 ## Num DIEs
.long 38
.long 0
LNames13:
Lset775 = Linfo_string12-Linfo_string ## Kformat_integerYformat_internalsVioMM0I
.long Lset775
.long 1 ## Num DIEs
.long 491
.long 0
LNames19:
Lset776 = Linfo_string8-Linfo_string ## Kdo_dispatchYformat_internalsVioMM0I
.long Lset776
.long 1 ## Num DIEs
.long 249
.long 0
.section __DWARF,__apple_objc,regular,debug
Lobjc_begin:
.long 1212240712 ## Header Magic
.short 1 ## Header Version
.short 0 ## Header Hash Function
.long 1 ## Header Bucket Count
.long 0 ## Header Hash Count
.long 12 ## Header Data Length
.long 0 ## HeaderData Die Offset Base
.long 1 ## HeaderData Atom Count
.short 1 ## DW_ATOM_die_offset
.short 6 ## DW_FORM_data4
.long -1 ## Bucket 0
.section __DWARF,__apple_namespac,regular,debug
Lnamespac_begin:
.long 1212240712 ## Header Magic
.short 1 ## Header Version
.short 0 ## Header Hash Function
.long 1 ## Header Bucket Count
.long 0 ## Header Hash Count
.long 12 ## Header Data Length
.long 0 ## HeaderData Die Offset Base
.long 1 ## HeaderData Atom Count
.short 1 ## DW_ATOM_die_offset
.short 6 ## DW_FORM_data4
.long -1 ## Bucket 0
.section __DWARF,__apple_types,regular,debug
Ltypes_begin:
.long 1212240712 ## Header Magic
.short 1 ## Header Version
.short 0 ## Header Hash Function
.long 5 ## Header Bucket Count
.long 5 ## Header Hash Count
.long 20 ## Header Data Length
.long 0 ## HeaderData Die Offset Base
.long 3 ## HeaderData Atom Count
.short 1 ## DW_ATOM_die_offset
.short 6 ## DW_FORM_data4
.short 3 ## DW_ATOM_die_tag
.short 5 ## DW_FORM_data2
.short 4 ## DW_ATOM_type_flags
.short 11 ## DW_FORM_data1
.long -1 ## Bucket 0
.long 0 ## Bucket 1
.long 1 ## Bucket 2
.long -1 ## Bucket 3
.long 3 ## Bucket 4
.long 5862536 ## Hash in Bucket 1
.long -1883305639 ## Hash in Bucket 2
.long -989858134 ## Hash in Bucket 2
.long 1892559319 ## Hash in Bucket 4
.long 738203284 ## Hash in Bucket 4
.long Ltypes1-Ltypes_begin ## Offset in Bucket 1
.long Ltypes2-Ltypes_begin ## Offset in Bucket 2
.long Ltypes3-Ltypes_begin ## Offset in Bucket 2
.long Ltypes0-Ltypes_begin ## Offset in Bucket 4
.long Ltypes4-Ltypes_begin ## Offset in Bucket 4
Ltypes1:
Lset777 = Linfo_string23-Linfo_string ## MV
.long Lset777
.long 1 ## Num DIEs
.long 1161
.short 19
.byte 0
.long 0
Ltypes2:
Lset778 = Linfo_string32-Linfo_string ## dylan_value
.long Lset778
.long 1 ## Num DIEs
.long 1239
.short 22
.byte 0
.long 0
Ltypes3:
Lset779 = Linfo_string27-Linfo_string ## <raw-byte>
.long Lset779
.long 1 ## Num DIEs
.long 1199
.short 36
.byte 0
.long 0
Ltypes0:
Lset780 = Linfo_string25-Linfo_string ## <raw-pointer>
.long Lset780
.long 1 ## Num DIEs
.long 1194
.short 15
.byte 0
.long 0
Ltypes4:
Lset781 = Linfo_string38-Linfo_string ## <raw-machine-word>
.long Lset781
.long 1 ## Num DIEs
.long 1249
.short 36
.byte 0
.long 0
.section __IMPORT,__pointers,non_lazy_symbol_pointers
L_KAVKd$non_lazy_ptr:
.indirect_symbol _KAVKd
.long 0
L_KJdirection_$non_lazy_ptr:
.indirect_symbol _KJdirection_
.long 0
L_KJend_$non_lazy_ptr:
.indirect_symbol _KJend_
.long 0
L_KJoutput_$non_lazy_ptr:
.indirect_symbol _KJoutput_
.long 0
L_KJstart_$non_lazy_ptr:
.indirect_symbol _KJstart_
.long 0
L_KLVKd$non_lazy_ptr:
.indirect_symbol _KLVKd
.long 0
L_KLbyteGVKe$non_lazy_ptr:
.indirect_symbol _KLbyteGVKe
.long 0
L_KLbyte_stringGVKd$non_lazy_ptr:
.indirect_symbol _KLbyte_stringGVKd
.long 0
L_KLbyte_stringGVKdW$non_lazy_ptr:
.indirect_symbol _KLbyte_stringGVKdW
.long 0
L_KLbyte_string_streamGYstreamsVio$non_lazy_ptr:
.indirect_symbol _KLbyte_string_streamGYstreamsVio
.long 0
L_KLintegerGVKd$non_lazy_ptr:
.indirect_symbol _KLintegerGVKd
.long 0
L_KLlistGVKd$non_lazy_ptr:
.indirect_symbol _KLlistGVKd
.long 0
L_KLobjectGVKd$non_lazy_ptr:
.indirect_symbol _KLobjectGVKd
.long 0
L_KLpairGVKdW$non_lazy_ptr:
.indirect_symbol _KLpairGVKdW
.long 0
L_KLsimple_object_vectorGVKd$non_lazy_ptr:
.indirect_symbol _KLsimple_object_vectorGVKd
.long 0
L_KLsimple_object_vectorGVKdW$non_lazy_ptr:
.indirect_symbol _KLsimple_object_vectorGVKdW
.long 0
L_KPempty_listVKi$non_lazy_ptr:
.indirect_symbol _KPempty_listVKi
.long 0
L_KPempty_vectorVKi$non_lazy_ptr:
.indirect_symbol _KPempty_vectorVKi
.long 0
L_KPfalseVKi$non_lazy_ptr:
.indirect_symbol _KPfalseVKi
.long 0
L_KPtrueVKi$non_lazy_ptr:
.indirect_symbol _KPtrueVKi
.long 0
L_KPunboundVKi$non_lazy_ptr:
.indirect_symbol _KPunboundVKi
.long 0
L_KapplyVKd$non_lazy_ptr:
.indirect_symbol _KapplyVKd
.long 0
L_KelementVKd$non_lazy_ptr:
.indirect_symbol _KelementVKd
.long 0
L_Kelement_setterVKd$non_lazy_ptr:
.indirect_symbol _Kelement_setterVKd
.long 0
L_Knew_lineYstreamsVio$non_lazy_ptr:
.indirect_symbol _Knew_lineYstreamsVio
.long 0
L_KprintYprintVio$non_lazy_ptr:
.indirect_symbol _KprintYprintVio
.long 0
L_Kprint_objectYprintVio$non_lazy_ptr:
.indirect_symbol _Kprint_objectYprintVio
.long 0
L_Kunsupplied_objectVKi$non_lazy_ptr:
.indirect_symbol _Kunsupplied_objectVKi
.long 0
L_KwriteYstreams_protocolVcommon_dylan$non_lazy_ptr:
.indirect_symbol _KwriteYstreams_protocolVcommon_dylan
.long 0
L_Kwrite_elementYstreams_protocolVcommon_dylan$non_lazy_ptr:
.indirect_symbol _Kwrite_elementYstreams_protocolVcommon_dylan
.long 0
L_Kwrite_textYstreamsVio$non_lazy_ptr:
.indirect_symbol _Kwrite_textYstreamsVio
.long 0
L_Ptlv_initializations_cursor$non_lazy_ptr:
.indirect_symbol _Ptlv_initializations_cursor
.long 0
L___opendylan_personality_v0$non_lazy_ptr:
.indirect_symbol ___opendylan_personality_v0
.long 0
.subsections_via_symbols
.section __DWARF,__debug_line,regular,debug
Lline_table_start0:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment