Skip to content

php-in-php: getenv thin AOT via isThinStandaloneAotMain + libc kernel (#20156) - #20160

Merged
PurHur merged 1 commit into
masterfrom
agent/runtime-php-getenv-helper-20156
Jul 17, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/runtime-php-getenv-helper-20156

Conversation

@PurHur

@PurHur PurHur commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #20156

Verification

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/GetenvJitRuntimeShrinkTest.php
vendor/bin/phpunit test/unit/EnvLocalRuntimeShrinkTest.php
vendor/bin/phpunit test/unit/JIT/StringGetenvRuntimeStandaloneTest.php
vendor/bin/phpunit test/unit/JIT/StringGetenvAllRuntimeStandaloneTest.php
# AOT smoke (thin libc kernel):
./phpc build -o /tmp/getenv_s /tmp/getenv_smoke.php && /tmp/getenv_s   # path=ok
vendor/bin/phpunit --filter getenv test/aot/AotTest.php
# same 2 master-red fixtures: getenv_all, getenv_local_only (putenv overlay under thin)
make bootstrap-selfhost-vm-driver-execute-probe
php script/bootstrap-inventory.php --check   # OK 5504/5504
php script/check-selfhost-spine-coverage-sync.php
'

Lines removed: StreamIo defer gates + custom NestedJIT without JitVmHelperLink (~59 net LOC in StringGetenv/StringGetenvAll).

Made with Cursor

…#20156)

Drop StreamIo defer for getenv/getenv_all; embed uses JitVmHelperLink + GetenvJitHelper with value-box coerce, thin standalone keeps JitGetenvKernel (NestedJIT cannot see process environ under user-script AOT).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur force-pushed the agent/runtime-php-getenv-helper-20156 branch from ca28cb1 to 156b7c4 Compare July 17, 2026 17:55
@PurHur
PurHur merged commit 99b6cf7 into master Jul 17, 2026
@PurHur
PurHur deleted the agent/runtime-php-getenv-helper-20156 branch July 17, 2026 17:55
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 JitGetenvKernel libc defer — always JitVmHelperLink + GetenvJitHelper PHP (#1492)

1 participant