#
f5f05e88 |
| 24-Sep-2024 |
Calvin Buckley |
Fix regression on systems built without JIT (#16024) regressing commit: 654b787ee16ae6ebf9ee94507631da9251ff077b This was called if JIT was enabled or not. If not enabled, it'll res
Fix regression on systems built without JIT (#16024) regressing commit: 654b787ee16ae6ebf9ee94507631da9251ff077b This was called if JIT was enabled or not. If not enabled, it'll result in an undeclared function warning and maybe a bad time in the linker. Gate the meat of this PHP-side function on if JIT is enabled (but keep it existing so PHP userland code works with or without JIT, OFC).
show more ...
|
#
654b787e |
| 24-Sep-2024 |
Bob Weinand |
Add API to exempt function from being traced in JIT (#15559) Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist. The functionality currently onl
Add API to exempt function from being traced in JIT (#15559) Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist. The functionality currently only affects tracing JIT, but may be extended to other JIT modes in future.
show more ...
|
#
5d3fab93 |
| 11-Jun-2024 |
Peter Kokot |
Sync #if/ifdef/defined (#14520) These are either undefined or defined (to value 1): - __DragonFly__ - __FreeBSD__ - HAS_MCAST_EXT - HAVE_GETCWD - HAVE_GETWD - HAVE_GL
Sync #if/ifdef/defined (#14520) These are either undefined or defined (to value 1): - __DragonFly__ - __FreeBSD__ - HAS_MCAST_EXT - HAVE_GETCWD - HAVE_GETWD - HAVE_GLIBC_ICONV - HAVE_JIT - HAVE_LCHOWN - HAVE_NL_LANGINFO - HAVE_RL_CALLBACK_READ_CHAR - HAVE_RL_ON_NEW_LINE - HAVE_SQL_EXTENDED_FETCH - HAVE_UTIME Follow up of GH-5526 (-Wundef)
show more ...
|
#
84a0da15 |
| 09-Jun-2024 |
Peter Kokot |
Sync #if/ifdef/defined (#14508) This syncs CPP macro conditions: - _WIN32 - _WIN64 - HAVE_ALLOCA_H - HAVE_ALPHASORT - HAVE_ARPA_INET_H - HAVE_CONFIG_H - HAVE_DIRE
Sync #if/ifdef/defined (#14508) This syncs CPP macro conditions: - _WIN32 - _WIN64 - HAVE_ALLOCA_H - HAVE_ALPHASORT - HAVE_ARPA_INET_H - HAVE_CONFIG_H - HAVE_DIRENT_H - HAVE_DLFCN_H - HAVE_GETTIMEOFDAY - HAVE_LIBDL - HAVE_POLL_H - HAVE_PWD_H - HAVE_SCANDIR - HAVE_SYS_FILE_H - HAVE_SYS_PARAM_H - HAVE_SYS_SOCKET_H - HAVE_SYS_TIME_H - HAVE_SYS_TYPES_H - HAVE_SYS_WAIT_H - HAVE_UNISTD_H - PHP_WIN32 - ZEND_WIN32 These are either undefined or defined to 1 in Autotools and Windows. Follow up of GH-5526 (-Wundef).
show more ...
|
#
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 ...
|
#
c16ad918 |
| 28-Nov-2023 |
Daniil Gentili |
Change default method of disabling JIT https://wiki.php.net/rfc/jit_config_defaults Closes GH-12678
|
#
e270ee30 |
| 23-Oct-2023 |
Dmitry Stogov |
memory_consumption must be page aligned
|
#
958a25e2 |
| 28-Jul-2023 |
Mikhail Galanin |
Add "revalidate" time to opcache scripts list Closes GH-11816
|
#
b2dbf0a2 |
| 31-Jul-2023 |
Ilija Tovilo |
Remove opcache.consistency_checks This feature has been broken at least since the tracing JIT and inheritance cache have been introduced. The attempted fix (GH-10798) was too complex. We
Remove opcache.consistency_checks This feature has been broken at least since the tracing JIT and inheritance cache have been introduced. The attempted fix (GH-10798) was too complex. We have thus decided to remove this feature for now. Closes GH-11832
show more ...
|
#
ee3f9323 |
| 17-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11715: opcache.interned_strings_buffer either has no effect or opcache_get_status() / phpinfo() is wrong There are a couple of oddities. 1) The interned strings buffer compri
Fix GH-11715: opcache.interned_strings_buffer either has no effect or opcache_get_status() / phpinfo() is wrong There are a couple of oddities. 1) The interned strings buffer comprises the whole hashtable datastructure. Therefore, it seems that the interned strings buffer size is the size of only said table. However, in the current code it also includes the size of the zend_accel_shared_globals. 2) ZCSG(interned_strings).end is computed starting from the accelerator globals struct itself. I would expect it to start from the part where the interned strings table starts. 3) When computing the used size, it is done using ZCSG(interned_strings).end - ZCSG(interned_strings).start. However, this does not include the uin32_t slots array because ZCSG(interned_strings).start pointers after that array. This patch corrrects these 3 points. Closes GH-11717.
show more ...
|
#
0e5ac62f |
| 02-May-2023 |
Sara |
Add configuration opcache.jit_max_trace_length (#11173) Max length of a single trace. A long trace generates long JITTed code, which influences the performance slightly. opcache.jit_
Add configuration opcache.jit_max_trace_length (#11173) Max length of a single trace. A long trace generates long JITTed code, which influences the performance slightly. opcache.jit_max_trace_length range is [4,1024], the default value is 1024. Reviewed-by: Su, Tao <tao.su@intel.com> Signed-off-by: Wang, Xue <xue1.wang@intel.com>
show more ...
|
#
85df512a |
| 06-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-8065: opcache.consistency_checks > 0 causes segfaults in PHP >= 8.1.5 in fpm context Disable opcache.consistency_checks. This feature does not work right now and leads to mem
Fix GH-8065: opcache.consistency_checks > 0 causes segfaults in PHP >= 8.1.5 in fpm context Disable opcache.consistency_checks. This feature does not work right now and leads to memory leaks and other problems. For analysis and discussion see GH-8065. In GH-10624 it was decided to disable the feature to prevent problems for end users. If end users which to get some consistency guarantees, they can rely on opcache.protect_memory. Closes GH-10798.
show more ...
|
#
821fc55a |
| 22-Feb-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement GH-9826: Make class_alias() work with internal classes (#10483) We can't increase the refcount of internal classes during request time. To work around this problem we simply do
Implement GH-9826: Make class_alias() work with internal classes (#10483) We can't increase the refcount of internal classes during request time. To work around this problem we simply don't refcount aliases anymore and add a check in the destruction to skip aliases entirely. There were also some checks which checked for an alias implicitly by comparing the refcount, these have been replaced by checking the type of the zval instead.
show more ...
|
#
d7de73b5 |
| 27-Jan-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix overflow check in OnUpdateMemoryConsumption (#10456) memsize is a signed long, therefore the check against the (*un*signed long maximum) / 1024² will allow too large values. This che
Fix overflow check in OnUpdateMemoryConsumption (#10456) memsize is a signed long, therefore the check against the (*un*signed long maximum) / 1024² will allow too large values. This check worked correctly in d4b3f89c53f8 where it checked against the maximum signed value, but was broken in 003346c450b5. Fix it by changing ZEND_ULONG_MAX to ZEND_LONG_MAX.
show more ...
|
#
9bea5f44 |
| 02-Sep-2022 |
Mikhail Galanin |
Add "Start time", "Last restart time" and "Last force restart time" to phpinfo() for opcache. Closes GH-9475.
|
#
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 |
|
#
9313cd89 |
| 18-Aug-2022 |
Christoph M. Becker |
Don't enforce 64 hit counter on Windows There is no particular need to have a 64bit hit counter on Windows. Closes GH-9367.
|
Revision tags: 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, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1 |
|
#
efc8f0eb |
| 17-Jun-2022 |
Arnaud Le Blanc |
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number p
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number parsing. They also check for a 'K', 'M', or 'G' at the end of the string, and multiply the parsed value out accordingly. Unfortunately, they ignore any other non-numerics between the numeric component and the last character in the string. This means that numbers such as the following are both valid and non-intuitive in their final output. * "123KMG" is interpreted as "123G" -> 132070244352 * "123G " is interpreted as "123 " -> 123 * "123GB" is interpreted as "123B" -> 123 * "123 I like tacos." is also interpreted as "123." -> 123 Currently, in php-src these functions are used only for parsing ini values. In this change we deprecate zend_atol(), zend_atoi(), and introduce a new function with the same behavior, but with the ability to report invalid inputs to the caller. The function's name also makes the behavior less unexpected: zend_ini_parse_quantity(). Co-authored-by: Sara Golemon <pollita@php.net>
show more ...
|
Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1 |
|
#
926407f2 |
| 13-May-2022 |
George Peter Banyard |
Fix some MSAN complaints under Clang (#8553)
|
Revision tags: 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, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15 |
|
#
2c4b9e99 |
| 18-Jan-2022 |
Tony Su |
[JIT] Print out more meaningful warning message * [JIT] Print out more meaningful warning message When the setting value is out of range for jit_hot_loop, jit_hot_func, jit_hot_
[JIT] Print out more meaningful warning message * [JIT] Print out more meaningful warning message When the setting value is out of range for jit_hot_loop, jit_hot_func, jit_hot_return, and jit_hot_side_exit, current PHP only prints out warning message like: Warning: Invalid "opcache.jit_hot_loop" setting. Should be between 0 and 256 in Unknown on line 0 With this small patch, PHP can print out more meaningful information, and tell user default value will be used and correct value range, like Warning: Invalid "opcache.jit_hot_loop" setting; using default value instead. Should be between 0 and 255 in Unknown on line 0 This patch has been verified on my local machine. Signed-off-by: Su, Tao <tao.su@intel.com> Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz> Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Closes GH-7955.
show more ...
|
Revision tags: 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 |
|
#
90b7bde6 |
| 03-Nov-2021 |
Dmitry Stogov |
Use more compact representation for packed arrays. - for packed arrays we store just an array of zvals without keys. - the elements of packed array are accessible throuf as ht->arPacked[
Use more compact representation for packed arrays. - for packed arrays we store just an array of zvals without keys. - the elements of packed array are accessible throuf as ht->arPacked[i] instead of ht->arData[i] - in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes (ZEND_HASH_MAP_FOREACH_*) - introduced an additional family of macros to access elements of array (packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX, ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT - zend_hash_minmax() prototype was changed to compare only values Because of smaller data set, this patch may show performance improvement on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser) TODO: - sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET). - zend_hash_sort_ex() may require converting packed arrays to hash.
show more ...
|
Revision tags: 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, 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 |
|
#
09efad61 |
| 08-Apr-2021 |
George Peter Banyard |
Use zend_string_equals_(literal_)ci() API more often Also drive-by usage of zend_ini_parse_bool() Closes GH-6844
|
#
8ed8cf86 |
| 22-Mar-2021 |
Dmitry Stogov |
Use zend_string* instead of char*
|
#
c732ab40 |
| 16-Mar-2021 |
Dmitry Stogov |
Change Zend Stream API to use zend_string* instead of char*. This allows to eliminate re-calculation of string lenght and hash value. See the detailed list of changes in UPGRADING.INTERN
Change Zend Stream API to use zend_string* instead of char*. This allows to eliminate re-calculation of string lenght and hash value. See the detailed list of changes in UPGRADING.INTERNALS.
show more ...
|