rfc:jit-ir
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
rfc:jit-ir [2023/09/21 06:05] – Change status to "Under Discussion" dmitry | rfc:jit-ir [2023/10/23 07:27] – dmitry | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: A new JIT implementation based on IR Framework ====== | ====== PHP RFC: A new JIT implementation based on IR Framework ====== | ||
- | * Version: | + | * Version: |
* Date: 2023-09-20 | * Date: 2023-09-20 | ||
* Author: Dmitry Stogov, dmitry@php.net | * Author: Dmitry Stogov, dmitry@php.net | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 29: | Line 29: | ||
At the current state the PR doesn' | At the current state the PR doesn' | ||
- | JIT is a quite complex subsystem. Its first implemention | + | JIT is a quite complex subsystem. Its first implementation |
- | The main goal of a separate IR Framework development is the collaboration with other compiler experts (sharing expertise, contribution, | + | The main goal of a separate IR Framework development is the collaboration with other compiler experts (sharing expertise, contribution, |
The necessary part of the IR Framework is embedded into the PHP source tree, and won't introduce any new external dependencies. | The necessary part of the IR Framework is embedded into the PHP source tree, and won't introduce any new external dependencies. | ||
- | The details of the IR framework are complex, and I am working on a presentation with explanations to publish soon. I have already shared this with a few core PHP developers. | + | The details of the IR framework are complex. |
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Line 118: | Line 118: | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
- | Merge the new JIT implementation into PHP master? | + | Voting opened 2023-10-06 and closes 2023-10-19. |
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
+ | |||
+ | |||
+ | Secondary vote: Should we keep the old JIT implementation for a while or remove it right after merge? | ||
+ | |||
+ | Note, that old implementation is not going to be tested (by CI) and we can't guarantee its work anyway. | ||
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
===== Patches and Tests ===== | ===== Patches and Tests ===== | ||
Line 127: | Line 143: | ||
===== Implementation ===== | ===== Implementation ===== | ||
- | After the project is implemented, | + | - merged into master via 25cb2a40d640b64f8881a894f2247d46a781ef75 |
- | + | | |
- | | + | |
- | - a link to the git commit(s) | + | |
- | - a link to the PHP manual entry for the feature | + | |
- | - a link to the language specification section (if any) | + | |
===== References ===== | ===== References ===== |
rfc/jit-ir.txt · Last modified: 2023/10/24 09:43 by dmitry