Дмитрий Стогов
Компания: Zend by Perforce
В 2020 году команда спикера выпустила PHP-8.0, в котором впервые представили сразу два JIT компилятора (function и tracing JIT). Решения, которые были приняты при разработке тех версий, позволили получить результат за сравнительно небольшое время. Однако эти же решения создают трудности при оптимизации кода, поддержке и т. д.
В PHP-9 они собираются строить JIT на основе IR Framework, разрабатываемого отдельно. PHP JIT будет только генерировать некий IR, а все вопросы, связанные с оптимизацией, распределением регистров и генерацией кода, будут решаться отдельной библиотекой, которая ничего не знает про PHP (это своего рода аналог LLVM, но заточенный под JIT).
Проект доступен на https://github.com/dstogov/ir — про него спикер и будет рассказывать. Разработчики, знающие Java HotSpot C2 или V8 TurboFun, увидят много знакомого.
Компания: Zend by Perforce
Компания: JUG Ru Group