Skip to content

Yarr: JIT lookbehinds, first-code-point alternation dispatch, Boyer-Moore and /u·/v spec alignment, RegExp correctness fixes - #299

Merged
Jarred-Sumner merged 61 commits into
mainfrom
claude/yarr-regex-perf-5197
Aug 11, 2026
Merged

Yarr: JIT lookbehinds, first-code-point alternation dispatch, Boyer-Moore and /u·/v spec alignment, RegExp correctness fixes#299
Jarred-Sumner merged 61 commits into
mainfrom
claude/yarr-regex-perf-5197

Yarr: add Options::verifyRegExpJITReads, a bounds check on every subj…

b02abbc
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Aug 11, 2026 in 27m 9s

Code review found 4 potential issues

Found 2 candidates, confirmed 4. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 3
🟣 Pre-existing 1
Severity File:Line Issue
🟡 Nit Tools/yarr-fuzz/regex-fuzz.js:441 regex-fuzz.js metamorphic check has no-op identity map (editing debris)

Annotations

Check warning on line 441 in Tools/yarr-fuzz/regex-fuzz.js

See this annotation in the file changed.

@claude claude / Claude Code Review

regex-fuzz.js metamorphic check has no-op identity map (editing debris)

Nit: `.map((v) => typeof v === "string" ? v : v)` has identical ternary branches, so it is an identity map — dead editing debris (compare L512, where the string branch is `safeStr(v)`). No functional impact: `baseE` at L423 and the width variant at L451 both stringify the raw `encMatch` result without a map, so the comparison at L442 is self-consistent either way. Drop the `.map(...)` — `JSON.stringify(ve) + "|" + vt`. Zero product impact (dev-only fuzz tool).