#
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 ...
|
#
1f6a3e60 |
| 12-Jan-2021 |
Nikita Popov |
Remove unused bind_hash member The last usage has been removed in aa16aee51ce903fd65c25d5a7a28ebd97cb1f0e4, so drop the member as well. |
Revision tags: php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, 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, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1 |
|
#
12306728 |
| 16-Jul-2020 |
Sammy Kaye Powers |
Add system ID entropy API The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the sys
Add system ID entropy API The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the system ID for each hook. This allows extensions to identify that changes have been made to the engine since the last PHP process restart. Closes GH-5871
show more ...
|
#
5fdabeb9 |
| 03-Sep-2020 |
Christoph M. Becker |
Fix Windows build |
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
Revision tags: php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1 |
|
#
0a74da38 |
| 19-May-2020 |
Nikita Popov |
Add support for replaying warnings in opcache If opcache.record_warnings is enabled, opcache will record compilation warnings and replay them when the file is included again. The pri
Add support for replaying warnings in opcache If opcache.record_warnings is enabled, opcache will record compilation warnings and replay them when the file is included again. The primary use case I have in mind for this is automated testing of the opcache file cache. This resolves bug #76535.
show more ...
|
#
0695048e |
| 18-May-2020 |
Dmitry Stogov |
JIT refactoring to allow run-time changes of JIT options (triggers, optimization_level, debug flags, etc) |
Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, 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, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
3be83233 |
| 03-Sep-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Execute preload script under user defined by opcache.preload_user directive
|
#
5dc37cc3 |
| 03-Sep-2019 |
Dmitry Stogov |
Execute preload script under user defined by opcache.preload_user directive |
Revision tags: php-7.4.0RC1 |
|
#
65fa6dac |
| 30-Aug-2019 |
Nikita Popov |
Add jit_bisect_limit To help identify which function is being miscompiled. |
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 |
|
#
54401001 |
| 17-Jul-2019 |
Christoph M. Becker |
Merge branch 'PHP-7.4' * PHP-7.4: Allow multiple cache instances per user/host on Windows
|
#
e2ed7e67 |
| 16-Jul-2019 |
Christoph M. Becker |
Allow multiple cache instances per user/host on Windows Formerly, there was at most a single OPcache instance per user and the so called system ID (which is determined from the PHP versi
Allow multiple cache instances per user/host on Windows Formerly, there was at most a single OPcache instance per user and the so called system ID (which is determined from the PHP version). Sometimes multiple OPcaches might be desired, though, particularly for unrelated CLI scripts, which may even be necessary (e.g. for our test suite in parallel mode). We therefore introduce a new INI directive `opcache.cache_id` which allows to configure independent OPcache instances for the same user. We also use `GetUserNameW()` instead of `php_win32_get_username()`, because the latter retrieves the user name encoded in the `default_charset`, which can obviously yield different results for different charsets, leading to OPcache "incompatibilities". Slightly worse, some characters may not even be encodeable in the `default_charset` and would be replaced by question marks, which could result in different users sharing the same OPcache. We also refactor, and re-use existing APIs to avoid duplicated code.
show more ...
|
Revision tags: php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2 |
|
#
1707f664 |
| 21-Jun-2019 |
Dmitry Stogov |
Additional fix for bug #78185 (File cache no longer works) |
Revision tags: php-7.3.7RC3 |
|
#
41067a22 |
| 18-Jun-2019 |
Joe Watkins |
Merge branch 'PHP-7.4' * PHP-7.4: Turn system_id into a true global
|
Revision tags: php-7.3.7RC2, php-7.2.20RC2 |
|
#
04a6aac5 |
| 17-Jun-2019 |
Christoph M. Becker |
Turn system_id into a true global The system_id is identical for all threads and can be computed during module startup, so there is no need to calculate and store it for each thread. |
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, php-7.2.19RC1 |
|
#
4d8e0d49 |
| 14-May-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Moved NEWS entry Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset
|
#
7bc4bd02 |
| 14-May-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Moved NEWS entry Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset
|
Revision tags: php-7.3.6RC1 |
|
#
a43678aa |
| 14-May-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.2' into PHP-7.3 * PHP-7.2: Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset
|
#
5c4d125d |
| 14-May-2019 |
Dmitry Stogov |
Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset |
Revision tags: php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1 |
|
#
853f881b |
| 11-Apr-2019 |
Anatol Belski |
Avoid code duplication |
Revision tags: php-7.2.17, php-7.3.4, php-7.1.28 |
|
#
9a068760 |
| 01-Apr-2019 |
Dmitry Stogov |
Added JIT compiler for x86 and x86_64 |
Revision tags: php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1 |
|
#
26e26969 |
| 12-Feb-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Avoid dependency on "struct flock" fields order.
|
#
470f5891 |
| 12-Feb-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.2' into PHP-7.3 * PHP-7.2: Avoid dependency on "struct flock" fields order.
|
#
92227026 |
| 12-Feb-2019 |
Dmitry Stogov |
Avoid dependency on "struct flock" fields order. |