diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-02-22 19:46:23 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-02-22 19:46:23 -0800 |
commit | 421ed4651f0f9ceb23f07f8d00797e61d63a29ad (patch) | |
tree | 89e193027a98f490c58813a7ec54babb1451f3a9 /baremetal/shell/trace.mu | |
parent | 5ddc9dfd9cfc7eedfbdcb5e5dbf2cf1f2f8bf6b5 (diff) | |
download | mu-421ed4651f0f9ceb23f07f8d00797e61d63a29ad.tar.gz |
7784 - baremetal/shell: start of trace
Diffstat (limited to 'baremetal/shell/trace.mu')
-rw-r--r-- | baremetal/shell/trace.mu | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/baremetal/shell/trace.mu b/baremetal/shell/trace.mu new file mode 100644 index 00000000..88ee0860 --- /dev/null +++ b/baremetal/shell/trace.mu @@ -0,0 +1,32 @@ +# A trace records the evolution of a computation. +# An integral part of the Mu Shell is facilities for browsing traces. + +type trace { + curr-depth: int + data: (handle stream trace-line) +} + +type trace-line { + depth: int + label: (handle array byte) + data: (handle array byte) +} + +fn has-errors? _self: (addr trace) -> _/eax: boolean { + return 0/false +} + +fn trace _self: (addr trace), label: (addr array byte), data: (array stream byte) { +} + +fn new-trace-line depth: int, label: (addr array byte), data: (array stream byte), out: (addr trace-line) { +} + +fn trace-lower _self: (addr trace) { +} + +fn trace-higher _self: (addr trace) { +} + +fn render-trace screen: (addr screen), _self: (addr trace), _x: int, _y: int { +} |