about summary refs log tree commit diff stats
path: root/html/apps/tile/data.mu.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/apps/tile/data.mu.html')
-rw-r--r--html/apps/tile/data.mu.html211
1 files changed, 142 insertions, 69 deletions
diff --git a/html/apps/tile/data.mu.html b/html/apps/tile/data.mu.html
index 3e3eacd4..9cfd5f38 100644
--- a/html/apps/tile/data.mu.html
+++ b/html/apps/tile/data.mu.html
@@ -444,11 +444,11 @@ if ('onhashchange' in window) {
 <span id="L385" class="LineNr">385 </span>  <span class="PreProc">var</span> body-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> address body-storage
 <span id="L386" class="LineNr">386 </span>  <a href='data.mu.html#L352'>function-body</a> functions, function-name, body-ah
 <span id="L387" class="LineNr">387 </span>  <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *body-ah
-<span id="L388" class="LineNr">388 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> <a href='data.mu.html#L392'>line-length</a> body
+<span id="L388" class="LineNr">388 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> <a href='data.mu.html#L392'>num-words-in-line</a> body
 <span id="L389" class="LineNr">389 </span>  <span class="PreProc">return</span> <a href='data.mu.html#L70'>result</a>
 <span id="L390" class="LineNr">390 </span><span class="Delimiter">}</span>
 <span id="L391" class="LineNr">391 </span>
-<span id="L392" class="LineNr">392 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L392'>line-length</a></span> _in: (addr <a href='data.mu.html#L22'>line</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
+<span id="L392" class="LineNr">392 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L392'>num-words-in-line</a></span> _in: (addr <a href='data.mu.html#L22'>line</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
 <span id="L393" class="LineNr">393 </span>  <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> copy _in
 <span id="L394" class="LineNr">394 </span>  <span class="PreProc">var</span> curr-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> in, data
 <span id="L395" class="LineNr">395 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">edi</span>: int <span class="SpecialChar">&lt;-</span> copy <span class="Constant">0</span>
@@ -678,73 +678,146 @@ if ('onhashchange' in window) {
 <span id="L619" class="LineNr">619 </span>  <a href='data.mu.html#L609'>move-final-element-to-start-of-line</a> list
 <span id="L620" class="LineNr">620 </span><span class="Delimiter">}</span>
 <span id="L621" class="LineNr">621 </span>
