Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1, php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2, php-7.1.14RC1, php-7.2.2RC1, php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27 |
|
#
ccd4716e |
| 02-Jan-2018 |
Xinchen Hui |
year++
|
Revision tags: php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, php-7.0.26, php-7.1.12RC1, php-7.2.0RC6, php-7.0.26RC1, php-7.1.11, php-5.6.32, php-7.2.0RC5, php-7.0.25, php-7.1.11RC1, php-7.2.0RC4, php-7.0.25RC1, php-7.1.10, php-7.2.0RC3, php-7.0.24, php-7.2.0RC2, php-7.1.10RC1, php-7.0.24RC1, php-7.1.9, php-7.2.0RC1, php-7.0.23, php-7.1.9RC1, php-7.2.0beta3, php-7.0.23RC1, php-7.1.8, php-7.2.0beta2, php-7.0.22, php-7.1.8RC1, php-7.2.0beta1, php-7.0.22RC1, php-5.6.31, php-7.0.21, php-7.1.7, php-7.2.0alpha3, php-7.1.7RC1, php-7.0.21RC1, php-7.2.0alpha2, php-7.1.6, php-7.2.0alpha1, php-7.0.20, php-7.1.6RC1, php-7.0.20RC1, php-7.1.5, php-7.0.19, php-7.0.19RC1, php-7.1.5RC1 |
|
#
abf16c18 |
| 17-Apr-2017 |
Nikita Popov |
Fix loop identification When assigning loop headers, we should treat already detected loops as collapsed to their loop header, instead of ignoring them. This fixes the loop head
Fix loop identification When assigning loop headers, we should treat already detected loops as collapsed to their loop header, instead of ignoring them. This fixes the loop header of BB2 in mandel2 if live-range CFG splitting is enabled.
show more ...
|
Revision tags: php-7.1.4, php-7.0.18 |
|
#
e656455e |
| 07-Apr-2017 |
Xinchen Hui |
Remove unused var
|
Revision tags: php-7.1.4RC1, php-7.0.18RC1 |
|
#
ccc35d19 |
| 16-Mar-2017 |
Sebastian Bergmann |
Fugbix typo
|
#
f1f68b60 |
| 16-Mar-2017 |
Nikita Popov |
Optimize DJ spanning tree back-edge check Instead of walking the DJ spanning tree upwards, record entry and exit times during the DFS and use these to determine whether CJ edges are
Optimize DJ spanning tree back-edge check Instead of walking the DJ spanning tree upwards, record entry and exit times during the DFS and use these to determine whether CJ edges are sp-back edges.
show more ...
|
#
6633e849 |
| 16-Mar-2017 |
Nikita Popov |
Sort blocks in loop identification The previous implementation was doing O(blocks*levels) iterations, which for a linear-ish domtree is O(blocks^2). Avoid this by sorting the blocks
Sort blocks in loop identification The previous implementation was doing O(blocks*levels) iterations, which for a linear-ish domtree is O(blocks^2). Avoid this by sorting the blocks by decreasing level upfront.
show more ...
|
Revision tags: php-7.1.3, php-7.0.17, php-7.1.3RC1, php-7.0.17RC1, php-7.1.2, php-7.0.16, php-7.0.16RC1, php-7.1.2RC1, php-5.6.30, php-7.0.15, php-5.6.30RC1, php-7.1.1RC1, php-7.0.15RC1 |
|
#
dac6c639 |
| 04-Jan-2017 |
Sammy Kaye Powers |
Update copyright headers to 2017
|
Revision tags: php-7.1.1 |
|
#
8250b3fc |
| 08-Dec-2016 |
Xinchen Hui |
Fixed possible false assertion failure
|
Revision tags: php-5.6.29, php-7.0.14, php-7.1.0, php-5.6.29RC1, php-7.0.14RC1, php-7.1.0RC6, php-5.6.28, php-7.0.13, php-5.6.28RC1, php-7.1.0RC5, php-7.0.13RC1, php-7.1.0RC4, php-5.6.27, php-7.0.12, php-7.1.0RC3, php-5.6.27RC1, php-7.0.12RC1, php-5.6.26, php-7.1.0RC2, php-7.0.11, php-5.6.26RC1, php-7.1.0RC1, php-7.0.11RC1 |
|
#
94fbcbe1 |
| 29-Aug-2016 |
Dmitry Stogov |
Allow optional splitting of basic blocks at RECV/RECV_INIT opcodes.
|
#
caf890b2 |
| 22-Aug-2016 |
Dmitry Stogov |
Fixed CFG construction for stackless execution (split basic blocks after calls)
|
Revision tags: php-7.1.0beta3, php-5.6.25, php-7.0.10, php-7.1.0beta2, php-5.6.25RC1, php-7.0.10RC1, php-7.1.0beta1, php-5.6.24, php-7.0.9, php-5.5.38, php-5.6.24RC1, php-7.1.0alpha3, php-7.0.9RC1, php-7.1.0alpha2, php-7.0.8 |
|
#
14331620 |
| 21-Jun-2016 |
Dmitry Stogov |
Fixed compilation warnings
|
Revision tags: php-5.6.23, php-5.5.37, php-5.6.23RC1, php-7.0.8RC1, php-7.1.0alpha1 |
|
#
70f05468 |
| 05-Jun-2016 |
Nikita Popov |
Don't optimize special dynamic calls to non-dynamic As it drops the warning. This is more problematic with constant propagation, as tests would fail. Extract a zend_optimizer_cl
Don't optimize special dynamic calls to non-dynamic As it drops the warning. This is more problematic with constant propagation, as tests would fail. Extract a zend_optimizer_classify_function() function, as its now needed by zend_cfg and update_opN.
show more ...
|
#
4935c032 |
| 27-May-2016 |
Xinchen Hui |
Revert "assert won't cause indrect var access if it's disabled" in the other hand, it should not be there if it's disabled... This reverts commit 27f40676e6f506f353ad8d679dd9b21aa87
Revert "assert won't cause indrect var access if it's disabled" in the other hand, it should not be there if it's disabled... This reverts commit 27f40676e6f506f353ad8d679dd9b21aa87b828e.
show more ...
|
#
27f40676 |
| 27-May-2016 |
Xinchen Hui |
assert won't cause indrect var access if it's disabled
|
Revision tags: php-5.6.22, php-5.5.36, php-7.0.7 |
|
#
a19eb8e3 |
| 18-May-2016 |
Nikita Popov |
Ensure no entry predecessors for SSA construction
|
#
e745b4ca |
| 18-May-2016 |
Nikita Popov |
Replace BB end with BB len And support empty blocks everywhere.
|
#
0d62dfdf |
| 21-May-2016 |
Nikita Popov |
Improve previous fix Do not mark loop var free blocks as reachable after all -- as we can't construct SSA for unreachable blocks, this would cause issues down the line. Inst
Improve previous fix Do not mark loop var free blocks as reachable after all -- as we can't construct SSA for unreachable blocks, this would cause issues down the line. Instead add an extra UNREACHABLE_FREE flag and retain only the FREE instruction during NOP removal. (If we retain all instructions in the BB we might leave a jump instruction that goes into the nowhere.)
show more ...
|
#
fa956662 |
| 21-May-2016 |
Nikita Popov |
Fix reachability detection if live ranges aren't split Even if we don't split, we still want to keep the same logic for reachibility detection.
|
#
b65b15c6 |
| 17-May-2016 |
Nikita Popov |
Mark assert() as INDIRECT_VAR_ACCESS I don't like this... we may want to detect "obviously not string" operands by checking for the result of a comparison instruction.
|
#
ccf18da4 |
| 12-May-2016 |
Dmitry Stogov |
Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers. This slightly improves calls to regular function and method calls in cost of a bit slower
Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers. This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization. Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction.
show more ...
|
Revision tags: php-5.6.22RC1, php-7.0.7RC1, php-7.0.6, php-5.6.21, php-5.5.35, php-5.6.21RC1, php-7.0.6RC1, php-5.6.20, php-5.5.34, php-7.0.5, php-5.6.20RC1, php-7.0.5RC1 |
|
#
8e5b1397 |
| 12-Mar-2016 |
Nikita Popov |
Evaluate arguments of new for classes without ctor ML: http://markmail.org/message/4b3mk7jid64zvz34
|
#
fc49f1c4 |
| 17-Mar-2016 |
Kalle Sommer Nielsen |
Fix build
|
Revision tags: php-5.6.19, php-5.5.33, php-7.0.4 |
|
#
8d758e7b |
| 27-Feb-2016 |
Nikita Popov |
Fix dominator tree construction The used dominator intersection algorithm assumes a postorder numbering of the CFG. The reversal of our natural numbering is quite similar to postorde
Fix dominator tree construction The used dominator intersection algorithm assumes a postorder numbering of the CFG. The reversal of our natural numbering is quite similar to postorder, but not the same. In the future we should precompute both preorder/postorder numberings and orderings, as these are useful in many places.
show more ...
|
Revision tags: php-5.6.19RC1, php-7.0.4RC1 |
|
#
7174af40 |
| 09-Feb-2016 |
Nikita Popov |
Support CFG construction without live range splitting We must not split at live range boundaries for SSA constructions, otherwise an OP_DATA instruction may be separated into new block
Support CFG construction without live range splitting We must not split at live range boundaries for SSA constructions, otherwise an OP_DATA instruction may be separated into new block and not picked up during renaming. It's also unnecessary for this use case and only blows up the CFG.
show more ...
|
Revision tags: php-5.6.18, php-7.0.3, php-5.5.32 |
|
#
949aaea6 |
| 23-Jan-2016 |
Nikita Popov |
Don't insert duplicate predecessors Otherwise we'll get corrupt phis
|