Skip to content

php-in-php: get_class_methods() — delete phpc_class_methods.c (~201 lines), VM+JIT from ext/standard #5290

Description

@PurHur

Category

php-in-php

Problem

get_class_methods() has PHP registry work in ext/standard/ but AOT still ships lib/AOT/runtime/phpc_class_methods.c (~201 lines) for method enumeration. Zend walks the class table in PHP — same should compile through this pipeline.

php-src reference

Repro

./script/docker-exec.sh -- bash -lc 'wc -l lib/AOT/runtime/phpc_class_methods.c
rg -n phpc_class_methods lib/AOT/Linker.php ext/standard/
php bin/vm.php -r "var_export(get_class_methods(stdClass::class));" 2>&1 | grep -v Deprecated | head -3
'

Scope

  • ext/standard/get_class_methods.php (and JitGetClassMethods.php if present)
  • lib/JIT/Builtin/ — drop C symbol registration
  • Delete lib/AOT/runtime/phpc_class_methods.c

Done when

  • C file removed; linker clean.
  • VM/JIT/AOT: get_class_methods on stdClass, user class, interface — list matches Zend ordering/filter semantics for $filter flag.
  • PR notes ~201 lines removed from runtime/.

Related

Labels

php-in-php, stdlib, implementation-ready

Activity

  1. added
    enhancementNew feature or request
    phase-4:stdlibPhase 4 – stdlib for web apps
    area:vmVirtual machine
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Jun 3, 2026
  2. PurHur commented on Jun 8, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Runtime → PHP — starting this run (#5290: delete phpc_class_methods.c, VM+JIT from ext/standard).

  3. PurHur commented on Jun 8, 2026

    @PurHur
    OwnerAuthor

    Unclaiming #5290: already complete on master — phpc_class_methods.c absent, GetClassMethodsRuntimeShrinkTest + ext/standard/get_class_methods_.php + JitGetClassMethods green. Safe to close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:compilerCompiler / CFG / JITarea:vmVirtual machineenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-0:FoundationPhase 0 – foundation & DevExphase-4:stdlibPhase 4 – stdlib for web apps

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions