Skip to content

stdlib: request_parse_body() forward-profile builtin - #16938

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-16927-request-parse-body
Jul 6, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-16927-request-parse-body

Conversation

@PurHur

@PurHur PurHur commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Closes #16927.

Summary

  • Add PHP 8.4 request_parse_body() + RequestParseBodyException forward-profile support.
  • VM implementation parses application/x-www-form-urlencoded + multipart/form-data (PHP-in-PHP), no new runtime/ C.
  • Add JIT/AOT lowering via nested helper bridge (RequestParseBodyJitHelper) so the builtin runs on native AOT.

Verification (Docker)

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/maintainer_gap_request_parse_body_urlencoded_profile_84.php'
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/maintainer_gap_request_parse_body_multipart_profile_84.php'

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/compile.php -l test/repro/maintainer_gap_request_parse_body_urlencoded_profile_84.php'
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/compile.php -l test/repro/maintainer_gap_request_parse_body_multipart_profile_84.php'

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit --filter "request_parse_body" test/compliance/VMTest.php test/aot/AotTest.php'

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php script/capability-matrix.php && php script/generate-pages-capability-comparison.php'

Made with Cursor

Implements PHP 8.4 request body parsing (urlencoded + multipart) with a VM implementation and a JIT/AOT bridge via a nested helper, plus forward-profile gating and compliance/AOT fixtures.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit c6b5a35 into master Jul 6, 2026
@PurHur
PurHur deleted the agent/issue-16927-request-parse-body branch July 6, 2026 14:17
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.

Stdlib: RequestParseBodyException + request_parse_body() missing on 8.4 profile (pairs #5965, ext/standard/http.c)

1 participant