#
e488f7b0 |
| 19-Sep-2022 |
Dmitry Stogov |
Reorder conditions to avoid valgrind "Conditional jump or move depends on uninitialised value" warning.
|
#
8f5480e7 |
| 17-Feb-2022 |
Dmitry Stogov |
Release lock and protect SHM before replaying warnings
|
#
cd8e6f5f |
| 14-Dec-2021 |
Dmitry Stogov |
Preloading: don't remove INCLUDE_OE_EVAL nstructions with used result
|
#
45b127ad |
| 08-Oct-2021 |
Dmitry Stogov |
Flush error messages emitted during preloading
|
#
9ad8fadc |
| 24-Sep-2021 |
Lin Yang |
Fix bug #81472: Support large device major/minor number Latest linux kernel use large number (12 bits for major device, 20 bits for minor device). Current code only supports previous sta
Fix bug #81472: Support large device major/minor number Latest linux kernel use large number (12 bits for major device, 20 bits for minor device). Current code only supports previous standard (5 chars), which means 8 bits for major and 8 bits for minor device. It will fail if device number is out of that range. So this patch increases device number read from /proc/self/maps file. Closes GH-7512.
show more ...
|
#
d1e956ff |
| 16-Aug-2021 |
Nikita Popov |
Fixed bug #81353 A user-defined error handler should not be invoked for preload warnings. We are in a partially shut-down state at that point.
|
#
ef77d3c8 |
| 17-Jul-2021 |
Christoph M. Becker |
Fix #81206: Multiple PHP processes crash with JIT enabled We need to avoid resetting the JIT for all SAPIs, but we need to initialize the JIT handlers even when only reattaching on Windo
Fix #81206: Multiple PHP processes crash with JIT enabled We need to avoid resetting the JIT for all SAPIs, but we need to initialize the JIT handlers even when only reattaching on Windows. Closes GH-7208.
show more ...
|
#
62a9f973 |
| 19-May-2021 |
Nikita Popov |
Move preload_autoload assignment into preload_load() We need to set the preload autoloader even if preloading happened in a different process. accel_preload() will only run in one.
Move preload_autoload assignment into preload_load() We need to set the preload autoloader even if preloading happened in a different process. accel_preload() will only run in one. In particular, this fixes the behavior if preload_user is used.
show more ...
|
#
8b7aaad7 |
| 07-Dec-2020 |
Nikita Popov |
Try SIGTERM before SIGKILL in opcache restart SIGTERM is subject to HANDLE_BLOCK_INTERRUPTIONS(), which will allow code to exit critical sections before it gets terminated. Clos
Try SIGTERM before SIGKILL in opcache restart SIGTERM is subject to HANDLE_BLOCK_INTERRUPTIONS(), which will allow code to exit critical sections before it gets terminated. Closes GH-6493.
show more ...
|
#
1e6c7e77 |
| 14-Dec-2020 |
David Carlier |
JIT disabled build fix. Closes GH-6514.
|
#
a12e7aff |
| 14-Dec-2020 |
Dmitry Stogov |
Fixed bug #80506 (Immediate SIGSEGV upon ini_set("opcache.jit_debug", 1))
|
#
d5a82e2c |
| 30-Nov-2020 |
Dmitry Stogov |
Disable JIT with incompatible third-party extensions
|
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 |
|
#
6808968c |
| 05-Nov-2020 |
Nikita Popov |
Backport preloading trait fixup fixes This cherry-picks 33969c2252b2c33a72c9039072af8862fd347a5f and 2effbfd8713936742ef46e6e85ce193b320ac005 from PHP-8.0. The issues these comm
Backport preloading trait fixup fixes This cherry-picks 33969c2252b2c33a72c9039072af8862fd347a5f and 2effbfd8713936742ef46e6e85ce193b320ac005 from PHP-8.0. The issues these commits fix could also manifest in PHP 7.4, and a commenter on bug #80307 reports this this might indeed be happening.
show more ...
|
#
2effbfd8 |
| 05-Nov-2020 |
Nikita Popov |
Fixup trait methods even if no traits are used Trait methods might be non-trivially inherited, in which case we may have to perform fixup in classes that do not directly use any trai
Fixup trait methods even if no traits are used Trait methods might be non-trivially inherited, in which case we may have to perform fixup in classes that do not directly use any traits.
show more ...
|
#
33969c22 |
| 05-Nov-2020 |
Nikita Popov |
Fix multiple trait fixup If a trait method is inherited, preloading trait fixup might be performed on it multiple times. Usually this is fine, because the opcodes pointer will have a
Fix multiple trait fixup If a trait method is inherited, preloading trait fixup might be performed on it multiple times. Usually this is fine, because the opcodes pointer will have already been updated, and will thus not be found in the xlat table. However, it can happen that the new opcodes pointer is the same as one of the old opcodes pointers, if the pointer has been reused by the allocator. In this case we will look up the wrong op array and overwrite the trait method with an unrelated trait method. We fix this by indexing the xlat table not by the opcodes pointer, but by the refcount pointer. The refcount pointer is not changed during optimization, and accurately represents which op arrays should use the same opcodes. Fixes bug #80307. The test case does not reproduce the bug, because this depends on a lot of "luck" with the allocator. The test case merely illustrates a case where orig_op_array would have been NULL in the original code.
show more ...
|
#
7c7c6b0d |
| 04-Nov-2020 |
Nikita Popov |
End output handlers in preload shutdown Same as in php_request_shutdown(), we need to end any active output handlers, as these may no longer be safe to execute lateron.
|
#
b009573f |
| 03-Nov-2020 |
Nikita Popov |
Report parse errors during preloading
|
#
51b5f7d6 |
| 03-Nov-2020 |
Nikita Popov |
Don't ignore internal classes during preloading When preloading, it's fine to make use of internal class information, as we do not support Windows. It is also necessary to allow proper
Don't ignore internal classes during preloading When preloading, it's fine to make use of internal class information, as we do not support Windows. It is also necessary to allow proper variance checks against internal classes.
show more ...
|
#
6f243186 |
| 03-Nov-2020 |
Nikita Popov |
Preserve trait method alias name during preloading
|
Revision tags: 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, 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 |
|
#
d134c0ac |
| 09-Jun-2020 |
twosee |
Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0
|
#
2a545ba9 |
| 03-Oct-2020 |
Christoph M. Becker |
Fix #80175: PHP8 RC1 - JIT Buffer not working On Windows, `SUCCESSFULLY_REATTACHED` does not imply that the process has already been properly initialized; thus we must not skip some setu
Fix #80175: PHP8 RC1 - JIT Buffer not working On Windows, `SUCCESSFULLY_REATTACHED` does not imply that the process has already been properly initialized; thus we must not skip some setup steps in `zend_jit_startup()`. Closes GH-6268.
show more ...
|
#
739eb435 |
| 29-Sep-2020 |
Dmitry Stogov |
Tracing JIT support for preloaded scripts
|
#
3928b6b4 |
| 29-Sep-2020 |
Dmitry Stogov |
Fixed unintended disabling of Optimizer for preloaded scripts introduced by 4a2646cf459
|
#
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 ...
|
#
d5d31ea3 |
| 18-Sep-2020 |
Dmitry Stogov |
Cleanup observer API and add JIT support
|