#
df7417d1 |
| 17-Nov-2020 |
Nikita Popov |
Fix incorrectly optimized out live range For x ? y : z style structures, the live range starts at z, but may also hold the value of y. Make sure that the refcounting check takes this
Fix incorrectly optimized out live range For x ? y : z style structures, the live range starts at z, but may also hold the value of y. Make sure that the refcounting check takes this into account, by checking the type of a potential phi user.
show more ...
|
#
a4f806aa |
| 17-Sep-2020 |
Nikita Popov |
Fixed bug #80083 Add db2_execute() to the list of functions accessing the local scope. Ideally the API wouldn't do that, but it seems most pragmatic to address this on the opcache si
Fixed bug #80083 Add db2_execute() to the list of functions accessing the local scope. Ideally the API wouldn't do that, but it seems most pragmatic to address this on the opcache side at this point.
show more ...
|
#
7c1316ec |
| 04-May-2020 |
Nikita Popov |
Fixed bug #79535 We did not allocate a cache slot for FETCH_CLASS. This is already fixed on newer PHP versions.
|
#
2d03b638 |
| 12-Dec-2019 |
Nikita Popov |
Fix handling of non-final loop var free in sccp We only need to preserve the FE_FREE that marks the end of the loop range. Skip FE_FREEs with the FREE_ON_RETURN flag.
|
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 |
|
#
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, 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, 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 |
|
#
1133ee11 |
| 19-Feb-2019 |
Dmitry Stogov |
Check for USER_FUNCTION
|
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 |
|
#
a50198d0 |
| 15-Jan-2019 |
Nikita Popov |
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree that this is possible. In particular in $a[foo()] ?? $b function foo() is only ever called once. However, the variable access themselves will be reevaluated.
show more ...
|
#
abd06510 |
| 21-Jan-2019 |
Dmitry Stogov |
Avoid double live ranges recalculation.
|
#
97ccafd4 |
| 21-Jan-2019 |
Dmitry Stogov |
Live ranges construction optimization
|
#
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 |
|
#
e219ec14 |
| 07-Jan-2019 |
Nikita Popov |
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwe
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
show more ...
|
#
16176ad0 |
| 10-Jan-2019 |
Xinchen Hui |
Incase of invalid read
|
#
bf4dab01 |
| 09-Jan-2019 |
Nikita Popov |
Make operator swapping depend on IGNORE_OVERLOADING flag Add MUL back to the list and instead make the entire optimization depend on IGNORE_OVERLOADING, which is there exactly so we can
Make operator swapping depend on IGNORE_OVERLOADING flag Add MUL back to the list and instead make the entire optimization depend on IGNORE_OVERLOADING, which is there exactly so we can make these kinds of assumptions.
show more ...
|
#
cd49db9d |
| 08-Jan-2019 |
Xinchen Hui |
Fixed bug #77266 (Assertion failed in dce_live_ranges)
|
#
9bf80ef3 |
| 27-Dec-2018 |
Dmitry Stogov |
Respect static method visibility
|
Revision tags: php-7.2.14RC1, php-7.3.1RC1 |
|
#
93aabf15 |
| 10-Dec-2018 |
Nikita Popov |
Fixed bug #77275 Instead of juggling with this problem during literal compaction, make sure that we always initialize Z_EXTRA for literals, which seems like the more robust solution.
|
Revision tags: 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 |
|
#
ba99aa13 |
| 14-Nov-2018 |
Dmitry Stogov |
Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes.
|
Revision tags: 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...
|
#
bf38e6c1 |
| 30-Oct-2018 |
Dmitry Stogov |
Keep original value of "prototype"
|
#
ebf44fbb |
| 30-Oct-2018 |
Dmitry Stogov |
Reslove inherited op_array references once afrer all optimizations.
|