Skip to content

Stdlib: AOT mb_trim() honors runtime encoding (#35199) - #35202

Merged
PurHur merged 1 commit into
masterfrom
agent/fix-aot-mb-trim-runtime-encoding-35199
Aug 26, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/fix-aot-mb-trim-runtime-encoding-35199

Conversation

@PurHur

@PurHur PurHur commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • ./script/docker-exec.sh -- bash -lc 'export PHP_COMPILER_PROFILE=8.4 PHP_COMPILER_HELPER_RUNTIME_O=0; php bin/vm.php test/repro/aot_mb_trim_runtime_encoding.php; php bin/compile.php -o /tmp/mbtrim.bin test/repro/aot_mb_trim_runtime_encoding.php && /tmp/mbtrim.bin' — VM=AOT (utf8/ascii/bit/literal/chars + ValueError on nope)
  • ./script/phpunit.sh --filter MbTrimRuntimeEncodingAotTest — OK (2 tests, 13 assertions)
  • ./script/aot-smoke.sh — 8/8
  • Note: MbTrimRuntimeAotTest (NBSP NestedJIT, AOT: mb_trim/mb_ltrim/mb_rtrim refuse runtime strings — LogicException (leftover of #5957/#23883, ext/mbstring/mbstring.c) #34379) already mismatches VM on HEAD with HELPER_RUNTIME_O=0; not regressed by this PR’s encoding path.

Made with Cursor

NestedJIT assertEncodingArgv (peer #35193); preserve isNullConstant on ConstFetch null first-bind so default $characters works.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 18357ef into master Aug 26, 2026
@PurHur
PurHur deleted the agent/fix-aot-mb-trim-runtime-encoding-35199 branch August 26, 2026 18:16
PurHur added a commit that referenced this pull request Aug 26, 2026
Fingerprint drift after #35202 left 1/414 committed helpers stale (blocks user_release_ready); republish only that unit — no whole-corpus restamp.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
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.

AOT: mb_trim()/mb_ltrim()/mb_rtrim() refuse runtime encoding — LogicException (leftover of #34379, ext/mbstring/mbstring.c)

1 participant