feat(debug): instruction-level coverage and FP register display
Assisted-by: GLM 5.3 Flash
This commit is contained in:
@@ -23,6 +23,14 @@ Unreleased changes on the `development` branch.
|
||||
- **Conditional breakpoints.** `break <label> if <reg> <op> <val>` now also
|
||||
compares two registers (`break loop if RAX > RBX`), not only a register
|
||||
against an immediate.
|
||||
- **Instruction-level coverage.** `gasm debug --cover` now sets a
|
||||
breakpoint on every instruction (walked by disassembly length), counts
|
||||
the hits per instruction and reports the executed instructions with
|
||||
their hit counts, with the label coverage derived from the same run.
|
||||
Expect the run to slow to ptrace speed.
|
||||
- **FP register display on riscv64 and loong64.** The debugger `regs`
|
||||
command shows the 32 FP registers plus fcsr (and fcc on loong64) via
|
||||
`PTRACE_GETREGSET`, where it previously printed nothing.
|
||||
- **JIT execution trampolines.** `verify.Call` now works on all four
|
||||
architectures via hand-written assembly trampolines
|
||||
(`trampoline_{arm64,riscv64,loong64}.s`) that save the Go stack, switch
|
||||
|
||||
Reference in New Issue
Block a user