about summary refs log tree commit diff stats
path: root/subx/056trace.subx
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-06-16 23:31:52 -0700
committerKartik Agaram <vc@akkartik.com>2019-06-16 23:31:52 -0700
commite9860d21d6772b7226459af1972e4fa637fccab6 (patch)
tree9d81304112c755ef7144b1102ed1162eafeb2c0d /subx/056trace.subx
parent07ef07155576bdbc1d8828801b1c5c3bb4c9f7e1 (diff)
downloadmu-e9860d21d6772b7226459af1972e4fa637fccab6.tar.gz
.
This missing line was giving the illusion that all was well when running
a single test at a time.

Now trace-scan still hangs, but it hangs reliably. And it's clear what
the logic error is.
Diffstat (limited to 'subx/056trace.subx')
-rw-r--r--subx/056trace.subx1
1 files changed, 1 insertions, 0 deletions
diff --git a/subx/056trace.subx b/subx/056trace.subx
index aea4a135..cf177c3f 100644
--- a/subx/056trace.subx
+++ b/subx/056trace.subx
@@ -328,6 +328,7 @@ trace-scan:  # line : string -> result/EAX : boolean
     # ESI = *Trace-stream
     8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           6/r32/ESI   Trace-stream/disp32               # copy *Trace-stream to ESI
     # ECX = Trace-stream->write
+    8b/copy                         0/mod/indirect  6/rm32/ESI    .           .             .           1/r32/ECX                   .                 # copy *ESI to ECX
 $trace-scan:loop:
     # if (Trace-stream->read >= Trace-stream->write) return false
     39/compare                      1/mod/*+disp8   6/rm32/ESI    .           .             .           1/r32/ECX   4/disp8         .                 # compare ECX with *(ESI+4)