#
0f2cdbf2 |
| 11-Dec-2019 |
Nikita Popov |
Introduce extra counter to avoid RTD key collisions Also generate a fatal error if a collision occurs in zend_compile. This is not perfect, because collisions might still be introdu
Introduce extra counter to avoid RTD key collisions Also generate a fatal error if a collision occurs in zend_compile. This is not perfect, because collisions might still be introduced via opcache, if one file is included multiple times during a request, invalidate in the meantime and recompiled by different processes. This still needs to be addressed, but this patch fixes the much more common case of collisions occuring when opcache is not used. Fixes bug #78903.
show more ...
|
Revision tags: 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, php-7.4.0RC3 |
|
#
999e32b6 |
| 25-Sep-2019 |
Nikita Popov |
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same t
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same time. Additionall, zend_type_list is introduced as a new kind of pointer payload, which is used to store multiple class types. Each of the class types is a tagged pointer, which may be either a class name or class entry. The latter is only used for typed properties, while arguments/returns will instead use cache slots. A type list can contain a mix of both names and CEs at the same time, as not all classes may be resolvable. One thing this is missing is support for union types in arginfo and stubs, which I want to handle separately. I've also dropped the special object code from the JIT implementation for now -- I plan to add this back in a different form at a later time. For now I did not want to include non-trivial JIT changes together with large functional changes. Another possible piece of follow-up work is to implement "iterable" as an internal alias for "array|Traversable". I believe this will eliminate quite a few special-cases that had to be implemented. Closes GH-4838.
show more ...
|
Revision tags: php-7.2.23, php-7.3.10 |
|
#
ac4e0f08 |
| 20-Sep-2019 |
Nikita Popov |
Make zend_type a 2-field struct We now store the pointer payload and the type mask separately. This is in preparation for union types, where we will be using both at the same time.
Make zend_type a 2-field struct We now store the pointer payload and the type mask separately. This is in preparation for union types, where we will be using both at the same time. To avoid increasing the size of arginfo structures, the pass_by_reference and is_variadic fields are now stored as part of the type_mask (8-bit are reserved for custom use). Different types of pointer payloads are distinguished based on bits in the type_mask.
show more ...
|
#
db233501 |
| 10-Oct-2019 |
Nikita Popov |
Use clean shutdown on uncaught exception |
Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
bc619975 |
| 04-Sep-2019 |
Peter Cowburn |
add ValueError ValueError is intended to be thrown when a function or method receives an argument that has the right type (incorrect type should throw a TypeError) but an inappropria
add ValueError ValueError is intended to be thrown when a function or method receives an argument that has the right type (incorrect type should throw a TypeError) but an inappropriate value.
show more ...
|
Revision tags: php-7.4.0RC1 |
|
#
ea5854ca |
| 30-Aug-2019 |
Nikita Popov |
Make error_reporting=E_ALL the default |
Revision tags: 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 |
|
#
21b0f444 |
| 04-Jul-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
1fea887c |
| 04-Jul-2019 |
Nikita Popov |
Set PROPERTY_TYPES_RESOLVED flag for internal classes Also make sure that the resolution happens before preloading runs. |
Revision tags: php-7.3.7 |
|
#
d41ab644 |
| 02-Jul-2019 |
Joe Watkins |
Merge branch 'PHP-7.4' * PHP-7.4: simple ignore arguments in exceptions implementation
|
Revision tags: php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2 |
|
#
0819e6dc |
| 17-Jun-2019 |
Joe Watkins |
simple ignore arguments in exceptions implementation |
Revision tags: php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30 |
|
#
61f78de4 |
| 26-May-2019 |
twosee |
Constify some char* arguments or return values of ZEND_API Closes GH-4247. |
#
b4a3b49e |
| 31-May-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Better hot/cold code splitting
|
#
1df9f238 |
| 31-May-2019 |
Dmitry Stogov |
Better hot/cold code splitting |
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 |
|
#
785f034e |
| 12-Apr-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
ce408504 |
| 12-Apr-2019 |
Nikita Popov |
Mark zend_bailout() as a noreturn function |
Revision tags: php-7.2.17, php-7.3.4, php-7.1.28 |
|
#
6d71d983 |
| 27-Mar-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
d1e5006c |
| 27-Mar-2019 |
Nikita Popov |
Fix lineno for more inheritance errors And also include explicit linenos in tests. |
#
d49371fb |
| 26-Mar-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
0122f395 |
| 26-Mar-2019 |
Nikita Popov |
Add zend_error_at API that accepts a filename and lineno Use this for the opcache preloading warnings, as an example usage. |
Revision tags: php-7.3.4RC1, php-7.2.17RC1 |
|
#
2dd2dcaf |
| 14-Mar-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.
|
#
9499484e |
| 14-Mar-2019 |
Dmitry Stogov |
Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc. |
#
dbb462db |
| 12-Mar-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c
|
#
04b67bac |
| 12-Mar-2019 |
Dmitry Stogov |
Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c |
Revision tags: 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 |
|
#
513b7679 |
| 05-Feb-2019 |
Nikita Popov |
Make zpp failures always throw, independent of strict_types Previously zend_parse_parameters (and FastZPP) would handle invalid arguments depending on strict_types: With strict_types=1,
Make zpp failures always throw, independent of strict_types Previously zend_parse_parameters (and FastZPP) would handle invalid arguments depending on strict_types: With strict_types=1, a TypeError is thrown, with strict_types=0 a warning is thrown and (usually) NULL is returned. Additionally, some functions (constructors always and other methods sometimes) opt-it to throwing regardless of strict_types. This commit changes zpp to always generate a TypeError exception in PHP 8.
show more ...
|
#
bf21727e |
| 11-Mar-2019 |
Joe Watkins |
Merge branch 'PHP-7.4' * PHP-7.4: drop unused parameter from zend_startup
|