diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-07-18 22:57:48 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-07-18 23:24:49 -0700 |
commit | 8da4c8c3006c7d60d92a951a2a096449dc398e68 (patch) | |
tree | 27a77c1659f6ea05c3d88fd06c24fc9ad0fd4780 /cleave | |
parent | 5030d67c85f63fc09ee506a90394c50f2db4f3be (diff) | |
download | mu-8da4c8c3006c7d60d92a951a2a096449dc398e68.tar.gz |
5416
Figured out what's going in with bug fourteen: displacement operands aren't always used relative to the PC. Does this mean I need to track instruction boundaries past pack? :'( No, I just need different logic for labels in code vs data segments. This was an interesting bug for reminding me of the difference between the emulator-level trace and the application-level trace. The former has 1.5 million lines, while the latter has a dozen. Luckily, just dumping the latter immediately made obvious what the issue was. Though this experience does suggest some further ideas for debugging tools: slice trace by line and phase slice trace by start and end label debug UI for SubX translator 2D layout: rows = lines of code; columns = translator phases each 'cell' in this layout contains a list of log lines shows what came in, what was emitted easily collapse any cell These are domain-specific tools. Special-cased to the SubX translator phases.
Diffstat (limited to 'cleave')
0 files changed, 0 insertions, 0 deletions