Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1 |
|
#
9bf11983 |
| 24-May-2020 |
Ilija Tovilo |
Implement nullsafe ?-> operator RFC: https://wiki.php.net/rfc/nullsafe_operator Closes GH-5619. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
9fa1d133 |
| 09-Apr-2020 |
Ilija Tovilo |
Implement match expression RFC: https://wiki.php.net/rfc/match_expression_v2 Closes GH-5371.
|
#
53eee290 |
| 27-Apr-2020 |
Nikita Popov |
Completely remove disabled functions from function table Currently, disabling a function only replaces the internal function handler with one that throws a warning, and a few places
Completely remove disabled functions from function table Currently, disabling a function only replaces the internal function handler with one that throws a warning, and a few places in the engine special-case such functions, such as function_exists. This leaves us with a Schrödinger's function, which both does not exist (function_exists returns false) and does exist (you cannot define a function with the same name). In particular, this prevents the implementation of robust polyfills, as reported in https://bugs.php.net/bug.php?id=79382: if (!function_exists('getallheaders')) { function getallheaders(...) { ... } } If getallheaders() is a disabled function, this code will break. This patch changes disable_functions to remove the functions from the function table completely. For all intents and purposes, it will look like the function does not exist. This also renders two bits of PHP functionality obsolete and thus deprecated: * ReflectionFunction::isDisabled(), as it will no longer be possible to construct the ReflectionFunction of a disabled function in the first place. * get_defined_functions() with $exclude_disabled=false, as get_defined_functions() now never returns disabled functions. Fixed bug #79382. Closes GH-5473.
show more ...
|
#
56b18d47 |
| 01-Apr-2020 |
Nikita Popov |
Don't convert binop operand types in opcache This may produce different behavior if operator overloading is involved, and may change the error message. If there's strong interes
Don't convert binop operand types in opcache This may produce different behavior if operator overloading is involved, and may change the error message. If there's strong interest, this could be done in the DFA pass with available type information. It does not look particularly practically useful to me though.
show more ...
|
Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, 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 |
|
#
3a78c3aa |
| 03-Oct-2019 |
Dmitry Stogov |
Moved non-constant JMP optimizations from pass1 to pass3. Removed useless "break"s, that stopped optimization too early.
|
#
39d1e50b |
| 03-Oct-2019 |
Dmitry Stogov |
Avoid "$a = $a + ..." to "$a += ..." conversion (compound assignments work slower). Added DFA optimization patters (e.g. "$a = $a + 1" to "++$a"), that previously worked only for compound assignm
Avoid "$a = $a + ..." to "$a += ..." conversion (compound assignments work slower). Added DFA optimization patters (e.g. "$a = $a + 1" to "++$a"), that previously worked only for compound assignments.
show more ...
|
#
de3c1eb8 |
| 03-Oct-2019 |
Dmitry Stogov |
Move obvious optimization patterns from pass1 directly to compiler
|
#
c1de93ef |
| 03-Oct-2019 |
Dmitry Stogov |
Fixed comments
|
#
6cac8d5b |
| 02-Oct-2019 |
Dmitry Stogov |
Optimizer cleanup - all rules from pass2 moved to pass1 - all JMP unrelated rules from pass3 moved to pass1 - pass3 keeps only JMP optimization rules - pass2.c is removed - p
Optimizer cleanup - all rules from pass2 moved to pass1 - all JMP unrelated rules from pass3 moved to pass1 - pass3 keeps only JMP optimization rules - pass2.c is removed - pass1_5.c remaned to pass1.c ("_5" was related to PHP 5)
show more ...
|