Skip to content

M2 spine: ext/standard Jit* filesystem + stream + stat (24 files) (#1427)#1455

Merged
PurHur merged 1 commit into
masterfrom
feat/m2-1427-jit-fs
May 24, 2026
Merged

M2 spine: ext/standard Jit* filesystem + stream + stat (24 files) (#1427)#1455
PurHur merged 1 commit into
masterfrom
feat/m2-1427-jit-fs

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 24, 2026

Summary

  • Grow compiler_lib_spine_smoke bundle from 198 → 222 units (+24 ext/standard/Jit* filesystem/stream/stat leaf modules per M2 spine: ext/standard Jit* filesystem + stream + stat (24 files) #1427).
  • Audit SelfHostBuiltinPolicy::isRequiredForBundle — add missing filesystem builtins (fwrite, pathinfo, readfile, readlink, rename, touch, filemtime, fileperms, filesize, filetype).
  • Fix AOT lint/compile blockers: JitPathinfo match/throw → if-chain, JitStat docblock, simplify @return Value docblocks on new units for native link.

Units added

JitFflush, JitFilePutContents, JitFilemtime, JitFileperms, JitFilesize, JitFiletype, JitFsGlob, JitFtell, JitFwrite, JitMkdir, JitPath, JitPathinfo, JitReadfile, JitReadlink, JitRename, JitRequestBody, JitRmdir, JitShellExec, JitStat, JitStatArray, JitSysGetTempDir, JitTouch, JitUnlink, JitWebParams

Test plan

  • script/apply-patches.sh
  • php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
  • BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke
  • make bootstrap-aot-link (70/70)
  • vendor/bin/phpunit test/unit/BootstrapSelfhostBundleTest.php

Closes #1427. Batch for #1056 / #1419.

Made with Cursor

Grow compiler_lib_spine_smoke 198→222 (+24 filesystem/stream/stat Jit* leaf units);
audit SelfHostBuiltinPolicy filesystem builtins; fix AOT lint/compile blockers in
JitPathinfo, JitStat, and complex @return docblocks on new spine units.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

M2 spine: ext/standard Jit* filesystem + stream + stat (24 files)

1 participant