Skip to content

Stdlib: fix AOT hex2bin module verify + NestedJIT empty return (#27008) - #27043

Merged
PurHur merged 1 commit into
masterfrom
agent/stdlib-27008-hex2bin-aot
Aug 2, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/stdlib-27008-hex2bin-aot

Conversation

@PurHur

@PurHur PurHur commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

php-src: ext/standard/string.c — PHP_FUNCTION(hex2bin)
PHP: ext/standard/Hex2binJitHelper.php, lib/JIT/Builtin/StringHex2bin.php, ext/standard/hex2bin.php

Closes #27008

Test plan

  • php script/bootstrap-inventory.php --check → OK 6819/6819
  • Issue repro under Docker:
    zend=ab / vm=ab / jit=ab
    bin/compile.php → exit 0; binary prints ab; matched 10/10
    
  • Dynamic concat path: hex2bin("61"."62") → ab
  • vendor/bin/phpunit --filter Hex2binRuntimeShrinkTest → OK (3 tests)
  • AotTest --filter hex2bin (data set "hex2bin") → OK
  • Not run: full ci-local / north-star5-verify --strict (stdlib builtin only; release-readiness already red on master for helper-prelink stale + north-star5-fast)

Made with Cursor

Bridge used i8 for __value__writeBool (needs i32) and a VmString/static
lastString helper that NestedJIT stubbed under AOT. Use a self-contained
string|false helper and map false via writeBool(i32).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 8849259 into master Aug 2, 2026
1 check failed
@PurHur
PurHur deleted the agent/stdlib-27008-hex2bin-aot branch August 2, 2026 20:37
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.

Regression: AOT hex2bin() compile fails — LLVM module verify Call parameter type (ext/standard/string.c)

1 participant