Company: Zend by Perforce
Start of main content
IR JIT Framework: The Basis for the Next Generation of JIT in PHP
In 2020, the speaker's team released PHP-8.0, which for the first time introduced two JIT compilers (function and tracing JIT). The decisions that were made during the development of those versions allowed to get results in a relatively short time. However, these same decisions create difficulties in code optimization, maintenance, etc.
In PHP-9, they are going to build the JIT based on the IR Framework, which is being developed separately. PHP JIT will only generate some IR, and all issues related to optimization, register allocation and code generation will be handled by a separate library that knows nothing about PHP (this is a kind of analog of LLVM, but customized for JIT).
The project is available at https://github.com/dstogov/ir - the speaker will talk about it. Developers who know Java HotSpot C2 or V8 TurboFun will see many familiar things.
Company: JUG Ru Group