rfc:jit
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:jit [2019/02/06 09:49] – dmitry | rfc:jit [2019/03/21 11:45] – dmitry | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: JIT ====== | ====== PHP RFC: JIT ====== | ||
- | * Version: | + | * Version: |
* Date: 2019-01-28 | * Date: 2019-01-28 | ||
* Author: Dmitry Stogov < | * Author: Dmitry Stogov < | ||
- | * Status: | + | * Status: |
* First Published at: https:// | * First Published at: https:// | ||
Line 27: | Line 27: | ||
When enabled, native code of PHP files is stored in an additional region of the OPcache shared memory and op_array-> | When enabled, native code of PHP files is stored in an additional region of the OPcache shared memory and op_array-> | ||
- | We use DynAsm (developed for LuaJIT project) for generation of native code. It's a very lightweight and advanced tool, but does assume good, and very low-level development knowledge of target assembler languages. | + | We use DynAsm (developed for LuaJIT project) for generation of native code. It's a very lightweight and advanced tool, but does assume good, and very low-level development knowledge of target assembler languages. |
PHP JIT doesn' | PHP JIT doesn' | ||
Line 401: | Line 401: | ||
</ | </ | ||
- | ===== Open Issues | + | ===== State and compatibility |
- | Make sure there are no open issues when the vote starts! | + | Currently we support x86 and x86_64 on POSIX platforms (tested on Linux with GCC and LVVM) and Windows (both non-ZTS and ZTS builds). We support " |
+ | There are no any restrictions on C compiler and OS any more. | ||
===== Future Scope ===== | ===== Future Scope ===== | ||
Line 408: | Line 409: | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
- | This project | + | Support for JIT is more a strategic PHP question. JIT definitely |
- | <doodle title=" | + | This project requires a 2/3+1 majority. Voting opened 2019-03-21 and closes 2019-03-28. |
+ | |||
+ | <doodle title=" | ||
* Yes | * Yes | ||
* No | * No | ||
</ | </ | ||
- | 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), | + | 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), |
- | <doodle title=" | + | In case JIT is not included in PHP-7.4 and PHP-8 introduces language compatibility breaks (it already does), existing applications couldn' |
+ | |||
+ | <doodle title=" | ||
* Yes | * Yes | ||
* No | * No | ||
Line 437: | Line 442: | ||
- [[https:// | - [[https:// | ||
- [[https:// | - [[https:// | ||
- | |||
- | ===== Rejected Features ===== | ||
- | Keep this updated with features that were discussed on the mail lists. | ||
rfc/jit.txt · Last modified: 2020/08/01 23:41 by carusogabriel