#
34f1266a |
| 23-Mar-2020 |
Nikita Popov |
Handle NULL caller_call_opline This can happen if there is an EXIT in the call arguments, in which case the DO_CALL opcode may be eliminated as unreachable.
|
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 |
|
#
6aece7be |
| 25-Oct-2019 |
Nikita Popov |
Optimize VERIFY_RETURN_TYPE for TMP operands as well Only exclude CONST operands, which use a different instruction format (they have a return operand).
|
#
f07565b0 |
| 25-Oct-2019 |
Nikita Popov |
Check class linking in VERIFY_RETURN_TYPE optimization instanceof_function() requires linked classes. I'm not reusing unlinked_instanceof() here, because it performs class loading, w
Check class linking in VERIFY_RETURN_TYPE optimization instanceof_function() requires linked classes. I'm not reusing unlinked_instanceof() here, because it performs class loading, which wouldn't be right here, I think.
show more ...
|
Revision tags: 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 |
|
#
003c13d7 |
| 19-Sep-2019 |
Nikita Popov |
Fix iterable return type optimization
|
Revision tags: 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 |
|
#
8e63bb5e |
| 29-Jul-2019 |
Nikita Popov |
Fixed bug #78341 The smart branch logic assumed b->start refers to the old offsets, while b->start was already adjusted to the new offsets at this point. Delay the change until later.
|
Revision tags: php-7.4.0beta1 |
|
#
b065fbde |
| 19-Jul-2019 |
Dmitry Stogov |
ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
|
Revision tags: php-7.2.21RC1, php-7.3.8RC1 |
|
#
e7a83ec8 |
| 10-Jul-2019 |
Nikita Popov |
Fix bug #78271 When cleaning nops in the dfa pass, we were always keeping the smart branch inhibiting nop that occurs directly before the jump instruction. However, as we skip unreac
Fix bug #78271 When cleaning nops in the dfa pass, we were always keeping the smart branch inhibiting nop that occurs directly before the jump instruction. However, as we skip unreachable blocks entirely, it may happen that we need to keep a nop that occurs further back, prior to the unreachable blocks. Account for that case now. We should really do something about the smart branch situation, this is very fragile...
show more ...
|
Revision tags: php-7.4.0alpha3 |
|
#
48ca5a1e |
| 05-Jul-2019 |
Dmitry Stogov |
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
|
Revision tags: 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 |
|
#
89b2d886 |
| 24-May-2019 |
Nikita Popov |
Register class before fetching parent We want the class declaration to be available while compiling the parent class.
|
Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5 |
|
#
db2ffcf1 |
| 23-Apr-2019 |
Dmitry Stogov |
Optimize constant SWITCH_LONG and SWITCH_STRING
|
Revision tags: 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 |
|
#
66fda0cd |
| 22-Feb-2019 |
Nikita Popov |
Remove result def during jmp_set optimization
|
Revision tags: php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2 |
|
#
da919a8b |
| 05-Feb-2019 |
Dmitry Stogov |
Remove copyright years.
|
Revision tags: php-7.2.15RC1 |
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
show more ...
|
Revision tags: php-7.3.2RC1 |
|
#
3269e884 |
| 17-Jan-2019 |
Nikita Popov |
Implement single-pass live range calculation Instead of interleaving creation of live-ranges with the main compiler code, compute them in a separate pass over the opcodes as part of
Implement single-pass live range calculation Instead of interleaving creation of live-ranges with the main compiler code, compute them in a separate pass over the opcodes as part of pass_two. Additionally, do not keep live ranges synchronized during optimization in opcache and instead use the same mechanism to recompute them after optimization.
show more ...
|
Revision tags: php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14 |
|
#
91888cc3 |
| 02-Jan-2019 |
Nikita Popov |
Fixed bug #77257 Correctly handle the case of duplicate predecessors, by removing the duplicate predecessor and corresponding phi node operands. For the future, it would be bett
Fixed bug #77257 Correctly handle the case of duplicate predecessors, by removing the duplicate predecessor and corresponding phi node operands. For the future, it would be better to instead allow duplicate predecessors and avoid this kind of fragile code...
show more ...
|
Revision tags: 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 |
|
#
9afce019 |
| 01-Nov-2018 |
Zeev Suraski |
Future-proof email addresses
|
#
67e0138c |
| 01-Nov-2018 |
Zeev Suraski |
Future-proof email addresses...
|
Revision tags: php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4 |
|
#
902d39a3 |
| 13-Oct-2018 |
Peter Kokot |
Trim trailing whitespace in source code files
|
Revision tags: 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 |
|
#
64dad57d |
| 10-Sep-2018 |
Dmitry Stogov |
Fixed wrong assertion
|
Revision tags: 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 |
|
#
6738d19f |
| 27-Apr-2018 |
Nikita Popov |
Fix bug #76281 Make sure we keep the smart-branch inhibiting NOP even if there are multiple NOPs in sequence.
|
Revision tags: 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 |
|
#
a02a126d |
| 19-Feb-2018 |
Dmitry Stogov |
Allow optional ignorance of operator overlaoding. Optimizer takes into account possibility of operator overloading at default optimization level, but ignores this possibility at "unsafe" level (opcac
Allow optional ignorance of operator overlaoding. Optimizer takes into account possibility of operator overloading at default optimization level, but ignores this possibility at "unsafe" level (opcache.optimization_level=-1).
show more ...
|
#
ef10dfc3 |
| 17-Feb-2018 |
Nikita Popov |
Fix another bug in coalesce elimination
|
#
257f07ef |
| 17-Feb-2018 |
Nikita Popov |
Fix COALESCE jump optimization
|
Revision tags: php-7.2.3RC1, php-7.1.15RC1 |
|
#
ca035f26 |
| 05-Feb-2018 |
Dmitry Stogov |
Moved "zval.u2.cache_slot" into free room of "zend_op"
|
#
ba298725 |
| 31-Jan-2018 |
Dmitry Stogov |
Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value)
|