#
e6bdf980 |
| 07-Mar-2022 |
Bob Weinand |
Put packed back to attribute iterating after merge
|
#
15949b61 |
| 07-Mar-2022 |
Bob Weinand |
Fix ZTS build after cherry-pick
|
#
0d7e10c1 |
| 07-Mar-2022 |
Tim Düsterhus |
Fix memory leak of function attribute hash table (#8070) ==109253== 280 (56 direct, 224 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==109253== at 0x4
Fix memory leak of function attribute hash table (#8070) ==109253== 280 (56 direct, 224 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==109253== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==109253== by 0x6D9FA2: __zend_malloc (zend_alloc.c:3068) ==109253== by 0x745138: zend_add_attribute (zend_attributes.c:226) ==109253== by 0x6680D1: zend_add_parameter_attribute (zend_attributes.h:102) ==109253== by 0x66B787: zm_startup_zend_test (test.c:478) ==109253== by 0x7224CD: zend_startup_module_ex (zend_API.c:2202) ==109253== by 0x72252C: zend_startup_module_zval (zend_API.c:2217) ==109253== by 0x734288: zend_hash_apply (zend_hash.c:2011) ==109253== by 0x722C30: zend_startup_modules (zend_API.c:2328) ==109253== by 0x67409B: php_module_startup (main.c:2256) ==109253== by 0x88EDDE: php_cli_startup (php_cli.c:409) ==109253== by 0x890F61: main (php_cli.c:1334)
show more ...
|
Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28 |
|
#
e6cf5831 |
| 12-Feb-2022 |
Bob Weinand |
Fix GH-8082: Prevent leaking memory on observed transient run_time_caches This is achieved by tracking the observers on the run_time_cache (with a fixed amount of slots, 2 for each observer)
Fix GH-8082: Prevent leaking memory on observed transient run_time_caches This is achieved by tracking the observers on the run_time_cache (with a fixed amount of slots, 2 for each observer). That way round, if the run_time_cache is freed all associated observer data is as well. This approach has been chosen, as to avoid any ABI or API breakage. Future versions may for example choose to provide a hookable API for run_time_cache freeing or similar.
show more ...
|
Revision tags: php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27 |
|
#
25bb229f |
| 10-Dec-2021 |
Tyson Andre |
Allocate less memory for EG(errors) when recording errors for opcache (#7744) errors is an array of pointers, not an array of values. Low importance since this is freed after opcach
Allocate less memory for EG(errors) when recording errors for opcache (#7744) errors is an array of pointers, not an array of values. Low importance since this is freed after opcache compiles a file and there are typically no or very few errors.
show more ...
|
Revision tags: php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1 |
|
#
72f8dbb3 |
| 24-Nov-2021 |
Dmitry Stogov |
Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)
|
Revision tags: php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12 |
|
#
ddaf64b5 |
| 14-Oct-2021 |
Dmitry Stogov |
Avoid non-immutable map_ptr indirection
|
Revision tags: php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1 |
|
#
6434c93a |
| 26-Aug-2021 |
Nikita Popov |
Explicitly store real map ptr base If we only store the biased pointer, the map ptr region will not be recognized as reachable memory by leak checkers. This is primarily problematic
Explicitly store real map ptr base If we only store the biased pointer, the map ptr region will not be recognized as reachable memory by leak checkers. This is primarily problematic for fuzzing, because this is persistent memory that may be reallocated during the request, without being an actual leak. Avoid this by simply storing both the real base pointer of the allocation, as well as the biased base pointer used for accesses.
show more ...
|
Revision tags: php-7.4.23, php-8.0.10, php-7.3.30 |
|
#
116fa654 |
| 23-Aug-2021 |
Dmitry Stogov |
Fixed ZEND_MAP_PTR_KIND_PTR (it is not used)
|
Revision tags: php-8.1.0beta3 |
|
#
315f4094 |
| 11-Aug-2021 |
Nikita Popov |
Always use CE_CACHE, remove TYPE_HAS_CE (#7336) Currently, CE_CACHE on strings is only used with opcache interned strings. This patch extends usage to non-opcache interned strings as wel
Always use CE_CACHE, remove TYPE_HAS_CE (#7336) Currently, CE_CACHE on strings is only used with opcache interned strings. This patch extends usage to non-opcache interned strings as well. This means that most type strings can now make use of CE_CACHE even if opcache is not loaded, which allows us to remove TYPE_HAS_CE kind, and fix some discrepancies depending on whether a type stores a resolved or non-resolved name. There are two cases where CE_CACHE will not be used: * When opcache is not used and a permanent interned string (that is not an internal class name) is used as a type name during the request. In this case we can't allocate a map_ptr index for the permanent string, as it would be not be in the permanent map_ptr index space. * When opcache is used but the script is not cached (e.g. eval'd code or opcache full). If opcache is used, we can't allocate additional map_ptr indexes at runtime, because they may conflict with indexes allocated by opcache. In these two cases we would end up not using CE caching for property types (argument/return types still have the separate cache slot).
show more ...
|
Revision tags: php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9 |
|
#
e0119525 |
| 28-Jul-2021 |
Nikita Popov |
Preload unlinked classes, remove preload autoload (#7311) Currently, classes that can't be linked get moved back into the original script and are not preloaded. As such classes may be re
Preload unlinked classes, remove preload autoload (#7311) Currently, classes that can't be linked get moved back into the original script and are not preloaded. As such classes may be referenced from functions that did get preloaded, there is a preload autoload mechanism to load them at runtime. Since PHP 8.1, we can safely preload unlinked classes, which will then go through usual lazy loading. This means that we no longer need the preload autoload mechanism. However, we need to be careful not to modify any hash table buckets in-place, and should create new buckets for lazy loaded classes.
show more ...
|
Revision tags: php-7.4.22 |
|
#
70195c35 |
| 27-Jul-2021 |
Nikita Popov |
Don't force property type resolution for include preloading Having all property types resolved is no longer a hard requirement for preloading, resolving the types is just an optimization
Don't force property type resolution for include preloading Having all property types resolved is no longer a hard requirement for preloading, resolving the types is just an optimization. As such, drop the special logic that forced loading of property types when include-based preloading is used. Instead only keep the code that resolves types based on actually preloaded classes. Also drop the ZEND_ACC_PROPERTY_TYPES_RESOLVED flag, which is now nearly useless and takes up flag space...
show more ...
|
Revision tags: php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1 |
|
#
989205e9 |
| 12-Jul-2021 |
Nikita Popov |
Remove incorrect uses of zend_atoi() zend_atoi() parses integers with size suffixes (like "128M"). These just want to use a plain number, so use ZEND_ATOL instead.
|
#
efbb2198 |
| 12-Jul-2021 |
Nikita Popov |
Return value from ZEND_ATOL Instead of assigning it as part of the macro itself, which makes usage quite awkward.
|
Revision tags: php-8.1.0alpha3, php-7.4.21, php-7.3.29 |
|
#
aff36587 |
| 29-Jun-2021 |
Patrick Allaert |
Fixed some spaces used instead of tabs
|
Revision tags: php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1 |
|
#
5d4f0552 |
| 15-Jun-2021 |
Aaron Piotrowski |
Drop fiber block hooks Removes the ability for an extension to allow Fiber switching in blocked contexts. See discussion on fdc22744a8951b605a546ad6f09a2b907043bc54.
|
#
ba3c8027 |
| 15-Jun-2021 |
Joe Watkins |
Adds zend_fiber_startup at the right stage, moves setting of switch hooks to correct stage In a threaded environment, these ought to be set before any threads are created, and they o
Adds zend_fiber_startup at the right stage, moves setting of switch hooks to correct stage In a threaded environment, these ought to be set before any threads are created, and they ought to be set once.
show more ...
|
Revision tags: php-8.0.8RC1 |
|
#
e6e6b3e6 |
| 11-Jun-2021 |
Aaron Piotrowski |
Improve fiber interoperability (#7128)
|
Revision tags: php-8.1.0alpha1, php-8.0.7, php-7.4.20 |
|
#
795efd76 |
| 27-May-2021 |
twosee |
Add zend_getpagesize() and reuse it in accelerator and fiber (#7057)
|
#
9066d695 |
| 27-May-2021 |
twosee |
Remove all *_EXTERN_C() in C source files (#7054)
|
Revision tags: php-8.0.7RC1, php-7.4.20RC1 |
|
#
ccc069d0 |
| 06-May-2021 |
Aaron Piotrowski |
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switch
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switching to the previous fiber or {main}.
show more ...
|
Revision tags: php-8.0.6, php-7.4.19 |
|
#
feab4798 |
| 30-Apr-2021 |
Nikita Popov |
Also destroy classes in reverse order with ZTS
|
#
79071d5e |
| 29-Apr-2021 |
Nikita Popov |
Don't duplicate internal prop info (#6929) Userland property infos are no longer duplicated since PHP 7.4, when we stopped setting SHADOW flags on inherited private properties. Stop dupl
Don't duplicate internal prop info (#6929) Userland property infos are no longer duplicated since PHP 7.4, when we stopped setting SHADOW flags on inherited private properties. Stop duplicating internal property infos as well. This requires switching class destruction to work in reverse order, as child classes may be reusing structures from parent classes, and as such should be destroyed first.
show more ...
|
#
dd86987b |
| 29-Apr-2021 |
Nikita Popov |
Replay warnings during inheritance (#6928) Since 3e6b447979a2b1f351faf40bee9c6cf7e362d85a it is again possible to have warnings (deprecations) during inheritance, and more such functiona
Replay warnings during inheritance (#6928) Since 3e6b447979a2b1f351faf40bee9c6cf7e362d85a it is again possible to have warnings (deprecations) during inheritance, and more such functionality is likely in the future. This is a problem, because such warnings will only be shown on the first request if the opcache inheritance cache is used. This currently causes test failures in --repeat builds. Fix this by uplifting the error recording functionality from opcache to Zend, and then using it to persist a warning trace in the inheritance cache, which can then be used to replay the warnings on subsequent executions.
show more ...
|
Revision tags: php-7.4.18, php-7.3.28, php-8.0.5 |
|
#
c276c16b |
| 26-Apr-2021 |
Aaron Piotrowski |
Implement Fibers RFC: https://wiki.php.net/rfc/fibers Closes GH-6875.
|