about summary refs log tree commit diff stats
path: root/html/apps/handle.subx.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/apps/handle.subx.html')
-rw-r--r--html/apps/handle.subx.html26
1 files changed, 13 insertions, 13 deletions
diff --git a/html/apps/handle.subx.html b/html/apps/handle.subx.html
index 23eb9991..19127a5e 100644
--- a/html/apps/handle.subx.html
+++ b/html/apps/handle.subx.html
@@ -107,7 +107,7 @@ if ('onhashchange' in window) {
 <span id="L44" class="LineNr"> 44 </span>    b8/copy-to-eax  1/imm32/exit
 <span id="L45" class="LineNr"> 45 </span>    cd/syscall  0x80/imm8
 <span id="L46" class="LineNr"> 46 </span>
-<span id="L47" class="LineNr"> 47 </span><span class="subxFunction">new</span>:  <span class="subxComment"># ad : (address allocation-descriptor), n : int, out : (address handle)</span>
+<span id="L47" class="LineNr"> 47 </span><span class="subxFunction">new</span>:  <span class="subxComment"># ad : (address allocation-descriptor), n : int, out : (handle _)</span>
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxS1Comment"># . prologue</span>
 <span id="L49" class="LineNr"> 49 </span>    55/push-ebp
 <span id="L50" class="LineNr"> 50 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
@@ -118,12 +118,12 @@ if ('onhashchange' in window) {
 <span id="L55" class="LineNr"> 55 </span>    <span class="subxComment"># ecx = n+4</span>
 <span id="L56" class="LineNr"> 56 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to ecx</span>
 <span id="L57" class="LineNr"> 57 </span>    81          0/subop/add         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to ecx</span>
-<span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># eax = allocate(ad, ecx)</span>
+<span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># var eax : (handle _) = allocate(ad, ecx)</span>
 <span id="L59" class="LineNr"> 59 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L60" class="LineNr"> 60 </span>    51/push-ecx
 <span id="L61" class="LineNr"> 61 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
 <span id="L62" class="LineNr"> 62 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L63" class="LineNr"> 63 </span>    e8/call  <a href='../069allocate.subx.html#L61'>allocate</a>/disp32
+<span id="L63" class="LineNr"> 63 </span>    e8/call  <a href='../069allocate.subx.html#L59'>allocate</a>/disp32
 <span id="L64" class="LineNr"> 64 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L65" class="LineNr"> 65 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># edx = out</span>
@@ -159,7 +159,7 @@ if ('onhashchange' in window) {
 <span id="L96" class="LineNr"> 96 </span>    <span class="subxS1Comment"># . prologue</span>
 <span id="L97" class="LineNr"> 97 </span>    55/push-ebp
 <span id="L98" class="LineNr"> 98 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
-<span id="L99" class="LineNr"> 99 </span>    <span class="subxComment"># var heap/edx : (address allocation-descriptor) = {0, 0}</span>
+<span id="L99" class="LineNr"> 99 </span>    <span class="subxComment"># var heap/edx : (ref allocation-descriptor)</span>
 <span id="L100" class="LineNr">100 </span>    68/push  0/imm32/limit
 <span id="L101" class="LineNr">101 </span>    68/push  0/imm32/curr
 <span id="L102" class="LineNr">102 </span>    89/copy                         3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to edx</span>
@@ -173,7 +173,7 @@ if ('onhashchange' in window) {
 <span id="L110" class="LineNr">110 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L111" class="LineNr">111 </span>    <span class="subxComment"># *Next-alloc-id = 0x34</span>
 <span id="L112" class="LineNr">112 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>    <span class="SpecialChar"><a href='handle.subx.html#L425'>Next-alloc-id</a></span>/disp32  0x34/imm32        <span class="subxComment"># copy to *Next-alloc-id</span>
-<span id="L113" class="LineNr">113 </span>    <span class="subxComment"># var handle/ecx = {0, 0}</span>
+<span id="L113" class="LineNr">113 </span>    <span class="subxComment"># var handle/ecx : (ref handle)</span>
 <span id="L114" class="LineNr">114 </span>    68/push  0/imm32/address
 <span id="L115" class="LineNr">115 </span>    68/push  0/imm32/alloc-id
 <span id="L116" class="LineNr">116 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
@@ -229,7 +229,7 @@ if ('onhashchange' in window) {
 <span id="L166" class="LineNr">166 </span>    <span class="subxS1Comment"># . *Next-alloc-id = 0x34</span>
 <span id="L167" class="LineNr">167 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='handle.subx.html#L425'>Next-alloc-id</a></span>/disp32  0x34/imm32  <span class="subxComment"># copy to *Next-alloc-id</span>
 <span id="L168" class="LineNr">168 </span>    <span class="subxComment"># define an allocation-descriptor with no space left</span>
-<span id="L169" class="LineNr">169 </span>    <span class="subxS1Comment"># . var ad/eax : (address allocation-descriptor) = {0x10, 0x10}</span>
+<span id="L169" class="LineNr">169 </span>    <span class="subxS1Comment"># . var ad/eax : (ref allocation-descriptor) = {0x10, 0x10}</span>
 <span id="L170" class="LineNr">170 </span>    68/push  0x10/imm32/limit
 <span id="L171" class="LineNr">171 </span>    68/push  0x10/imm32/curr
 <span id="L172" class="LineNr">172 </span>    89/copy                         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to eax</span>
@@ -332,7 +332,7 @@ if ('onhashchange' in window) {
 <span id="L269" class="LineNr">269 </span>    68/push  <span class="Constant">&quot;lookup failed\n&quot;</span>/imm32
 <span id="L270" class="LineNr">270 </span>    68/push  2/imm32/stderr
 <span id="L271" class="LineNr">271 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L272" class="LineNr">272 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L272" class="LineNr">272 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L273" class="LineNr">273 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L274" class="LineNr">274 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L275" class="LineNr">275 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
@@ -345,7 +345,7 @@ if ('onhashchange' in window) {
 <span id="L282" class="LineNr">282 </span>    55/push-ebp
 <span id="L283" class="LineNr">283 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
 <span id="L284" class="LineNr">284 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L285" class="LineNr">285 </span>    <span class="subxComment"># var heap/ebx : (address allocation-descriptor) = {0, 0}</span>
+<span id="L285" class="LineNr">285 </span>    <span class="subxComment"># var heap/ebx : (ref allocation-descriptor)</span>
 <span id="L286" class="LineNr">286 </span>    68/push  0/imm32/limit
 <span id="L287" class="LineNr">287 </span>    68/push  0/imm32/curr
 <span id="L288" class="LineNr">288 </span>    89/copy                         3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebx</span>
@@ -357,7 +357,7 @@ if ('onhashchange' in window) {
 <span id="L294" class="LineNr">294 </span>    e8/call  <a href='../053new-segment.subx.html#L41'>new-segment</a>/disp32
 <span id="L295" class="LineNr">295 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L296" class="LineNr">296 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L297" class="LineNr">297 </span>    <span class="subxComment"># var handle/ecx = {0, 0}</span>
+<span id="L297" class="LineNr">297 </span>    <span class="subxComment"># var handle/ecx : (ref handle)</span>
 <span id="L298" class="LineNr">298 </span>    68/push  0/imm32/address
 <span id="L299" class="LineNr">299 </span>    68/push  0/imm32/alloc-id
 <span id="L300" class="LineNr">300 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
@@ -413,7 +413,7 @@ if ('onhashchange' in window) {
 <span id="L350" class="LineNr">350 </span>    <span class="subxS1Comment"># . prologue</span>
 <span id="L351" class="LineNr">351 </span>    55/push-ebp
 <span id="L352" class="LineNr">352 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
-<span id="L353" class="LineNr">353 </span>    <span class="subxComment"># var heap/esi : (address allocation-descriptor) = {0, 0}</span>
+<span id="L353" class="LineNr">353 </span>    <span class="subxComment"># var heap/esi : (ref allocation-descriptor)</span>
 <span id="L354" class="LineNr">354 </span>    68/push  0/imm32/limit
 <span id="L355" class="LineNr">355 </span>    68/push  0/imm32/curr
 <span id="L356" class="LineNr">356 </span>    89/copy                         3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to esi</span>
@@ -425,7 +425,7 @@ if ('onhashchange' in window) {
 <span id="L362" class="LineNr">362 </span>    e8/call  <a href='../053new-segment.subx.html#L41'>new-segment</a>/disp32
 <span id="L363" class="LineNr">363 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L364" class="LineNr">364 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L365" class="LineNr">365 </span>    <span class="subxComment"># var h1/ecx = {0, 0}</span>
+<span id="L365" class="LineNr">365 </span>    <span class="subxComment"># var h1/ecx : (ref handle)</span>
 <span id="L366" class="LineNr">366 </span>    68/push  0/imm32/address
 <span id="L367" class="LineNr">367 </span>    68/push  0/imm32/alloc-id
 <span id="L368" class="LineNr">368 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
@@ -444,7 +444,7 @@ if ('onhashchange' in window) {
 <span id="L381" class="LineNr">381 </span>    <span class="subxComment"># reset heap-&gt;curr to mimic reclamation</span>
 <span id="L382" class="LineNr">382 </span>    89/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebx to *esi</span>
 <span id="L383" class="LineNr">383 </span>    <span class="subxComment"># second allocation that returns the same address as the first</span>
-<span id="L384" class="LineNr">384 </span>    <span class="subxComment"># var h2/edx = {0, 0}</span>
+<span id="L384" class="LineNr">384 </span>    <span class="subxComment"># var h2/edx : (ref handle)</span>
 <span id="L385" class="LineNr">385 </span>    68/push  0/imm32/address
 <span id="L386" class="LineNr">386 </span>    68/push  0/imm32/alloc-id
 <span id="L387" class="LineNr">387 </span>    89/copy                         3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to edx</span>
@@ -485,7 +485,7 @@ if ('onhashchange' in window) {
 <span id="L422" class="LineNr">422 </span>== data
 <span id="L423" class="LineNr">423 </span>
 <span id="L424" class="LineNr">424 </span><span class="subxComment"># Monotonically increasing counter for calls to 'new'</span>
-<span id="L425" class="LineNr">425 </span><span class="SpecialChar">Next-alloc-id</span>:
+<span id="L425" class="LineNr">425 </span><span class="SpecialChar">Next-alloc-id</span>:  <span class="subxComment"># int</span>
 <span id="L426" class="LineNr">426 </span>    1/imm32
 <span id="L427" class="LineNr">427 </span>
 <span id="L428" class="LineNr">428 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>