Category
php-in-php | stdlib | bootstrap
Problem
#6086 landed VM session_encode() / session_decode() via VmSessionSerializer.php, but JIT/AOT call() still throws LogicException('session_encode() not implemented for JIT'). docs/capabilities.md and docs/stdlib-jit-audit.md list both as JIT=no.
Web/session middleware compiled with bin/jit.php cannot snapshot or restore $_SESSION blobs.
php-src reference
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php bin/jit.php -r "session_start(); \$_SESSION[\"k\"]=\"v\"; echo session_encode();"
'
Expect: k|s:1:"v"; — today: LogicException
Scope
| Layer |
Path |
| JIT LLVM |
lib/JIT/Builtin/SessionEncodeRuntime.php — phpc_session_encode_wire / phpc_session_decode_wire |
| Ext |
ext/standard/JitSessionEncode.php, JitSessionDecode.php; wire session_encode.php / session_decode.php call() |
| Tests |
test/compliance/cases/stdlib/session_encode_decode_jit.phpt |
| Matrix |
script/capability-matrix.php |
Done when
Category
php-in-php|stdlib|bootstrapProblem
#6086 landed VM
session_encode()/session_decode()viaVmSessionSerializer.php, but JIT/AOTcall()still throwsLogicException('session_encode() not implemented for JIT').docs/capabilities.mdanddocs/stdlib-jit-audit.mdlist both as JIT=no.Web/session middleware compiled with
bin/jit.phpcannot snapshot or restore$_SESSIONblobs.php-src reference
ext/session/session.c—PHP_FUNCTION(session_encode),PHP_FUNCTION(session_decode)ext/session/mod_php.c— php serialize handler wire format (key|serialized)Repro
Expect:
k|s:1:"v";— today: LogicExceptionScope
lib/JIT/Builtin/SessionEncodeRuntime.php—phpc_session_encode_wire/phpc_session_decode_wireext/standard/JitSessionEncode.php,JitSessionDecode.php; wiresession_encode.php/session_decode.phpcall()test/compliance/cases/stdlib/session_encode_decode_jit.phptscript/capability-matrix.phpDone when
./script/ci-fast.sh --filter session_encodegreenruntime/*.c— LLVM only inlib/JIT/