#
d4b843b2 |
| 08-Jun-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Avoid MSVC unused variable warning in FastZPP
|
#
3ee6a4b3 |
| 08-Jun-2021 |
Nikita Popov |
Avoid MSVC unused variable warning in FastZPP MSVC doesn't support __attribute__((unused)), so this can cause a lot of warnings for extensions. Use the (void) trick instead. However,
Avoid MSVC unused variable warning in FastZPP MSVC doesn't support __attribute__((unused)), so this can cause a lot of warnings for extensions. Use the (void) trick instead. However, this requires us to initialize the variable as well, to ensure that ubsan does not read a trap representation.
show more ...
|
#
532c60cb |
| 06-May-2021 |
Máté Kocsis |
Add support for tentative return types of internal methods RFC: https://wiki.php.net/rfc/internal_method_return_types Closses GH-6971 |
Revision tags: php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, 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 ...
|
Revision tags: php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16 |
|
#
99d0f502 |
| 24-Feb-2021 |
Dmitry Stogov |
Fixed error message |
Revision tags: php-8.0.3RC1, php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1 |
|
#
b10416a6 |
| 30-Nov-2020 |
Nikita Popov |
Deprecate passing null to non-nullable arg of internal function This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the b
Deprecate passing null to non-nullable arg of internal function This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the behavior consistent with userland functions, where null is never accepted for non-nullable arguments. This change is expected to cause quite a lot of fallout. In most cases, calling code should be adjusted to avoid passing null. In some cases, PHP should be adjusted to make some function arguments nullable. I have already fixed a number of functions before landing this, but feel free to file a bug if you encounter a function that doesn't accept null, but probably should. (The rule of thumb for this to be applicable is that the function must have special behavior for 0 or "", which is distinct from the natural behavior of the parameter.) RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg Closes GH-6475.
show more ...
|
#
4b79dba9 |
| 09-Feb-2021 |
Dmitry Stogov |
Added Inheritance Cache. This is a new transparent technology that eliminates overhead of PHP class inheritance. PHP classes are compiled and cached (by opcahce) separately, howeve
Added Inheritance Cache. This is a new transparent technology that eliminates overhead of PHP class inheritance. PHP classes are compiled and cached (by opcahce) separately, however their "linking" was done at run-time - on each request. The process of "linking" may involve a number of compatibility checks and borrowing methods/properties/constants form parent and traits. This takes significant time, but the result is the same on each request. Inheritance Cache performs "linking" for unique set of all the depending classes (parent, interfaces, traits, property types, method types involved into compatibility checks) once and stores result in opcache shared memory. As a part of the this patch, I removed limitations for immutable classes (unresolved constants, typed properties and covariant type checks). So now all classes stored in opcache are "immutable". They may be lazily loaded into process memory, if necessary, but this usually occurs just once (on first linking). The patch shows 8% improvement on Symphony "Hello World" app.
show more ...
|
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
#
1b2aba28 |
| 14-Jan-2021 |
Nikita Popov |
Remove Z_PARAM separate params where they don't make sense Separation can only possibly make sense for array parameters (or something that can contain arrays, like zval parameters). It
Remove Z_PARAM separate params where they don't make sense Separation can only possibly make sense for array parameters (or something that can contain arrays, like zval parameters). It never makes sense to separate a bool. The deref parameters are also of dubious utility, but leaving them for now.
show more ...
|
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 |
|
#
1071d857 |
| 07-Aug-2020 |
Sara Golemon |
Flesh out HashTable insertion APIs Fills out the array/object-property insert helpers for zend_array, zend_object, and zend_reference. This adds the following matrix of 18 APIs
Flesh out HashTable insertion APIs Fills out the array/object-property insert helpers for zend_array, zend_object, and zend_reference. This adds the following matrix of 18 APIs add_next_index_T() add_index_T() add_assoc_T() add_assoc_T_ex() add_property_T() add_property_T_ex() Where T in array, object, reference Converted internal callsites currently doing an explicit object wrap.
show more ...
|
#
72ce6a13 |
| 19-Nov-2020 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Export zend_is_callable_at_frame
|
#
46b9e0c8 |
| 19-Nov-2020 |
Nikita Popov |
Export zend_is_callable_at_frame Export the zend_is_callable_impl() function as zend_is_callable_at_frame() for use by extension. As twose pointed out, an extension may want to retri
Export zend_is_callable_at_frame Export the zend_is_callable_impl() function as zend_is_callable_at_frame() for use by extension. As twose pointed out, an extension may want to retrieve fcc for a private method.
show more ...
|
#
50705495 |
| 13-Oct-2020 |
Nikita Popov |
Sanity check zpp max argument count This would have prevented 9b4094c. Closes GH-6334. |
#
ef9ab915 |
| 21-Sep-2020 |
Nikita Popov |
Use assertion for null-termination string Indicates an implementation bug, make sure we can automatically detect it. |
#
46c0c82a |
| 14-Sep-2020 |
Máté Kocsis |
Declare array|int and object-of-class|int types in stubs Closes GH-6081 Co-Authored-By: Nikita Popov <nikic@php.net> |
#
7e0631e5 |
| 14-Sep-2020 |
Máté Kocsis |
Add Z_PARAM_OBJ_OF_CLASS ZPP macro |
#
c98d4769 |
| 10-Sep-2020 |
Máté Kocsis |
Consolidate new union type ZPP macro names They will now follow the canonical order of types. Older macros are left intact due to maintaining BC. Closes GH-6112 |
#
7e339a33 |
| 08-Sep-2020 |
Nikita Popov |
Make null byte error a ValueError Currently we treat paths with null bytes as a TypeError, which is incorrect, and rather inconsistent, as we treat empty paths as ValueError. We do t
Make null byte error a ValueError Currently we treat paths with null bytes as a TypeError, which is incorrect, and rather inconsistent, as we treat empty paths as ValueError. We do this because the error is generated by zpp and it's easier to always throw TypeError there. This changes the zpp implementation to throw a TypeError only if the type is actually wrong and throw ValueError for null bytes. The error message is also split accordingly, to be more precise. Closes GH-6094.
show more ...
|
#
e50449bc |
| 04-Sep-2020 |
Máté Kocsis |
Use the canonical order of types in array|string ZPP error messages |
#
e50cb320 |
| 04-Sep-2020 |
Máté Kocsis |
Add the Z_PARAM_ARRAY_HT_OR_NULL and Z_PARAM_OBJ macros |
#
2e218180 |
| 04-Sep-2020 |
Nikita Popov |
Release call trampolines in zpp fcc When using zpp 'f' or Z_PARAM_FUNC, if the fcc points to a call trampoline release it immediately and force zend_call_function to refetch it. This
Release call trampolines in zpp fcc When using zpp 'f' or Z_PARAM_FUNC, if the fcc points to a call trampoline release it immediately and force zend_call_function to refetch it. This may require additional callability checks if __call is used, but avoids the need to carefully free fcc values in all internal functions -- in some cases this is not simple, as a type error might be triggered by a later argument in the same zpp call. This fixes oss-fuzz #25390. Closes GH-6073.
show more ...
|
#
94fd52dd |
| 03-Sep-2020 |
Levi Morrison |
Add Z_PARAM_ITERABLE and co |
#
f7fbc633 |
| 14-Aug-2020 |
Máté Kocsis |
Add more precise type info for stubs Closes GH-6005 |
#
2c15c9ce |
| 28-Aug-2020 |
Nikita Popov |
Rehash function table after disabling functions To perform fast shutdown without full table cleanup we need all internal functions to be in one continuous chunk. This was violated wh
Rehash function table after disabling functions To perform fast shutdown without full table cleanup we need all internal functions to be in one continuous chunk. This was violated when functions were deleted via disable_functions. This drops the zend_disable_function() API in favor of zend_disable_functions(), which disables the given list of functions and performs the necessary rehash afterwards. Also drop PG(disabled_functions), which is no longer used.
show more ...
|
#
138f1416 |
| 28-Aug-2020 |
Nikita Popov |
Don't mark variadic functions as ZEND_FASTCALL Variadic functions do not support the fastcall calling convention. |