Skip to content

php-in-php: delete JitMetaphone LLVM — route metaphone through MetaphoneJitHelper PHP (#1492) #13447

Closed

Description

@PurHur

Category

php-in-php · php-src-strict

Problem

metaphone() JIT still emits ~932 LOC LLVM in JitMetaphone.php. VM SSOT is VmMetaphone::encode() / VmString::metaphone().

php-src reference

  • ext/standard/metaphone.c — PHP_FUNCTION(metaphone)

Repro

wc -l ext/standard/JitMetaphone.php
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit test/unit/MetaphoneBuiltinTest.php'

Done when

  • __compiler_metaphone thin bridge calls MetaphoneJitHelper compiled PHP
  • JitMetaphone.php deleted or bridge-only
  • MetaphoneRuntimeShrinkTest + metaphone compliance green

Refs #2423, #1492

Activity

  1. added
    enhancementNew feature or request
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Jun 29, 2026
  2. PurHur commented on Jun 29, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Runtime → PHP — batch (#13447, #13448)

  3. PurHur commented on Jun 29, 2026

    @PurHur
    OwnerAuthor

    Merged via PR #13452.

    Verification (Docker):

    • vendor/bin/phpunit --filter MetaphoneRuntimeShrink — OK (3 tests)
    • vendor/bin/phpunit --filter Metaphone — VM/JIT compliance green
    • make bootstrap-selfhost-vm-driver-execute-probe — OK

    LOC: deleted JitMetaphone.php (~932 LLVM lines); net −706 lines.

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

    enhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions