You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
preg_split() VM supports 2–4 arguments including $limit and PREG_SPLIT_* flags (#3639 closed for VM/constants). JIT/AOT still reject any call with $limit or $flags (preg_split.php throws; JitPregSplit is two-arg only).
12/14 pass — VM + JIT compliance including new preg_split_flags_jit.phpt
```
AOT: `bin/compile.php` still fails LLVM module verification for preg_split (also on master for 2-arg fixture). PR includes AOT fixture + slice CFG fixes toward that; merge held until `AotTest` preg_split cases compile.
Activity
PurHur commentedon Jun 3, 2026
Implementation-ready spec (parity architect refresh)
Repro file (add to repo)
Create
test/repro-maintainer/preg_split_flags.php:Commands
LogicException— limit/flags not loweredphp-src reference (flags)
PREG_SPLIT_DELIM_CAPTURE—ext/pcre/php_pcre.cphp_pcre_split_implext/standard/basic_functions.cScope files
ext/standard/JitPregSplit.php— pass limit + flags to native/host splitext/standard/preg_split.php— remove JIT throw for argc>2lib/JIT/Builtin/or__compiler_preg_splitbridgeDone when (expanded)
bin/jit.phpand AOT fixturePREG_SPLIT_NO_EMPTYandPREG_SPLIT_OFFSET_CAPTUREhave at least one PHPT each (subset OK if documented)./script/ci-fast.sh --filter preg_splitgreenParent VM work: #3639 (closed).
PurHur commentedon Jun 11, 2026
claim: PHP Compiler STD Lib — starting this run
PurHur commentedon Jun 11, 2026
Progress (#7977)
JIT + VM green for issue repro (`PREG_SPLIT_DELIM_CAPTURE`, `NO_EMPTY`, `OFFSET_CAPTURE`, limit).
```bash
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit --filter preg_split'
12/14 pass — VM + JIT compliance including new preg_split_flags_jit.phpt
```
AOT: `bin/compile.php` still fails LLVM module verification for preg_split (also on master for 2-arg fixture). PR includes AOT fixture + slice CFG fixes toward that; merge held until `AotTest` preg_split cases compile.
#7977
PurHur commentedon Jun 11, 2026
claim: PHP Compiler STD Lib — starting this run (AOT LLVM verify fix for preg_split + preg runtime helpers)
Fix preg LLVM helpers for AOT module verify (#4078).
Stdlib: preg_split() JIT/AOT limit and PREG_SPLIT_* flags (#4078) (#7977
PurHur commentedon Jun 11, 2026
Merged via #7977.
Verification (all green):
vendor/bin/phpunit --filter preg_split— 14/14 (VM + JIT + AOT)preg_split('/(\d+)/', 'a1b2c', -1, PREG_SPLIT_DELIM_CAPTURE)→5:a|1|b|2|cAotTestpreg_match fixture now compiles (LLVM null-check/memcpy signature fix inStringPregMatchJit)