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
{{ message }}
Repository navigation
php-in-php: AOT LastErrorRuntimeLlvm — route standalone error_get_last through ErrorLastJitHelper PHP not LLVM globals (#1492) #9607
#9454 migrated JIT error_get_last() / error_clear_last() to compiled PHP via ext/standard/ErrorLastJitHelper.php, but AOT standalone still falls back to lib/JIT/Builtin/LastErrorRuntimeLlvm.php (~LLVM globals + hashtable builder) when Builtin::LOAD_TYPE_STANDALONE is set (LastErrorRuntime::implement() line 77–78).
VM and JIT hot paths use PHP helpers; standalone native binaries retain a parallel LLVM last-error stack (~duplicate semantics, malloc-backed message storage).
Shrink: deleted lib/JIT/Builtin/LastErrorRuntimeLlvm.php (427 lines). AOT standalone LastErrorRuntime::implement() now uses the same ErrorLastJitHelper PHP bridges as JIT (via NestedJitCompileScope).
Verification (green):
LastErrorRuntimeStandaloneTest — ABI symbols + ErrorLastJitHelper::isActive compiled, no phpc_last_error_active global
LastErrorRuntimeShrinkTest — no LastErrorRuntimeLlvm reference
php script/bootstrap-inventory.php --check — OK 2873/2873
Follow-up: full AOT error_get_last fixture compile still fails on master (pre-existing CliArgvJitHelper::createTable LLVM type mismatch during standalone link — separate from this migration).
Activity
PurHur commentedon Jun 18, 2026
claim: PHP Runtime → PHP — starting this run.
PurHur commentedon Jun 22, 2026
claim: PHP Runtime → PHP — starting this run (route AOT standalone error_get_last through ErrorLastJitHelper, delete LastErrorRuntimeLlvm).
Route AOT standalone last-error through ErrorLastJitHelper PHP (#9607)…
PurHur commentedon Jun 22, 2026
Merged via #10614.
Shrink: deleted
lib/JIT/Builtin/LastErrorRuntimeLlvm.php(427 lines). AOT standaloneLastErrorRuntime::implement()now uses the sameErrorLastJitHelperPHP bridges as JIT (viaNestedJitCompileScope).Verification (green):
LastErrorRuntimeStandaloneTest— ABI symbols +ErrorLastJitHelper::isActivecompiled, nophpc_last_error_activeglobalLastErrorRuntimeShrinkTest— noLastErrorRuntimeLlvmreferencephp script/bootstrap-inventory.php --check— OK 2873/2873Follow-up: full AOT
error_get_lastfixture compile still fails on master (pre-existingCliArgvJitHelper::createTableLLVM type mismatch during standalone link — separate from this migration).