Skip to content

Fix WriteBarrier owner and add cellLock for JSCommonJSExtensions::m_registeredFunctions - #30524

Closed
cirospaciari wants to merge 4 commits into
mainfrom
fix-cjs-extensions-celllock-and-owner
Closed

Fix WriteBarrier owner and add cellLock for JSCommonJSExtensions::m_registeredFunctions#30524
cirospaciari wants to merge 4 commits into
mainfrom
fix-cjs-extensions-celllock-and-owner

Fix WriteBarrier owner and add cellLock for JSCommonJSExtensions::m_r…

51c492f
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed May 11, 2026 in 18m 42s

Code review found 1 potential issue

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

Details

Severity Count
🔴 Important 0
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/jsc/bindings/JSCommonJSExtensions.cpp:204-210 Hardened functions are dead code; m_registeredFunctions is always empty

Annotations

Check warning on line 210 in src/jsc/bindings/JSCommonJSExtensions.cpp

See this annotation in the file changed.

@claude claude / Claude Code Review

Hardened functions are dead code; m_registeredFunctions is always empty

Heads-up: `JSCommonJSExtensions__appendFunction` / `__setFunction` / `__swapRemove` are dead code — they're declared as `extern fn` in `src/jsc/NodeModuleModule.zig:82-85` but have no call sites; the Zig side actually stores custom `require.extensions` handlers via `CustomLoader.custom: jsc.Strong`, so `m_registeredFunctions` is always empty. The fixes here are correct GC hygiene but have no runtime effect, so this code path can't be contributing to the `SlotVisitor::drain` segfault — it'd be cl