Category
php-in-php | bootstrap
Problem
unserialize() JIT/AOT links lib/AOT/runtime/phpc_unserialize.c via lib/JIT/Builtin/StringUnserialize.php. VM uses PHP helpers but the AOT floor still carries a hand-written C parser. Enum singleton restore parity is #5739; this issue is the C→PHP migration of the parser itself.
php-src reference
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
wc -l lib/AOT/runtime/phpc_unserialize.c
grep phpc_unserialize lib/AOT/Linker.php lib/JIT/Builtin/StringUnserialize.php
php bin/vm.php -r "var_dump(unserialize(\"a:2:{i:0;i:1;i:1;s:3:\\\"foo\\\";}\"));"'
Scope
| Path |
Work |
ext/standard/VmSerialize.php / VmUnserialize.php |
Expand PHP parser to cover JIT/AOT subset today in C |
lib/JIT/Builtin/StringUnserialize.php |
Lower via PHP implementation, not C bitcode |
lib/AOT/Linker.php |
Drop phpc_unserialize.c |
| Delete |
lib/AOT/runtime/phpc_unserialize.c |
Done when
Related
Category
php-in-php|bootstrapProblem
unserialize()JIT/AOT linkslib/AOT/runtime/phpc_unserialize.cvialib/JIT/Builtin/StringUnserialize.php. VM uses PHP helpers but the AOT floor still carries a hand-written C parser. Enum singleton restore parity is #5739; this issue is the C→PHP migration of the parser itself.php-src reference
ext/standard/var_unserializer.cext/standard/var_unserializer.reRepro
Scope
ext/standard/VmSerialize.php/VmUnserialize.phplib/JIT/Builtin/StringUnserialize.phplib/AOT/Linker.phpphpc_unserialize.clib/AOT/runtime/phpc_unserialize.cDone when
phpc_unserialize.cremoved from link set./script/ci-fast.sh --filter unserializegreenRelated