Repository navigation
v5.0.1
Changed
- (core) Tune Capstone lookahead and streamline graph traversals. Block decoding uses 32-byte ARM/AArch64
windows and 30-byte x86 windows, preserving the 15-byte default used by x86 padding probes; simplify the dominator
node set and iterative Tarjan traversal. Add mixed ARM/Thumb and Thumb-only targets to the fixture benchmark.
Measured againsta23d395: Debian dash AArch64 decoder calls fall from 20,030 to 4,958; ARM32 stays at 6,581.
Complete report hashes match on ARM32, AArch64, x86 and x64. Instruction-size bounds and padding semantics are
unchanged. (#408)
Fixed
- (common) End the gap scan at the image end, not at the address mask, preventing intel and ARM timeouts on
32-bit images at or across 4 GiB and intel timeouts on images ending there in a non-padding byte.
An in-image mask remains a forward-only checkpoint, preserving recovery above 4 GiB after a failed gap candidate.
Measured againsta23d395: Debian dash i386 text ending at, crossing and above 4 GiB changes fromtimeoutto
okwith the same 233, 27 and 0 functions; complete dash file reports match on ARM32, AArch64, x86 and x64.
The crossing-boundary regression retains all three functions. Branch-target address masking remains limited. (#407)
What's Changed
Changes
- fix(common): end the gap scan at the image end, not at the address mask by @r0ny123 in #407
- perf(core): tune capstone lookahead window and streamline graph traversals by @r0ny123 in #408
- refactor(core): tidy the review leftovers of #407 and #408 by @danielplohmann in #409
- build: release 5.0.1 by @danielplohmann in #410
Full Changelog: v5.0.0...v5.0.1