Skip to content

php-in-php: finish JitRename libc defer + AOT is_file kernel (#19215) - #19248

Merged
PurHur merged 4 commits into
masterfrom
agent/issue-19215-rename-isfile-kernel
Jul 15, 2026
Merged

php-in-php: finish JitRename libc defer + AOT is_file kernel (#19215)#19248
PurHur merged 4 commits into
masterfrom
agent/issue-19215-rename-isfile-kernel

Conversation

@PurHur

@PurHur PurHur commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #19215.

Lines removed / C surface

Verification

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php vendor/bin/phpunit test/unit/RenameRuntimeShrinkTest.php
php vendor/bin/phpunit test/unit/StatPathRuntimeShrinkTest.php
php vendor/bin/phpunit test/unit/VmFsPathPureRuntimeShrinkTest.php
php vendor/bin/phpunit test/unit/RenameBuiltinTest.php
php script/bootstrap-inventory.php --check
make bootstrap-selfhost-vm-driver-execute-probe
'
RenameRuntimeShrinkTest — OK (5 tests, 1 skipped under Zend)
StatPathRuntimeShrinkTest — OK (4 tests)
VmFsPathPureRuntimeShrinkTest — OK (4 tests)
RenameBuiltinTest — OK (2 tests) including testAotNativeBinaryMatchesPhpSubset
bootstrap-inventory --check — OK 4923/4923
bootstrap-selfhost-vm-driver-execute-probe — OK

php-src ref: ext/standard/filestat.c (php_rename, path predicates).

Made with Cursor

PurHur and others added 3 commits July 15, 2026 17:16
…lper refresh (#19215)

Remove user-script AOT inline rename(2) LLVM from JitRename; route through
StringRename with JitRenameKernel libc path and stat-cache invalidation.
Add phpc_rename_kernel internal for helper-unit lowering without rename()
builtin recursion; refresh RenameJitHelper prelink (c2e3d15b9c70bbb71e64).

AOT rename execute parity improved (ok+moved); is_file($to) after rename
still stale — follow-up for StatPath/StatCache helper TU coherence.

Co-authored-by: Cursor <cursoragent@cursor.com>
Delete JitRename::invokeLibc (prior). User-script AOT rename uses
JitRenameKernel; embed keeps RenameJitHelper. Fix AOT is_file/file_exists
via thin JitStatKernel in StatPathRuntime (nested VmStatPath stubs).

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve docs/bootstrap-inventory.md conflict (ours; regenerate after lock).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit c90cd77 into master Jul 15, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-19215-rename-isfile-kernel branch July 15, 2026 18:12
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.

php-in-php: delete JitRename libc defer bridge — route user-script AOT through JitVmHelperLink + RenameJitHelper PHP (#1492)

1 participant