Category
php-in-php | runtime-shrink | bootstrap
Problem
VmFs::readlink(), VmFs::symlink(), and VmFs::touch() still call host Zend builtins (@readlink, @symlink, @touch) on the VM path. JIT/AOT already use libc via JitReadlink / JitSymlink / __compiler_touch (StringFsDirJit). Self-host must not depend on Zend for these syscalls (#7971 phase 3, pairs #6982/#742/#3227).
php-src reference
Repro
grep -n '@readlink\|@symlink\|@touch' ext/standard/VmFs.php
Scope
| Path |
Work |
ext/standard/VmFsPathNative.php |
add readlink(2)/symlinkat(2) FFI |
ext/standard/VmFsTouchNative.php (new) |
utime/stat/open touch parity with StringFsDirJit::emitTouch |
ext/standard/VmFs.php |
route VM through native helpers |
| Tests |
extend VmFsRuntimeShrinkTest |
Done when
Related
#7971 #6982 #742 #3227 #1492
Category
php-in-php|runtime-shrink|bootstrapProblem
VmFs::readlink(),VmFs::symlink(), andVmFs::touch()still call host Zend builtins (@readlink,@symlink,@touch) on the VM path. JIT/AOT already use libc viaJitReadlink/JitSymlink/__compiler_touch(StringFsDirJit). Self-host must not depend on Zend for these syscalls (#7971 phase 3, pairs #6982/#742/#3227).php-src reference
Repro
grep -n '@readlink\|@symlink\|@touch' ext/standard/VmFs.phpScope
ext/standard/VmFsPathNative.phpext/standard/VmFsTouchNative.php(new)StringFsDirJit::emitTouchext/standard/VmFs.phpVmFsRuntimeShrinkTestDone when
@readlink/@symlink/@touchinVmFs.php--filter VmFsRuntimeShrinkgreen + readlink/touch compliance PHPTRelated
#7971 #6982 #742 #3227 #1492