Skip to content

Stdlib: AOT mb_chr/mb_ord runtime encoding via NestedJIT (#34870) - #34871

Merged
PurHur merged 1 commit into
masterfrom
fix/34870-mb-chr-ord-runtime-encoding
Aug 26, 2026
Merged

Stdlib: AOT mb_chr/mb_ord runtime encoding via NestedJIT (#34870)#34871
PurHur merged 1 commit into
masterfrom
fix/34870-mb-chr-ord-runtime-encoding

Conversation

@PurHur

@PurHur PurHur commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • ./script/aot-smoke.sh8/8
  • Repro Zend/VM/AOT match (test/repro/mb_chr_ord_runtime_encoding_aot.php):
    chr=あ
    ord=12354
    chr_ascii='A'
    ord_ascii=65
    err=mb_chr(): Argument #2 ($encoding) must be a valid encoding, "NOPE" given
    
  • ./script/phpunit.sh --filter MbChrOrdRuntimeEncodingAotTest → OK (2 tests)
  • ./script/phpunit.sh --filter 'MbChrOrdRuntimeEncodingAotTest|MbChrOrdRuntimeShrinkTest|MbChrRuntimeAotTest' → OK (7 tests)

Made with Cursor

Match peer mb_case/mb_search: encodingPtr + assertEncodingArgv so runtime
encoding compiles under thin AOT instead of LogicException, with Zend
ValueError on invalid names.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 50a2033 into master Aug 26, 2026
@PurHur
PurHur deleted the fix/34870-mb-chr-ord-runtime-encoding branch August 26, 2026 01:07
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_chr()/mb_ord() refuse runtime encoding — LogicException (leftover of #34250, ext/mbstring/mbstring.c)

1 participant