Ближайшая конференция — Joker 2024, 9 октября (Online), 15–16 октября (СанктПетербург + трансляция).
Подробности и билеты: https://jrg.su/Ypf1HW
— —
В 2020 году команда спикера выпустила PHP8.0, в котором впервые представили сразу два JIT компилятора (function и tracing JIT). Решения, которые были приняты при разработке тех версий, позволили получить результат за сравнительно небольшое время. Однако эти же решения создают трудности при оптимизации кода, поддержке и т. д.
В PHP9 они собираются строить JIT на основе IR Framework, разрабатываемого отдельно. PHP JIT будет только генерировать некий IR, а все вопросы, связанные с оптимизацией, распределением регистров и генерацией кода, будут решаться отдельной библиотекой, которая ничего не знает про PHP (это своего рода аналог LLVM, но заточенный под JIT).
Проект доступен на https://github.com/dstogov/ir — про него спикер и рассказывает. Разработчики, знающие Java HotSpot C2 или V8 TurboFun, увидят много знакомого.
Скачать презентацию с сайта Joker — https://jrg.su/Ki3NrD
#jit #php