rfc:jit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:jit [2019/02/06 09:49] dmitryrfc:jit [2019/02/22 12:08] – Compatibility with C compilers without GCC explicit global register variables extension dmitry
Line 400: Line 400:
 (gdb) layout asm (gdb) layout asm
 </code> </code>
 +
 +===== State and compatibility =====
 +Currently we only support x86 and x86_64 non-ZTS builds on POSIX platforms (tested on Linux).
 +We support "Hybrid" and "Call" VM with and without GCC explicit global register variables extension.
 +There is no any restriction on C compiler any more. LLVM build works fine. Anatol Belski is going to work on Windows support.
 +
 +ZTS support is doable and shouldn't be very difficult, but should be implemented once the ZTS improvements described at [[https://wiki.php.net/zts-improvement|https://wiki.php.net/zts-improvement]] are done.
 +
 +Windows is not currently supported. At least 64-bit Windows implementation requires adopting to a different calling convention.
  
 ===== Open Issues ===== ===== Open Issues =====
Line 408: Line 417:
  
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
-This project requires a 50%+1 majority.+Support for JIT is more a strategic PHP question. JIT definitely requires a lot of work, but it may be actively developed only as a part of PHP, with common effort. 
 + 
 +This project requires a 2/3+1 majority.
  
 <doodle title="Include JIT into PHP 8?" auth="user" voteType="single" closed="true"> <doodle title="Include JIT into PHP 8?" auth="user" voteType="single" closed="true">
Line 415: Line 426:
 </doodle> </doodle>
  
-As PHP 7.4 is already branched and its engine is not expected to be significantly changed (consequently requiring corresponding changes to the JIT implementation), we can also consider including JIT in PHP-7.4 as an experimental feature (disabled by default).+As PHP 7.4 is already branched and its engine is not expected to be significantly changed (consequently requiring corresponding changes to the JIT implementation), we can also consider including JIT in PHP-7.4 as an experimental feature (disabled by default), to provide early access and receive more feedback. This also requires a 2/3+1 majority.
  
 <doodle title="Include JIT into PHP 7.4 (experimental)?" auth="user" voteType="single" closed="true"> <doodle title="Include JIT into PHP 7.4 (experimental)?" auth="user" voteType="single" closed="true">
rfc/jit.txt · Last modified: 2020/08/01 23:41 by carusogabriel