diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-05-29 17:03:22 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-05-29 17:03:22 -0700 |
commit | fde296ca3c93a6e2c4342cbe52a1b590c6c1abc1 (patch) | |
tree | 5cdab6f987e07191bd8d1b9b91344b3c6fb1dcf8 /shell | |
parent | 58c801db0f2bad6a5fdeb98ba088ccbafc40fe07 (diff) | |
download | mu-fde296ca3c93a6e2c4342cbe52a1b590c6c1abc1.tar.gz |
.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/trace.mu | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/shell/trace.mu b/shell/trace.mu index 9c9d8d0d..04e7b19c 100644 --- a/shell/trace.mu +++ b/shell/trace.mu @@ -19,6 +19,7 @@ type trace { # reload loop: # there are already some visible lines # append a bunch of new trace lines to the trace + # recreate trace caches # render loop: # rendering displays trace lines that match visible lines # (caching in each line) @@ -26,7 +27,7 @@ type trace { # edit-trace updates cursor-y coordinate # edit-trace might add/remove lines to visible visible: (handle array trace-line) - recompute-visible?: boolean + recreate-caches?: boolean cursor-line-index: int # index into data cursor-y: int # row index on screen unclip-cursor-line?: boolean # extremely short-lived; reset any time cursor moves @@ -409,13 +410,13 @@ fn dump-trace-with-label _self: (addr trace), label: (addr array byte) { fn mark-lines-dirty _self: (addr trace) { var self/eax: (addr trace) <- copy _self - var dest/edx: (addr boolean) <- get self, recompute-visible? + var dest/edx: (addr boolean) <- get self, recreate-caches? copy-to *dest, 1/true } fn mark-lines-clean _self: (addr trace) { var self/eax: (addr trace) <- copy _self - var dest/edx: (addr boolean) <- get self, recompute-visible? + var dest/edx: (addr boolean) <- get self, recreate-caches? copy-to *dest, 0/false } @@ -571,7 +572,7 @@ fn render-trace-line screen: (addr screen), _self: (addr trace-line), xmin: int, fn should-render? _self: (addr trace), _line: (addr trace-line) -> _/eax: boolean { var self/esi: (addr trace) <- copy _self # if visible? is already cached, just return it - var dest/edx: (addr boolean) <- get self, recompute-visible? + var dest/edx: (addr boolean) <- get self, recreate-caches? compare *dest, 0/false { break-if-!= |