Stdlib: phpcredits(CREDITS_ALL) full module table (#16367)#16371
Merged
Conversation
CREDITS_ALL passed as the userland constant is uint32 max, not -1; use isCreditsAll() so plaintext credits include the full credits_modules table like php-src while CREDITS_MODULES alone stays loaded-only. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
3 tasks
PurHur
pushed a commit
that referenced
this pull request
Jul 5, 2026
…AOT flip (#16378). Rebase follow-up: phpcredits CREDITS_ALL (#16371) regrew inventory method counts, and the capability-syntax probe now honestly reports typed class constants AOT=no — real regression filed as #16378 (AOT loses typed const values; VM/JIT fine). check-generated-docs.sh and check-wave3-roadmap-sync green in the pinned container. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PurHur
added a commit
that referenced
this pull request
Jul 5, 2026
…son resync (#1802) (#16376) * Bootstrap: spine sync 4037/4037 + sidecar refresh; capability-comparison resync (#1802). The fleet grew the Phase A inventory to 4037 files without running the spine chain, leaving ci-fast red at check-wave3-roadmap-sync (footnotes said 4036). script/spine-sync.sh full chain: new inventory file added to compiler_lib_spine_smoke, inventory/profile regenerated, 4036->4037 footnotes rewritten across the six docs + test assertion, gen-0 sidecar stamp refreshed (blob byte-identical), all four sync checks green. Also regenerates docs/pages/capability-comparison.html for the asymmetric private(set) AOT=no flip (#16354) that #16355 missed — 80/89 full constructs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Docs: regen inventory/capability docs on rebased master; typed-const AOT flip (#16378). Rebase follow-up: phpcredits CREDITS_ALL (#16371) regrew inventory method counts, and the capability-syntax probe now honestly reports typed class constants AOT=no — real regression filed as #16378 (AOT loses typed const values; VM/JIT fine). check-generated-docs.sh and check-wave3-roadmap-sync green in the pinned container. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: PurHur <tedyyyyy@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PurHur
added a commit
that referenced
this pull request
Jul 5, 2026
#1802) (#16406) * Bootstrap: spine sync 4037/4037 + sidecar refresh; capability-comparison resync (#1802). The fleet grew the Phase A inventory to 4037 files without running the spine chain, leaving ci-fast red at check-wave3-roadmap-sync (footnotes said 4036). script/spine-sync.sh full chain: new inventory file added to compiler_lib_spine_smoke, inventory/profile regenerated, 4036->4037 footnotes rewritten across the six docs + test assertion, gen-0 sidecar stamp refreshed (blob byte-identical), all four sync checks green. Also regenerates docs/pages/capability-comparison.html for the asymmetric private(set) AOT=no flip (#16354) that #16355 missed — 80/89 full constructs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Docs: regen inventory/capability docs on rebased master; typed-const AOT flip (#16378). Rebase follow-up: phpcredits CREDITS_ALL (#16371) regrew inventory method counts, and the capability-syntax probe now honestly reports typed class constants AOT=no — real regression filed as #16378 (AOT loses typed const values; VM/JIT fine). check-generated-docs.sh and check-wave3-roadmap-sync green in the pinned container. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: PurHur <tedyyyyy@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
phpcredits(CREDITS_ALL)now emits the fullcredits_modules[]table like php-src, matching Zend output length (~7.5k bytes vs prior ~4.4k).VmInfo::isCreditsAll()so the userlandCREDITS_ALLconstant (uint32 max /4294967295) is treated the same as internal-1.CREDITS_MODULESalone still lists loaded extensions only (Regression: phpcredits(CREDITS_MODULES) lists cURL when curl extension unloaded (re-#15183, ext/standard/credits.c) #16338 unchanged).Root cause
Plaintext credits always called
creditsModulesSectionText(false)(loaded-only rows). Defaultphpcredits()without args worked because the internal default is-1, but explicitCREDITS_ALLconstant comparison failed strict=== -1.php-src reference
ext/standard/credits.c—php_print_credits(CREDITS_ALL)full module tablePHP implementation
ext/standard/VmInfo.php—isCreditsAll(),creditsSectionText()full-table branchVerification
Closes #16367
Made with Cursor