Skip to content

Shared-memory threads for JavaScriptCore (experimental, not working yet) - #249

Open
Jarred-Sumner wants to merge 151 commits into
mainfrom
jarred/threads
Open

Jarred-Sumner wants to merge 151 commits into
mainfrom
jarred/threads

§48 r47 closure: setButterfly foreign-TID escapes (5 sites incl. JIT …

3a14f2a
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jun 20, 2026 in 19m 29s

Code review found 3 potential issues

Found 5 candidates, confirmed 3. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 2
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit .claude/workflows/thread-fix.js:208-212 Final-round success falsely reported as failure (off-by-one in post-loop check)
🟡 Nit .claude/workflows/thread-bughunter2.js:1-9 Cloned workflow scripts retain stale meta/prompts/labels from their template

Annotations

Check warning on line 212 in .claude/workflows/thread-fix.js

See this annotation in the file changed.

@claude claude / Claude Code Review

Final-round success falsely reported as failure (off-by-one in post-loop check)

If success (`allGreen`/`build.success`) lands on the final loop iteration, `round` already equals `MAX_ROUNDS` after the `break`, so the post-loop `if (round >= MAX_ROUNDS)` fires and the workflow returns `{fixed: false}` (or logs "did not converge") despite succeeding. The same off-by-one shape recurs at thread-implement.js:436, thread-ungil.js:366, and thread-ungil.js:528 (where `lastReport` still holds the prior round's non-green report, so the `!(lastReport?.allGreen)` guard does not help). 

Check warning on line 9 in .claude/workflows/thread-bughunter2.js

See this annotation in the file changed.

@claude claude / Claude Code Review

Cloned workflow scripts retain stale meta/prompts/labels from their template

Several cloned workflow scripts retain stale content from their templates: `thread-bughunter2/3/4.js` all share `meta.name = 'thread-bughunter'` (would collide in the named-workflow registry) plus the original butterfly-corruption `meta.description`, and their Evidence-phase prompt items 2–4 still instruct decoding '1003008 vs 1003017' and toggling `forceSegmentedButterflies` — irrelevant to the GC under-marking / STW watchdog / W≥16 libpas targets each file's `COMMON` block actually hunts. Like