#
052af90b |
| 09-Jun-2021 |
Kamil Tekiela |
Deprecate autovivification on false Deprecate automatically converting "false" into an empty array on write operands. Autovivification continues to be supported for "null" values, as
Deprecate autovivification on false Deprecate automatically converting "false" into an empty array on write operands. Autovivification continues to be supported for "null" values, as well as undefined/uninitialized values. RFC: https://wiki.php.net/rfc/autovivification_false Closes GH-7131. Co-authored-by: Tyson Andre <tysonandre775@hotmail.com> Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
90e6a740 |
| 14-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Drop incorrect cache_slot optimization for typed properties
|
#
982c833a |
| 14-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-7.4' into PHP-8.0 * PHP-7.4: Drop incorrect cache_slot optimization for typed properties
|
#
ba8bcf39 |
| 14-Jul-2021 |
Nikita Popov |
Drop incorrect cache_slot optimization for typed properties For a particular assignment, a non-coerced constant assignment value will remain valid. However, opcache merges cache slots fo
Drop incorrect cache_slot optimization for typed properties For a particular assignment, a non-coerced constant assignment value will remain valid. However, opcache merges cache slots for all identical property references, which means that this optimization also disables property type checks for all other operands on the property that occur in the same functions. This could be addressed by blocking cache slot merging in opcache, but I prefer dropping it entirely instead. It does not seem important enough to warrant doing that.
show more ...
|
#
d0b09a7b |
| 20-May-2021 |
Joe Watkins |
Add first-class callables Support acquiring a Closure to a callable using the syntax func(...), $obj->method(...), etc. This is essentially a shortcut for Closure::fromCallable().
Add first-class callables Support acquiring a Closure to a callable using the syntax func(...), $obj->method(...), etc. This is essentially a shortcut for Closure::fromCallable(). RFC: https://wiki.php.net/rfc/first_class_callable_syntax Closes GH-7019. Co-Authored-By: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
a80360db |
| 09-Jul-2021 |
Nikita Popov |
Deprecate direct access to static trait members Static trait members may only be accessed through a class in which the trait is used, not directly on the trait. A complication h
Deprecate direct access to static trait members Static trait members may only be accessed through a class in which the trait is used, not directly on the trait. A complication here is that we should not store static methods/properties for which a deprecation is triggered in a cache slot. As the check for this is simple and cheap, I'm handling this in the cache slot population code in the VM. The alternative would be to pass the cache slot down into the fetching code. Part of https://wiki.php.net/rfc/deprecations_php_8_1.
show more ...
|
#
069a9fa5 |
| 05-Jul-2021 |
George Peter Banyard |
Pure Intersection types (#6799) Implement pure intersection types RFC RFC: https://wiki.php.net/rfc/pure-intersection-types Co-authored-by: Nikita Popov <nikic@php.net>
Pure Intersection types (#6799) Implement pure intersection types RFC RFC: https://wiki.php.net/rfc/pure-intersection-types Co-authored-by: Nikita Popov <nikic@php.net> Co-authored-by: Ilija Tovilo <ilutov@php.net>
show more ...
|
#
33214401 |
| 02-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Fix return value of wrong fucntion by-ref assign
|
#
6617829f |
| 02-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-7.4' into PHP-8.0 * PHP-7.4: Fix return value of wrong fucntion by-ref assign
|
#
96bf925c |
| 02-Jul-2021 |
Nikita Popov |
Fix return value of wrong fucntion by-ref assign We should be using the result of zend_assign_to_variable() here, which will deref prior to potential freeing. Fixes oss-fuzz #29
Fix return value of wrong fucntion by-ref assign We should be using the result of zend_assign_to_variable() here, which will deref prior to potential freeing. Fixes oss-fuzz #29899.
show more ...
|
#
353f963b |
| 01-Jul-2021 |
Nikita Popov |
Init STRLEN result when deprecation promoted to exception Move the result initialization before HANDLE_EXCEPTION(), the actual value doesn't matter. This fixes one of the issues
Init STRLEN result when deprecation promoted to exception Move the result initialization before HANDLE_EXCEPTION(), the actual value doesn't matter. This fixes one of the issues report in bug #81190.
show more ...
|
#
b6421387 |
| 15-Jun-2021 |
Nikita Popov |
Fix missing error for single index unset on wrong type The error was correctly thrown for a nested index, but not for a single index. Make sure both have the same behavior. |
#
34257e1c |
| 15-Jun-2021 |
Nikita Popov |
Remove unnecessary IS_UNUSED check This operand cannot be UNUSED. |
#
821a5a12 |
| 14-Jun-2021 |
Nikita Popov |
Drop fast_div_function This is the same as div_function nowadays. |
#
b6958bb8 |
| 31-May-2021 |
George Peter Banyard |
Implement "Deprecate implicit non-integer-compatible float to int conversions" RFC. (#6661) RFC: https://wiki.php.net/rfc/implicit-float-int-deprecate Co-authored-by: Nikita Popov <
Implement "Deprecate implicit non-integer-compatible float to int conversions" RFC. (#6661) RFC: https://wiki.php.net/rfc/implicit-float-int-deprecate Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
27be6670 |
| 31-May-2021 |
Nikita Popov |
Correctly parse array_slice() argument in call_user_func_array() opt We should be treating this argument using the normal zpp rules, rather than performing a simple integer cast. |
#
b227a722 |
| 21-May-2021 |
Joe Watkins |
ReflectionFunctionAbstract::getClosureUsedVariables Make a distinction at compile time between bind types for static variables getStaticVariables remains unchanged
ReflectionFunctionAbstract::getClosureUsedVariables Make a distinction at compile time between bind types for static variables getStaticVariables remains unchanged Fixes #80071
show more ...
|
#
5fe20625 |
| 18-May-2021 |
Dmitry Stogov |
Correct DWARF frame description. Now GDB correctly shows backtraces that involves JIT-ed code for functional/tracing JIT, HYBRID/CALL VM, x86/AArch64 CPU. (opcache.jit_debug=0x100 sh
Correct DWARF frame description. Now GDB correctly shows backtraces that involves JIT-ed code for functional/tracing JIT, HYBRID/CALL VM, x86/AArch64 CPU. (opcache.jit_debug=0x100 should be set).
show more ...
|
#
fd1d5ec2 |
| 28-Apr-2021 |
Nikita Popov |
Add ZEND_CLASS_CONST_FLAGS() macro And drop Z_ACCESS_FLAGS(). We no longer store *only* access flags in these. |
Revision tags: php-7.4.18, php-7.3.28, php-8.0.5 |
|
#
6cd0b48c |
| 19-Apr-2021 |
Matt Brown |
Implement never return type The never type can be used to indicate that a function never returns, for example because it always unwinds. RFC: https://wiki.php.net/rfc/noreturn_t
Implement never return type The never type can be used to indicate that a function never returns, for example because it always unwinds. RFC: https://wiki.php.net/rfc/noreturn_type Closes GH-6761.
show more ...
|
Revision tags: php-8.0.5RC1, php-7.4.18RC1 |
|
#
462da6e0 |
| 31-Mar-2021 |
Josh Soref |
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465 The action reports that the changes in this PR would make it happy: jsoref@602417c Closes GH-6822.
show more ...
|
#
9e12dbba |
| 05-Apr-2021 |
Dmitry Stogov |
micro-optimization |
#
c2fc25fd |
| 01-Apr-2021 |
Dmitry Stogov |
Avoid reading of property name in ASSIGN_OBJ if it can be accessed through run-time cache slot. |
#
1b94b5b6 |
| 01-Apr-2021 |
Dmitry Stogov |
Avoid reading of property name in FETCH_OBJ_R/IS if it can be accessed through run-time cache slot. |
#
4df39f4b |
| 18-Mar-2021 |
Nikita Popov |
Don't imply SILENT from NO_AUTOLOAD We have separate flags for non-autoloading class fetches and silent class fetches. There's no reason why NO_AUTOLOAD should be special-cased to be
Don't imply SILENT from NO_AUTOLOAD We have separate flags for non-autoloading class fetches and silent class fetches. There's no reason why NO_AUTOLOAD should be special-cased to be implicitly silent.
show more ...
|