• v0.20.0 Stable

    petrbalvin released this 2026-08-02 21:11:30 +00:00 | 259 commits to main since this release

    Coverage profiling: the third pillar of Phase 3. Static basic-block
    enumeration from the assembler's label map, combined with multi-input path
    diversity measurement — how many observationally distinct execution paths a
    test corpus exercises.

    Added

    • verify: Kernel.Blocks / Kernel.BlockCount — enumerate basic blocks
      from the assembler's local-label map (every jump target is a block
      boundary; the function entry is always a block). decodeBlockAVX2 has
      27 blocks.
    • verify: Kernel.ProfilePaths — run the function with a corpus of
      argument blocks and collect distinct output fingerprints (the result
      words); reports path diversity as a lower bound on code coverage.

    Note

    INT3-based per-block hit counting was prototyped but deferred: Go's runtime
    signal management (sigaltstack, handler re-installation) makes raw
    rt_sigaction handlers fragile in a Go process. The static + path-diversity
    approach delivers the project's goal (proving the SIMD path and tail handling
    execute) without fighting the runtime.

    Downloads