diff options
Diffstat (limited to 'html/120allocate.subx.html')
-rw-r--r-- | html/120allocate.subx.html | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/html/120allocate.subx.html b/html/120allocate.subx.html index fb6f052a..84f65426 100644 --- a/html/120allocate.subx.html +++ b/html/120allocate.subx.html @@ -173,7 +173,7 @@ if ('onhashchange' in window) { <span id="L112" class="LineNr">112 </span> <span class="subxComment"># TODO: move this check up before any state updates when we support error recovery</span> <span id="L113" class="LineNr">113 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 3/index/ebx <span class="Normal"> . </span> 0/r32/eax 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ebx+4 to eax</span> <span id="L114" class="LineNr">114 </span> 3b/compare 1/mod/*+disp8 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># compare eax with *(ecx+4)</span> -<span id="L115" class="LineNr">115 </span> 73/jump-if->=-signed $allocate-raw:<a href='501draw-text.mu.html#L459'>abort</a>/disp8 +<span id="L115" class="LineNr">115 </span> 73/jump-if->=-signed $allocate-raw:<a href='501draw-text.mu.html#L481'>abort</a>/disp8 <span id="L116" class="LineNr">116 </span><span class="Constant">$allocate-raw:commit</span>: <span id="L117" class="LineNr">117 </span> <span class="subxComment"># ad->curr += n+4</span> <span id="L118" class="LineNr">118 </span> 89/copy 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy eax to *ecx</span> @@ -190,8 +190,8 @@ if ('onhashchange' in window) { <span id="L129" class="LineNr">129 </span> 5d/pop-to-ebp <span id="L130" class="LineNr">130 </span> c3/return <span id="L131" class="LineNr">131 </span> -<span id="L132" class="LineNr">132 </span><span class="Constant">$allocate-raw:<a href='501draw-text.mu.html#L459'>abort</a></span>: -<span id="L133" class="LineNr">133 </span> (<a href='501draw-text.mu.html#L236'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"allocate: failed"</span> 3 0) <span class="subxComment"># 3=cyan</span> +<span id="L132" class="LineNr">132 </span><span class="Constant">$allocate-raw:<a href='501draw-text.mu.html#L481'>abort</a></span>: +<span id="L133" class="LineNr">133 </span> (<a href='501draw-text.mu.html#L258'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"allocate: failed"</span> 3 0) <span class="subxComment"># 3=cyan</span> <span id="L134" class="LineNr">134 </span> { <span id="L135" class="LineNr">135 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L136" class="LineNr">136 </span> } @@ -301,7 +301,7 @@ if ('onhashchange' in window) { <span id="L240" class="LineNr">240 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+12) to eax</span> <span id="L241" class="LineNr">241 </span> <span class="subxComment"># if (ecx != *eax) abort</span> <span id="L242" class="LineNr">242 </span> 39/compare 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># compare *eax and ecx</span> -<span id="L243" class="LineNr">243 </span> 75/jump-if-!= $lookup:<a href='501draw-text.mu.html#L459'>abort</a>/disp8 +<span id="L243" class="LineNr">243 </span> 75/jump-if-!= $lookup:<a href='501draw-text.mu.html#L481'>abort</a>/disp8 <span id="L244" class="LineNr">244 </span> <span class="subxComment"># add 4 to eax</span> <span id="L245" class="LineNr">245 </span> 05/add-to-eax 4/imm32 <span id="L246" class="LineNr">246 </span><span class="Constant">$lookup:end</span>: @@ -312,8 +312,8 @@ if ('onhashchange' in window) { <span id="L251" class="LineNr">251 </span> 5d/pop-to-ebp <span id="L252" class="LineNr">252 </span> c3/return <span id="L253" class="LineNr">253 </span> -<span id="L254" class="LineNr">254 </span><span class="Constant">$lookup:<a href='501draw-text.mu.html#L459'>abort</a></span>: -<span id="L255" class="LineNr">255 </span> (<a href='501draw-text.mu.html#L236'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"lookup: failed"</span> 3 0) <span class="subxComment"># 3=cyan</span> +<span id="L254" class="LineNr">254 </span><span class="Constant">$lookup:<a href='501draw-text.mu.html#L481'>abort</a></span>: +<span id="L255" class="LineNr">255 </span> (<a href='501draw-text.mu.html#L258'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"lookup: failed"</span> 3 0) <span class="subxComment"># 3=cyan</span> <span id="L256" class="LineNr">256 </span> { <span id="L257" class="LineNr">257 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L258" class="LineNr">258 </span> } @@ -560,7 +560,7 @@ if ('onhashchange' in window) { <span id="L499" class="LineNr">499 </span> 05/add-to-eax 4/imm32 <span id="L500" class="LineNr">500 </span> <span class="subxComment"># if (eax == 0) abort</span> <span id="L501" class="LineNr">501 </span> 3d/compare-eax-and 0/imm32 -<span id="L502" class="LineNr">502 </span> 74/jump-if-= $allocate-region:<a href='501draw-text.mu.html#L459'>abort</a>/disp8 +<span id="L502" class="LineNr">502 </span> 74/jump-if-= $allocate-region:<a href='501draw-text.mu.html#L481'>abort</a>/disp8 <span id="L503" class="LineNr">503 </span> <span class="subxComment"># earmark 8 bytes at the start for a new allocation descriptor</span> <span id="L504" class="LineNr">504 </span> <span class="subxS1Comment"># . *eax = eax + 8</span> <span id="L505" class="LineNr">505 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy eax to ecx</span> @@ -584,8 +584,8 @@ if ('onhashchange' in window) { <span id="L523" class="LineNr">523 </span><span class="subxComment"># conditional jump, even if it's unused the vast majority of the time. This way</span> <span id="L524" class="LineNr">524 </span><span class="subxComment"># we bloat a potentially cold segment in RAM so we can abort with a single</span> <span id="L525" class="LineNr">525 </span><span class="subxComment"># instruction.</span> -<span id="L526" class="LineNr">526 </span><span class="Constant">$allocate-region:<a href='501draw-text.mu.html#L459'>abort</a></span>: -<span id="L527" class="LineNr">527 </span> (<a href='501draw-text.mu.html#L236'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"allocate-region: failed to allocate"</span> 3 0) <span class="subxComment"># 3=cyan</span> +<span id="L526" class="LineNr">526 </span><span class="Constant">$allocate-region:<a href='501draw-text.mu.html#L481'>abort</a></span>: +<span id="L527" class="LineNr">527 </span> (<a href='501draw-text.mu.html#L258'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"allocate-region: failed to allocate"</span> 3 0) <span class="subxComment"># 3=cyan</span> <span id="L528" class="LineNr">528 </span> { <span id="L529" class="LineNr">529 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L530" class="LineNr">530 </span> } |