Skip to content

php-in-php: LocaleParser always JitVmHelperLink (#20101) - #20103

Merged
PurHur merged 1 commit into
masterfrom
agent/runtime-php-20101-locale-parser-bridge
Jul 17, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/runtime-php-20101-locale-parser-bridge

Conversation

@PurHur

@PurHur PurHur commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Drop UserScriptAotDeferNestedJit::shouldDefer early-return from LocaleParser so user-script / thin standalone AOT still links __phpc_jit_locale_get_* via JitVmHelperLink → LocaleParserJitHelper → VmLocale
  • Keep NestedJitCompileScope re-entrancy guard; embed path unchanged
  • Add LocaleParserRuntimeShrinkTest guarding no NestedJIT defer class remains

Closes #20101

C / NestedJIT shrink

  • Deleted UserScriptAotDeferNestedJit import + early-return from lib/JIT/Builtin/LocaleParser.php (−7 / +4 net in that file)
  • No new C; PHP helper path only

php-src reference

  • ext/intl/locale/locale_methods.c — locale_get_primary_language / region / script

Test plan

  • vendor/bin/phpunit test/unit/LocaleParserRuntimeShrinkTest.php — OK (3 tests)
  • vendor/bin/phpunit test/unit/LocaleParseTest.php — OK
  • PHP_COMPILER_PROFILE=8.4 user-script AOT dynamic concat → zh|CN|Hans
  • make bootstrap-selfhost-vm-driver-execute-probe — OK

Verification transcript

vendor/bin/phpunit test/unit/LocaleParserRuntimeShrinkTest.php
OK (3 tests, 11 assertions)

PHP_COMPILER_PROFILE=8.4 PHP_COMPILER_AOT_USER_SCRIPT=1 ./phpc build -o /tmp/locale_var_us /tmp/locale_var.php
/tmp/locale_var_us
# zh|CN|Hans

make bootstrap-selfhost-vm-driver-execute-probe
# OK /compiler/build/selfhost-lib-spine-smoke

Made with Cursor

Drop UserScriptAotDeferNestedJit early-return so user-script/thin AOT
still links locale_get_* bridges via LocaleParserJitHelper PHP.

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.

php-in-php: drop UserScriptAotDeferNestedJit from LocaleParser — always JitVmHelperLink + LocaleParserJitHelper (#1492)

1 participant