#
bf98023f |
| 29-Aug-2024 |
Dmitry Stogov |
Prevent possible incorrect optimization caused by ZEND_ASSUME()
|
#
c15bb9af |
| 29-Aug-2024 |
Dmitry Stogov |
Restore error message incorrectly removed by commit 10d43c4 (related to GH-15497)
|
#
b9b317af |
| 26-Aug-2024 |
Florian Engelhardt |
Export opcache shared globals (#15543)
|
#
1bae61a4 |
| 19-Mar-2024 |
Arnaud Le Blanc |
Compress interned string table offsets and increase maximum supported buffer size (#13676) Compress interned string table offsets and increase maximum supported buffer size The inte
Compress interned string table offsets and increase maximum supported buffer size (#13676) Compress interned string table offsets and increase maximum supported buffer size The interned string buffer is organized as a header + a hash table + a zend_string arena. Hash slots point to the arena, but are represented as 32bit offsets from the buffer, which limits the maximum buffer size to about 4GiB. However zend_strings are 8-byte aligned in the buffer, so we can compress the 3 lower bits. This allows to increase the maximum supported interned string buffer size from 4095 MiB to 32767 MiB.
show more ...
|
#
e0ca4dca |
| 23-Oct-2023 |
Dmitry Stogov |
Fixed GH-12494: Zend/tests/arginfo_zpp_mismatch.phpt causes a segfault withJIT + --repeat 2
|
#
9ff6220e |
| 09-Oct-2023 |
Cristian Rodríguez |
opcache: Use O_TMPFILE file lock if available (#8634) Use O_TMPFILE if the kernel supports it to create the lock fd, this has multiple advantages including not having to worry about nami
opcache: Use O_TMPFILE file lock if available (#8634) Use O_TMPFILE if the kernel supports it to create the lock fd, this has multiple advantages including not having to worry about naming, permissions and the assurance that it will always go away cleanly even on abnormal termination. Co-authored-by: Dmitry Stogov <dmitry@zend.com>
show more ...
|
#
36b194ba |
| 09-Oct-2023 |
Julien Francoz |
add file path in opcache lock file error (#10331) Co-authored-by: Julien Francoz <julien@francoz.net>
|
#
9c59d22a |
| 29-May-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11336: php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked I chose to check for the value of lock_file instead of checking the
Fix GH-11336: php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked I chose to check for the value of lock_file instead of checking the file_cache_only, because it is probably a little bit faster and we're going to access the lock_file variable anyway. It's also more generic. Closes GH-11341.
show more ...
|
#
8946b7b1 |
| 24-May-2023 |
KoudelkaB <33930155+KoudelkaB@users.noreply.github.com> |
Access violation when ALLOC_FALLBACK fixed Close GH-11312
|
#
6267601f |
| 23-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Fix allocation loop in zend_shared_alloc_startup() The break is outside the if, so if it succeeds or not this will always stop after the first loop iteration instead of trying more alloc
Fix allocation loop in zend_shared_alloc_startup() The break is outside the if, so if it succeeds or not this will always stop after the first loop iteration instead of trying more allocators if the first one fails. Closes GH-11306.
show more ...
|
#
e9c86216 |
| 14-Feb-2023 |
Max Kellermann |
ext/opcache/zend_shared_alloc: use memfd for locking if available A memfd is a virtual file that has no reachable path, therefore does not clobber any filesystem. It is deleted automati
ext/opcache/zend_shared_alloc: use memfd for locking if available A memfd is a virtual file that has no reachable path, therefore does not clobber any filesystem. It is deleted automatically as soon as the last handle gets closed. The feature is available since Linux kernel 3.17. Closes GH-10589.
show more ...
|
#
263b22f3 |
| 21-Feb-2023 |
Max Kellermann |
Make lots of string pointers `const` (#10646) This allows using string literals without implicitly casting away the `const`.
|
#
3dcd4724 |
| 14-Feb-2023 |
Max Kellermann |
ext/opcache/zend_shared_alloc: convert more `int` to `bool`
|
#
3b9812f8 |
| 14-Feb-2023 |
Max Kellermann |
ext/opcache/zend_shared_alloc: `bool` fixups
|
#
413844d6 |
| 18-Feb-2023 |
Max Kellermann |
Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597) These types are standard C99. For compatibility with out-of-tree extensions, keep the typedefs in
Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597) These types are standard C99. For compatibility with out-of-tree extensions, keep the typedefs in main/php.h.
show more ...
|
#
24b311bd |
| 10-Jan-2023 |
Max Kellermann |
ext/opcache/zend_shared_alloc: rename _register_xlat_entry() params The name "new" happens to be a C++ keyword, which was the my reason to rethink those names. The "xlat_table"
ext/opcache/zend_shared_alloc: rename _register_xlat_entry() params The name "new" happens to be a C++ keyword, which was the my reason to rethink those names. The "xlat_table" is not only used to translate pointers for persisting scripts to shared memory, but is also used to annoate pointers (e.g. by the JIT to associate an op_array with its jit_extension). The names "old" and "new" aren't good for that; often, there's nothing "old" or "new" about them. It's actually a generic lookup table, and "old" shall be named "key" (which it is called internally already), and "new" is renamed to simply "value".
show more ...
|
#
10d43c40 |
| 02-Jan-2023 |
Max Kellermann |
ext/opcache/zend_shared_alloc: change "locked" check to assertion Calling zend_shared_alloc() without holding the lock is always a bug, not a fatal runtime error.
|
#
e1a25ff2 |
| 22-Dec-2022 |
Max Kellermann |
ext/opcache/zend_shared_alloc: add assertions on "locked" flag Let the PHP process crash if a bug causes incorrect locking calls.
|
#
fb242f41 |
| 03-Sep-2022 |
Arnaud Le Blanc |
Fix high opcache.interned_strings_buffer causing shm corruption (#9260)
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3 |
|
#
50a3cb7c |
| 23-Jun-2022 |
Ilija Tovilo |
Get rid of duplicated rotr3 implementation (#8853) |
Revision tags: php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28 |
|
#
0199b222 |
| 05-Feb-2022 |
Max Kellermann |
ext/opcache: check mkstemp() return value right after the call (#8031) Don't call fchmod(-1), which is not only wrong, but also clobbers errno and sets it to EBADF, breaking the followin
ext/opcache: check mkstemp() return value right after the call (#8031) Don't call fchmod(-1), which is not only wrong, but also clobbers errno and sets it to EBADF, breaking the following errno access for the log message.
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, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, 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, 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, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, 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, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1 |
|
#
01b3fc03 |
| 06-May-2021 |
KsaR |
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier". 3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted. 4. fixed indentation in some files before |
show more ...
|
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, php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1 |
|
#
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 ...
|
Revision tags: php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1 |
|
#
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 ...
|