Skip to content

DFG: LiveCatchVariablePreservationPhase flushed the wrong handler's locals when one try range leads directly into another - #417

Open
robobun wants to merge 1 commit into
mainfrom
farm/a3a8c180/live-catch-handler-transition
Open

DFG: LiveCatchVariablePreservationPhase flushed the wrong handler's locals when one try range leads directly into another#417
robobun wants to merge 1 commit into
mainfrom
farm/a3a8c180/live-catch-handler-transition

DFG: flush the handler being left before switching catch liveness to …

ece09c1
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Aug 18, 2026 in 8m 50s

Code review found 1 important issue

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

Details

Severity Count
🔴 Important 1
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit JSTests/stress/using-dispose-throw-after-body-throw-in-jit.js:44 New stress tests hardcode iteration counts instead of using testLoopCount

Annotations

Check warning on line 44 in JSTests/stress/using-dispose-throw-after-body-throw-in-jit.js

See this annotation in the file changed.

@claude claude / Claude Code Review

New stress tests hardcode iteration counts instead of using testLoopCount

Both new stress tests hardcode their warmup iteration counts (`20000` here and `2000000` at `for-using-dispose-call-live-catch-locals-ftl-validation.js:15`) instead of using `testLoopCount`. `JSTests/README.md` requires new tests to use `testLoopCount` so they tier up where that matters and stay under the 200ms budget in no-JIT configurations; it is a global on the jsc shell's GlobalObject, so it is visible inside indirect eval (or can be interpolated via `${testLoopCount}` since the eval string