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