-<span id="L622" class="LineNr">622 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L622'>push-to-call-path-element</a></span> list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>), new: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="Delimiter">{</span>
-<span id="L623" class="LineNr">623 </span>  <span class="PreProc">var</span> new-element-storage: (handle <a href='data.mu.html#L65'>call-path-element</a>)
-<span id="L624" class="LineNr">624 </span>  <span class="PreProc">var</span> new-element-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> address new-element-storage
-<span id="L625" class="LineNr">625 </span>  <a href='../../120allocate.subx.html#L66'>allocate</a> new-element-ah
-<span id="L626" class="LineNr">626 </span>  <span class="PreProc">var</span> new-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *new-element-ah
-<span id="L627" class="LineNr">627 </span>  <span class="muComment"># save word</span>
-<span id="L628" class="LineNr">628 </span>  <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> new-element, <a href='data.mu.html#L30'>word</a>
-<span id="L629" class="LineNr">629 </span>  copy-object new, dest
-<span id="L630" class="LineNr">630 </span>  <span class="muComment"># save next</span>
-<span id="L631" class="LineNr">631 </span>  <span class="PreProc">var</span> dest2/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> new-element, next
-<span id="L632" class="LineNr">632 </span>  copy-object list, dest2
-<span id="L633" class="LineNr">633 </span>  <span class="muComment"># return</span>
-<span id="L634" class="LineNr">634 </span>  copy-object new-element-ah, list
-<span id="L635" class="LineNr">635 </span><span class="Delimiter">}</span>
-<span id="L636" class="LineNr">636 </span>
-<span id="L637" class="LineNr">637 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L637'>drop-from-call-path-element</a></span> _list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
-<span id="L638" class="LineNr">638 </span>  <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _list
-<span id="L639" class="LineNr">639 </span>  <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *list-ah
-<span id="L640" class="LineNr">640 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> list, next
-<span id="L641" class="LineNr">641 </span>  copy-object next, _list
-<span id="L642" class="LineNr">642 </span><span class="Delimiter">}</span>
-<span id="L643" class="LineNr">643 </span>
-<span id="L644" class="LineNr">644 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L644'>drop-nested-calls</a></span> _list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
-<span id="L645" class="LineNr">645 </span>  <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _list
-<span id="L646" class="LineNr">646 </span>  <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *list-ah
-<span id="L647" class="LineNr">647 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> list, next
-<span id="L648" class="LineNr">648 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
-<span id="L649" class="LineNr">649 </span>  compare next, <span class="Constant">0</span>
-<span id="L650" class="LineNr">650 </span>  <span class="PreProc">break-if-=</span>
-<span id="L651" class="LineNr">651 </span>  copy-object next-ah, _list
-<span id="L652" class="LineNr">652 </span>  <a href='data.mu.html#L644'>drop-nested-calls</a> _list
-<span id="L653" class="LineNr">653 </span><span class="Delimiter">}</span>
-<span id="L654" class="LineNr">654 </span>
-<span id="L655" class="LineNr">655 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L655'>dump-call-path-element</a></span> <a href='../../405screen.mu.html#L9'>screen</a>: (addr <a href='../../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
-<span id="L656" class="LineNr">656 </span>  <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _x-ah
-<span id="L657" class="LineNr">657 </span>  <span class="PreProc">var</span> _x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *x-ah
-<span id="L658" class="LineNr">658 </span>  <span class="PreProc">var</span> x/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _x
-<span id="L659" class="LineNr">659 </span>  <span class="PreProc">var</span> word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L30'>word</a>
-<span id="L660" class="LineNr">660 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L30'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *word-ah
-<span id="L661" class="LineNr">661 </span>  print-word <a href='../../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L30'>word</a>
-<span id="L662" class="LineNr">662 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, next
-<span id="L663" class="LineNr">663 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
-<span id="L664" class="LineNr">664 </span>  compare next, <span class="Constant">0</span>
-<span id="L665" class="LineNr">665 </span>  <span class="Delimiter">{</span>
-<span id="L666" class="LineNr">666 </span>    <span class="PreProc">break-if-=</span>
-<span id="L667" class="LineNr">667 </span>    <a href='../../405screen.mu.html#L169'>print-string</a> <a href='../../405screen.mu.html#L9'>screen</a>, <span class="Constant">&quot; &quot;</span>
-<span id="L668" class="LineNr">668 </span>    <a href='data.mu.html#L655'>dump-call-path-element</a> <a href='../../405screen.mu.html#L9'>screen</a>, next-ah
-<span id="L669" class="LineNr">669 </span>    <span class="PreProc">return</span>
-<span id="L670" class="LineNr">670 </span>  <span class="Delimiter">}</span>
-<span id="L671" class="LineNr">671 </span>  <a href='../../405screen.mu.html#L169'>print-string</a> <a href='../../405screen.mu.html#L9'>screen</a>, <span class="Constant">&quot;\n&quot;</span>
-<span id="L672" class="LineNr">672 </span><span class="Delimiter">}</span>
-<span id="L673" class="LineNr">673 </span>
-<span id="L674" class="LineNr">674 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L674'>dump-call-paths</a></span> <a href='../../405screen.mu.html#L9'>screen</a>: (addr <a href='../../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="Delimiter">{</span>
-<span id="L675" class="LineNr">675 </span>  <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> copy _x-ah
-<span id="L676" class="LineNr">676 </span>  <span class="PreProc">var</span> x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *x-ah
-<span id="L677" class="LineNr">677 </span>  compare x, <span class="Constant">0</span>
-<span id="L678" class="LineNr">678 </span>  <span class="PreProc">break-if-=</span>
-<span id="L679" class="LineNr">679 </span>  <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, data
-<span id="L680" class="LineNr">680 </span>  <a href='data.mu.html#L655'>dump-call-path-element</a> <a href='../../405screen.mu.html#L9'>screen</a>, src
-<span id="L681" class="LineNr">681 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, next
-<span id="L682" class="LineNr">682 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
-<span id="L683" class="LineNr">683 </span>  compare next, <span class="Constant">0</span>
-<span id="L684" class="LineNr">684 </span>  <span class="Delimiter">{</span>
-<span id="L685" class="LineNr">685 </span>    <span class="PreProc">break-if-=</span>
-<span id="L686" class="LineNr">686 </span>    <a href='data.mu.html#L674'>dump-call-paths</a> <a href='../../405screen.mu.html#L9'>screen</a>, next-ah
-<span id="L687" class="LineNr">687 </span>  <span class="Delimiter">}</span>
-<span id="L688" class="LineNr">688 </span><span class="Delimiter">}</span>
+<span id="L622" class="LineNr">622 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L622'>move-final-element-to-end-of-line</a></span> list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
+<span id="L623" class="LineNr">623 </span>  <span class="PreProc">var</span> final-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy list
+<span id="L624" class="LineNr">624 </span>  <span class="PreProc">var</span> final/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *final-ah
+<span id="L625" class="LineNr">625 </span>  <span class="PreProc">var</span> val-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L30'>word</a>
+<span id="L626" class="LineNr">626 </span>  <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *val-ah
+<span id="L627" class="LineNr">627 </span>  <span class="PreProc">var</span> new-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> val, next
+<span id="L628" class="LineNr">628 </span>  <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *new-ah
+<span id="L629" class="LineNr">629 </span>  compare target, <span class="Constant">0</span>
+<span id="L630" class="LineNr">630 </span>  <span class="PreProc">break-if-=</span>
+<span id="L631" class="LineNr">631 </span>  copy-object new-ah, val-ah
+<span id="L632" class="LineNr">632 </span>  <a href='data.mu.html#L622'>move-final-element-to-end-of-line</a> list
+<span id="L633" class="LineNr">633 </span><span class="Delimiter">}</span>
+<span id="L634" class="LineNr">634 </span>
+<span id="L635" class="LineNr">635 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L635'>push-to-call-path-element</a></span> list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>), new: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="Delimiter">{</span>
+<span id="L636" class="LineNr">636 </span>  <span class="PreProc">var</span> new-element-storage: (handle <a href='data.mu.html#L65'>call-path-element</a>)
+<span id="L637" class="LineNr">637 </span>  <span class="PreProc">var</span> new-element-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> address new-element-storage
+<span id="L638" class="LineNr">638 </span>  <a href='../../120allocate.subx.html#L66'>allocate</a> new-element-ah
+<span id="L639" class="LineNr">639 </span>  <span class="PreProc">var</span> new-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *new-element-ah
+<span id="L640" class="LineNr">640 </span>  <span class="muComment"># save word</span>
+<span id="L641" class="LineNr">641 </span>  <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> new-element, <a href='data.mu.html#L30'>word</a>
+<span id="L642" class="LineNr">642 </span>  copy-object new, dest
+<span id="L643" class="LineNr">643 </span>  <span class="muComment"># save next</span>
+<span id="L644" class="LineNr">644 </span>  <span class="PreProc">var</span> dest2/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> new-element, next
+<span id="L645" class="LineNr">645 </span>  copy-object list, dest2
+<span id="L646" class="LineNr">646 </span>  <span class="muComment"># return</span>
+<span id="L647" class="LineNr">647 </span>  copy-object new-element-ah, list
+<span id="L648" class="LineNr">648 </span><span class="Delimiter">}</span>
+<span id="L649" class="LineNr">649 </span>
+<span id="L650" class="LineNr">650 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L650'>drop-from-call-path-element</a></span> _list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
+<span id="L651" class="LineNr">651 </span>  <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _list
+<span id="L652" class="LineNr">652 </span>  <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *list-ah
+<span id="L653" class="LineNr">653 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> list, next
+<span id="L654" class="LineNr">654 </span>  copy-object next, _list
+<span id="L655" class="LineNr">655 </span><span class="Delimiter">}</span>
+<span id="L656" class="LineNr">656 </span>
+<span id="L657" class="LineNr">657 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L657'>drop-nested-calls</a></span> _list: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
+<span id="L658" class="LineNr">658 </span>  <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _list
+<span id="L659" class="LineNr">659 </span>  <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *list-ah
+<span id="L660" class="LineNr">660 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> list, next
+<span id="L661" class="LineNr">661 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
+<span id="L662" class="LineNr">662 </span>  compare next, <span class="Constant">0</span>
+<span id="L663" class="LineNr">663 </span>  <span class="PreProc">break-if-=</span>
+<span id="L664" class="LineNr">664 </span>  copy-object next-ah, _list
+<span id="L665" class="LineNr">665 </span>  <a href='data.mu.html#L657'>drop-nested-calls</a> _list
+<span id="L666" class="LineNr">666 </span><span class="Delimiter">}</span>
+<span id="L667" class="LineNr">667 </span>
+<span id="L668" class="LineNr">668 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L668'>dump-call-path-element</a></span> <a href='../../405screen.mu.html#L9'>screen</a>: (addr <a href='../../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="Delimiter">{</span>
+<span id="L669" class="LineNr">669 </span>  <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _x-ah
+<span id="L670" class="LineNr">670 </span>  <span class="PreProc">var</span> _x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *x-ah
+<span id="L671" class="LineNr">671 </span>  <span class="PreProc">var</span> x/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> copy _x
+<span id="L672" class="LineNr">672 </span>  <span class="PreProc">var</span> word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L30'>word</a>
+<span id="L673" class="LineNr">673 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L30'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *word-ah
+<span id="L674" class="LineNr">674 </span>  print-word <a href='../../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L30'>word</a>
+<span id="L675" class="LineNr">675 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, next
+<span id="L676" class="LineNr">676 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
+<span id="L677" class="LineNr">677 </span>  compare next, <span class="Constant">0</span>
+<span id="L678" class="LineNr">678 </span>  <span class="Delimiter">{</span>
+<span id="L679" class="LineNr">679 </span>    <span class="PreProc">break-if-=</span>
+<span id="L680" class="LineNr">680 </span>    <a href='../../405screen.mu.html#L169'>print-string</a> <a href='../../405screen.mu.html#L9'>screen</a>, <span class="Constant">&quot; &quot;</span>
+<span id="L681" class="LineNr">681 </span>    <a href='data.mu.html#L668'>dump-call-path-element</a> <a href='../../405screen.mu.html#L9'>screen</a>, next-ah
+<span id="L682" class="LineNr">682 </span>    <span class="PreProc">return</span>
+<span id="L683" class="LineNr">683 </span>  <span class="Delimiter">}</span>
+<span id="L684" class="LineNr">684 </span>  <a href='../../405screen.mu.html#L169'>print-string</a> <a href='../../405screen.mu.html#L9'>screen</a>, <span class="Constant">&quot;\n&quot;</span>
+<span id="L685" class="LineNr">685 </span><span class="Delimiter">}</span>
+<span id="L686" class="LineNr">686 </span>
+<span id="L687" class="LineNr">687 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L687'>dump-call-paths</a></span> <a href='../../405screen.mu.html#L9'>screen</a>: (addr <a href='../../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="Delimiter">{</span>
+<span id="L688" class="LineNr">688 </span>  <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> copy _x-ah
+<span id="L689" class="LineNr">689 </span>  <span class="PreProc">var</span> x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *x-ah
+<span id="L690" class="LineNr">690 </span>  compare x, <span class="Constant">0</span>
+<span id="L691" class="LineNr">691 </span>  <span class="PreProc">break-if-=</span>
+<span id="L692" class="LineNr">692 </span>  <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L65'>call-path-element</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, data
+<span id="L693" class="LineNr">693 </span>  <a href='data.mu.html#L668'>dump-call-path-element</a> <a href='../../405screen.mu.html#L9'>screen</a>, src
+<span id="L694" class="LineNr">694 </span>  <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> x, next
+<span id="L695" class="LineNr">695 </span>  <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>call-path</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *next-ah
+<span id="L696" class="LineNr">696 </span>  compare next, <span class="Constant">0</span>
+<span id="L697" class="LineNr">697 </span>  <span class="Delimiter">{</span>
+<span id="L698" class="LineNr">698 </span>    <span class="PreProc">break-if-=</span>
+<span id="L699" class="LineNr">699 </span>    <a href='data.mu.html#L687'>dump-call-paths</a> <a href='../../405screen.mu.html#L9'>screen</a>, next-ah
+<span id="L700" class="LineNr">700 </span>  <span class="Delimiter">}</span>
+<span id="L701" class="LineNr">701 </span><span class="Delimiter">}</span>
+<span id="L702" class="LineNr">702 </span>
+<span id="L703" class="LineNr">703 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L703'>function-width</a></span> _self: (addr <a href='data.mu.html#L14'>function</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
+<span id="L704" class="LineNr">704 </span>  <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L14'>function</a>) <span class="SpecialChar">&lt;-</span> copy _self
+<span id="L705" class="LineNr">705 </span>  <span class="PreProc">var</span> args/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> self, args
+<span id="L706" class="LineNr">706 </span>  <span class="PreProc">var</span> arg-width/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> word-list-length args
+<span id="L707" class="LineNr">707 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">edi</span>: int <span class="SpecialChar">&lt;-</span> copy arg-width
+<span id="L708" class="LineNr">708 </span>  <a href='data.mu.html#L70'>result</a> <span class="SpecialChar">&lt;-</span> add <span class="Constant">4</span>  <span class="muComment"># function-header-indent + body-indent</span>
+<span id="L709" class="LineNr">709 </span>  <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> self, body
+<span id="L710" class="LineNr">710 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L721'>body-width</a>/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> <a href='data.mu.html#L721'>body-width</a> body-ah
+<span id="L711" class="LineNr">711 </span>  <a href='data.mu.html#L721'>body-width</a> <span class="SpecialChar">&lt;-</span> add <span class="Constant">1</span>  <span class="muComment"># right margin</span>
+<span id="L712" class="LineNr">712 </span>  <a href='data.mu.html#L721'>body-width</a> <span class="SpecialChar">&lt;-</span> add <span class="Constant">2</span>  <span class="muComment"># body-indent for &quot;≡ &quot;</span>
+<span id="L713" class="LineNr">713 </span>  compare <a href='data.mu.html#L70'>result</a>, <a href='data.mu.html#L721'>body-width</a>
+<span id="L714" class="LineNr">714 </span>  <span class="Delimiter">{</span>
+<span id="L715" class="LineNr">715 </span>    <span class="PreProc">break-if-&gt;=</span>
+<span id="L716" class="LineNr">716 </span>    <a href='data.mu.html#L70'>result</a> <span class="SpecialChar">&lt;-</span> copy <a href='data.mu.html#L721'>body-width</a>
+<span id="L717" class="LineNr">717 </span>  <span class="Delimiter">}</span>
+<span id="L718" class="LineNr">718 </span>  <span class="PreProc">return</span> <a href='data.mu.html#L70'>result</a>
+<span id="L719" class="LineNr">719 </span><span class="Delimiter">}</span>
+<span id="L720" class="LineNr">720 </span>
+<span id="L721" class="LineNr">721 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L721'>body-width</a></span> lines: (addr handle <a href='data.mu.html#L22'>line</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
+<span id="L722" class="LineNr">722 </span>  <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> copy lines
+<span id="L723" class="LineNr">723 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">edi</span>: int <span class="SpecialChar">&lt;-</span> copy <span class="Constant">0</span>
+<span id="L724" class="LineNr">724 </span>  <span class="Delimiter">{</span>
+<span id="L725" class="LineNr">725 </span>    <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *curr-ah
+<span id="L726" class="LineNr">726 </span>    compare curr, <span class="Constant">0</span>
+<span id="L727" class="LineNr">727 </span>    <span class="PreProc">break-if-=</span>
+<span id="L728" class="LineNr">728 </span>    <span class="Delimiter">{</span>
+<span id="L729" class="LineNr">729 </span>      <span class="PreProc">var</span> words/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L30'>word</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> curr, data
+<span id="L730" class="LineNr">730 </span>      <span class="PreProc">var</span> curr-len/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> word-list-length words
+<span id="L731" class="LineNr">731 </span>      compare curr-len, <a href='data.mu.html#L70'>result</a>
+<span id="L732" class="LineNr">732 </span>      <span class="PreProc">break-if-&lt;=</span>
+<span id="L733" class="LineNr">733 </span>      <a href='data.mu.html#L70'>result</a> <span class="SpecialChar">&lt;-</span> copy curr-len
+<span id="L734" class="LineNr">734 </span>    <span class="Delimiter">}</span>
+<span id="L735" class="LineNr">735 </span>    curr-ah <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> curr, next
+<span id="L736" class="LineNr">736 </span>    <span class="PreProc">loop</span>
+<span id="L737" class="LineNr">737 </span>  <span class="Delimiter">}</span>
+<span id="L738" class="LineNr">738 </span>  <span class="PreProc">return</span> <a href='data.mu.html#L70'>result</a>
+<span id="L739" class="LineNr">739 </span><span class="Delimiter">}</span>
+<span id="L740" class="LineNr">740 </span>
+<span id="L741" class="LineNr">741 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L741'>function-height</a></span> _self: (addr <a href='data.mu.html#L14'>function</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
+<span id="L742" class="LineNr">742 </span>  <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L14'>function</a>) <span class="SpecialChar">&lt;-</span> copy _self
+<span id="L743" class="LineNr">743 </span>  <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> self, body
+<span id="L744" class="LineNr">744 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> <a href='data.mu.html#L749'>line-list-length</a> body-ah
+<span id="L745" class="LineNr">745 </span>  <a href='data.mu.html#L70'>result</a> <span class="SpecialChar">&lt;-</span> increment  <span class="muComment"># for function header</span>
+<span id="L746" class="LineNr">746 </span>  <span class="PreProc">return</span> <a href='data.mu.html#L70'>result</a>
+<span id="L747" class="LineNr">747 </span><span class="Delimiter">}</span>
+<span id="L748" class="LineNr">748 </span>
+<span id="L749" class="LineNr">749 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L749'>line-list-length</a></span> lines: (addr handle <a href='data.mu.html#L22'>line</a>)<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
+<span id="L750" class="LineNr">750 </span>  <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> copy lines
+<span id="L751" class="LineNr">751 </span>  <span class="PreProc">var</span> <a href='data.mu.html#L70'>result</a>/<span class="Constant">edi</span>: int <span class="SpecialChar">&lt;-</span> copy <span class="Constant">0</span>
+<span id="L752" class="LineNr">752 </span>  <span class="Delimiter">{</span>
+<span id="L753" class="LineNr">753 </span>    <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L22'>line</a>) <span class="SpecialChar">&lt;-</span> <a href='../../120allocate.subx.html#L256'>lookup</a> *curr-ah
+<span id="L754" class="LineNr">754 </span>    compare curr, <span class="Constant">0</span>
+<span id="L755" class="LineNr">755 </span>    <span class="PreProc">break-if-=</span>
+<span id="L756" class="LineNr">756 </span>    curr-ah <span class="SpecialChar">&lt;-</span> <a href='../../131table.subx.html#L26'>get</a> curr, next
+<span id="L757" class="LineNr">757 </span>    <a href='data.mu.html#L70'>result</a> <span class="SpecialChar">&lt;-</span> increment
+<span id="L758" class="LineNr">758 </span>    <span class="PreProc">loop</span>
+<span id="L759" class="LineNr">759 </span>  <span class="Delimiter">}</span>
+<span id="L760" class="LineNr">760 </span>  <span class="PreProc">return</span> <a href='data.mu.html#L70'>result</a>
+<span id="L761" class="LineNr">761 </span><span class="Delimiter">}</span>
 </pre>
 </body>
 </html>