Skip to content

php-in-php: unlink() JIT via UnlinkJitHelper PHP — drop libc LLVM in JitUnlink.php #15471

Description

@PurHur

Category

php-in-php · refs #1492

Problem

ext/standard/JitUnlink.php lowers JIT unlink() through libc unlink(2) LLVM. VM SSOT is VmFs::unlink() (VmFsUnlinkPure, #12194). JIT should compile the same PHP helper, not duplicate libc.

php-src reference

Repro (architectural)

grep "lookupFunction('unlink')" ext/standard/JitUnlink.php

Scope

Path Work
ext/standard/UnlinkJitHelper.php invokeArgv() → VmFs::unlink() + TriggerErrorJitHelper warning
lib/JIT/Builtin/StringUnlink.php Thin ABI __phpc_jit_unlink bridge
ext/standard/JitUnlink.php Thin wrapper like JitChmod.php
Tests test/unit/UnlinkRuntimeShrinkTest.php

Done when

  • No lookupFunction('unlink') in JitUnlink.php
  • UnlinkJitHelper matches VM on temp file unlink
  • ./script/ci-fast.sh --filter UnlinkRuntimeShrink green

Related

#12194 · #15458 · #1492

Activity

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

    implementation-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