Skip to content

Fix AOT undef-var guards for foreach-by-ref and native function locals (re #23471) - #35651

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-23471-differential-aot-undef-var
Aug 28, 2026
Merged

Fix AOT undef-var guards for foreach-by-ref and native function locals (re #23471)#35651
PurHur merged 1 commit into
masterfrom
agent/issue-23471-differential-aot-undef-var

Conversation

@PurHur

@PurHur PurHur commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • ./script/aot-smoke.sh → 8 passed, 0 failed
  • ./script/docker-exec.sh -- bash -lc '…' repro: i11_foreach_by_ref.php + e28_float_widen_mul_escape.php byte-identical to Zend
  • ./script/phpunit.sh --filter UndefinedVariableClosureAotTest → OK (1 test, 4 assertions)
  • Full ./script/differential-sweep.sh --aot not re-run end-to-end this run (prior pass: 123/125; both known DIFF cases fixed individually)

Closes #23471

Made with Cursor

#23471)

#35643 assigned-flag guards regressed differential --aot on i11_foreach_by_ref
and e28_float_widen_mul_escape: skip foreach-by-ref CVs, mark assigned on
by-ref iter/assign paths, track native stack locals, and mark VALUE-wrap assigns.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 1072676 into master Aug 28, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-23471-differential-aot-undef-var branch August 28, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AOT: mandelbrot renders all '_' — escape condition wrong in native code (VM correct)

1 participant