Skip to content

Harden Turbo traversal, arena bounds, and iterable parity - #6538

Merged
ondrejmirtes merged 2 commits into
2.3.xfrom
codex/fix-turbo-review-findings
Sep 22, 2026
Merged

ondrejmirtes merged 2 commits into
2.3.xfrom
codex/fix-turbo-review-findings

Conversation

@ondrejmirtes

Copy link
Copy Markdown
Member

Summary

  • continue recursive native AST walks on fresh stack segments when the C stack runs low
  • validate arena offsets and allocation sizes with overflow-safe arithmetic, and reserve records without wrapping the shared cursor
  • restore lazy Generator and inner Traversable behavior for combinations, stream native internal combinations, and return a Generator from native template constraints
  • add focused parity coverage without committing pathological source fixtures

Verification

  • strict C++ build with warnings as errors
  • make phpstan
  • make tests (22,210 tests; 97,888 assertions)
  • Turbo smoke and type-family differential
  • 351-class shadow/method parity
  • 14,058-method signature parity
  • parser differential: 8,770 files, 0 failures
  • traversal differential: 615,112 identical events
  • cross-process arena smoke
  • full Turbo UBSan differential suite
  • private stress verification for the three recursive walkers that previously exhausted the native stack

@ondrejmirtes
ondrejmirtes force-pushed the codex/fix-turbo-review-findings branch from a22a137 to ef16d6e Compare September 22, 2026 19:54
@ondrejmirtes
ondrejmirtes merged commit ef16d6e into 2.3.x Sep 22, 2026
223 of 265 checks passed
@ondrejmirtes
ondrejmirtes deleted the codex/fix-turbo-review-findings branch September 22, 2026 19:55
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.

1 participant