Commit 6e50196
committed
gemu: disasm highlight tracks instruction-start PC (no drift onto operands)
The wasm assembly window centred on the live rPO, which advances mid-instruction
(operand fetch, and jump-target recomputation), so the "current line" highlight
drifted onto operand DB bytes and the next instruction — most visibly across a
jump.
Latch ge->instr_pc in the alpha fetch (state e2/e3), where PO addresses the
opcode and is not advanced within the state. It stays on the executing
instruction while operands are read and PO is recomputed, and only moves when the
next instruction is actually fetched (jumping straight to the target's opcode,
never onto a DB byte). The wasm disassembly window now centres on instr_pc.
Verified over a deck run: instr_pc lands only on real opcodes (07/43/95/92/d2…)
and follows jumps to their targets. Suite 251/251.1 parent 10ba531 commit 6e50196
3 files changed
Lines changed: 23 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
161 | 164 | | |
162 | 165 | | |
163 | | - | |
| 166 | + | |
164 | 167 | | |
165 | 168 | | |
166 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
308 | 318 | | |
309 | 319 | | |
310 | 320 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
115 | 123 | | |
116 | 124 | | |
117 | 125 | | |
| |||
0 commit comments