Category
php-in-php · runtime-shrink (#1492, re-#15471 / #16734)
Problem
lib/JIT/Builtin/StringUnlink.php still embeds ~35 lines of inline libc unlink(2) LLVM when UserScriptAotDeferNestedJit::shouldDefer() (#16734). Embed path already routes through UnlinkJitHelper → VmFs::unlink() (#15471). Prelinked helper-runtime provides UnlinkJitHelper::invokeArgv without nested-JIT during init — same pattern as #19157 EnvironMirror.
UnlinkRuntimeShrinkTest::testStringUnlinkBridgeUsesUnlinkJitHelper is red on master (asserts no lookupFunction('unlink')).
php-src reference
PHP implementation target
lib/JIT/Builtin/StringUnlink.php — drop defer→libc branch; always JitVmHelperLink::ensureCompiled + bridge
- SSOT:
ext/standard/UnlinkJitHelper.php + VmFs::unlink()
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php vendor/bin/phpunit --filter UnlinkRuntimeShrinkTest'
echo '<?php $f=tempnam(sys_get_temp_dir(),"u"); unlink($f); echo "ok\n";' > /tmp/unlink.php
PHP_COMPILER_AOT_USER_SCRIPT=1 php bin/compile.php -o /tmp/unlink_bin /tmp/unlink.php && /tmp/unlink_bin
Done when
Refs #1492, #15471, #16734, #19157
Category
php-in-php· runtime-shrink (#1492, re-#15471 / #16734)Problem
lib/JIT/Builtin/StringUnlink.phpstill embeds ~35 lines of inline libcunlink(2)LLVM whenUserScriptAotDeferNestedJit::shouldDefer()(#16734). Embed path already routes throughUnlinkJitHelper→VmFs::unlink()(#15471). Prelinked helper-runtime providesUnlinkJitHelper::invokeArgvwithout nested-JIT during init — same pattern as#19157EnvironMirror.UnlinkRuntimeShrinkTest::testStringUnlinkBridgeUsesUnlinkJitHelperis red on master (asserts nolookupFunction('unlink')).php-src reference
php_unlinkPHP implementation target
lib/JIT/Builtin/StringUnlink.php— drop defer→libc branch; alwaysJitVmHelperLink::ensureCompiled+ bridgeext/standard/UnlinkJitHelper.php+VmFs::unlink()Repro
Done when
implementLibcBridgedeleted (~35 lines libc LLVM removed)UnlinkRuntimeShrinkTestgreenmake bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #15471, #16734, #19157