Skip to content

AOT: ReflectionExtension::getDependencies thin proxy matches Zend (#34155) - #34157

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-34155-reflection-extension-getdependencies-aot
Aug 23, 2026
Merged

AOT: ReflectionExtension::getDependencies thin proxy matches Zend (#34155)#34157
PurHur merged 1 commit into
masterfrom
agent/issue-34155-reflection-extension-getdependencies-aot

Conversation

@PurHur

@PurHur PurHur commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Thin AOT had no ReflectionExtension::getDependencies() proxy — ExternalMethod returned NULL while Zend/VM return the dependency map (date[], domlibxml=>Required, …).
  • Adds JIT Call + Runtime that memcmp-matches the extension name (lowercased) and bakes VmReflection::reflectionExtensionDependenciesTable into constant arrays (peer #34150 / #34154).
  • Registers reflectionextension::getdependencies in lib/JIT/Context.php.

Closes #34155

php-src

  • ext/reflection/php_reflection.czim_ReflectionExtension_getDependencies

Test plan

  • ./script/aot-smoke.sh8 passed, 0 failed
  • ./script/docker-exec.sh -- bash -lc './script/phpunit.sh --filter Issue34155ReflectionExtensionGetDependenciesAotTest'OK (4 tests, 15 assertions)
  • Repro Zend/VM/AOT all print: date_type=array date_count=0 dom_type=array dom_count=2 dom_libxml=Required

Made with Cursor

…4155).

Thin AOT returned NULL for getDependencies(); bake VmReflection dependency
tables via memcmp dispatch (peer getClassNames #34150 / isPersistent #34154).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 2aeb1ab into master Aug 23, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-34155-reflection-extension-getdependencies-aot branch August 23, 2026 06:41
PurHur added a commit that referenced this pull request Aug 23, 2026
Deduped two require_once lines that overlapped #34157/#34163 merges;
inventory/docs now match Phase A SSOT. No gen-0 restamp.
PurHur added a commit that referenced this pull request Aug 23, 2026
* Trust: sync 12 vm.php-path units into compile spine (#23474).

Recent AOT/stdlib landings grew Phase A inventory without spine
require_once lines; north-star5-verify-fast step 2 was red (7807/7817).
spine-sync --no-link restores 7819/7819 coverage; no gen-0 restamp.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Trust: refresh spine footnotes to 7821/7821 after master race.

Deduped two require_once lines that overlapped #34157/#34163 merges;
inventory/docs now match Phase A SSOT. No gen-0 restamp.

---------

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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: ReflectionExtension::getDependencies() returns NULL — thin AOT omits proxy (ext/reflection/php_reflection.c)

1 participant