#
5cf045d3 |
| 10-Sep-2024 |
Dmitry Stogov |
Fix GH-15820: Core dumped with jit.opcache=1245
|
#
c1ffd4b4 |
| 06-Sep-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-15658: Segmentation fault in Zend/zend_vm_execute.h Implement a minimal ZEND_MATCH handler using a tail call. Closes GH-15782.
|
#
1e78cf94 |
| 02-Sep-2024 |
Dmitry Stogov |
Fix GH-15652: Segmentation fault in the Zend engine when JIT enabled (#15717)
|
#
b44ad27a |
| 06-Jul-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-14550: No warning message when Zend DTrace is enabled that opcache.jit is implictly disabled Closes GH-14847.
|
#
9506ca60 |
| 22-May-2024 |
Ilija Tovilo |
Fix enabling of JIT at runtime Fixes GH-14267 Closes GH-14294
|
#
d417072e |
| 23-Jan-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-13232: Segmentation fault will be reported when JIT is off but JIT_debug is still on Closes GH-13234.
|
#
77a497d5 |
| 02-Nov-2023 |
Dmitry Stogov |
Don't JIT after fatal errors
|
#
fb683877 |
| 07-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12380: JIT+private array property access inside closure accesses private property in child class For private fields, the scope has to be taken into account, otherwise the property
Fix GH-12380: JIT+private array property access inside closure accesses private property in child class For private fields, the scope has to be taken into account, otherwise the property info may come from the wrong ce. Closes GH-12381.
show more ...
|
#
d5ad7510 |
| 08-Jun-2023 |
George Peter Banyard |
More usage of known zend_str instead of C string (#11381)
|
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 |
|
#
0b1d750d |
| 11-Aug-2022 |
Ilija Tovilo |
Allow arbitrary expressions in static variable initializer Closes GH-9301
|
#
6bd54646 |
| 15-May-2023 |
Sara |
Cacheline demote to improve performance (#11101) Once code is emitted to JIT buffer, hint the hardware to demote the corresponding cache lines to more distant level so other CPUs can
Cacheline demote to improve performance (#11101) Once code is emitted to JIT buffer, hint the hardware to demote the corresponding cache lines to more distant level so other CPUs can access them more quickly. This gets nearly 1% performance gain on our workload. Signed-off-by: Xue,Wang <xue1.wang@intel.com> Signed-off-by: Tao,Su <tao.su@intel.com> Signed-off-by: Hu,chen <hu1.chen@intel.com>
show more ...
|
#
f127e658 |
| 02-May-2023 |
yang yuhan |
JIT: Align JIT stubs (#11149) Fixed phpGH-11120 Signed-off-by: PeterYang12 <yuhan.yang@intel.com>
|
#
87922411 |
| 25-Mar-2023 |
Michael Orlitzky |
Use capstone explicitly, drop oprofile (GH 10876) (#10918) * ext/opcache/config.m4: new --with-opcache-capstone flag. Until now, libcapstone has been detected "automagically" and us
Use capstone explicitly, drop oprofile (GH 10876) (#10918) * ext/opcache/config.m4: new --with-opcache-capstone flag. Until now, libcapstone has been detected "automagically" and used for JIT disassembly whenever it is available on the system used to compile PHP. This can have some unintended consequences, however: many users have capstone installed for some other purpose, and are surprised to find that PHP breaks when capstone is later uninstalled. To address this, we have introduced a new --with-opcache-capstone flag that is disabled by default, and that makes the user's preference explicit. It is ignored unless the JIT is enabled. * ext/opcache: drop support for the oprofile JIT profiler. Recently we have replaced the "automagic" detection of capstone at build time with a --with-opcache-capstone flag. The detection of oprofile causes similar problems and would likely have the same solution; however, it was suggested that we might remove oprofile altogether. So, this commit removes it: * Remove the detection bits from ext/opcache/config.m4. * Drop HAVE_OPROFILE ifdef blocks. * Delete ext/opcache/jit/zend_jit_oprofile.c. * Undefine the ZEND_JIT_DEBUG_OPROFILE constant.
show more ...
|
#
b3e28e22 |
| 12-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix module shutdown crash during ZTS JIT shutdown Commit a21195650e53 fixed a leak by adding a TSRM destructor for the JIT globals in ZTS mode. In case the main thread shuts down the TSR
Fix module shutdown crash during ZTS JIT shutdown Commit a21195650e53 fixed a leak by adding a TSRM destructor for the JIT globals in ZTS mode. In case the main thread shuts down the TSRM, it will call all the destructors. The JIT globals destructor will be invoked, but will always access the main thread globals using JIT_G. This means that instead of freeing the JIT globals in the different threads, the one in the main thread is freed repeatedly over and over, crashing PHP. Fix it by always passing the pointer instead of relying on JIT_G. Closes GH-10835.
show more ...
|
#
d5c649b3 |
| 23-Feb-2023 |
Max Kellermann |
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleadi
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleading, so let's use a C99 integer instead. On all architectures currently supported by PHP, `zend_uchar` and `uint8_t` are identical. This change is only about code readability.
show more ...
|
#
131b862a |
| 07-Feb-2023 |
Max Kellermann |
ext/opcache/zend_jit: call TSRM dtor before unloading opcache.so (#10533) Commit a21195650e53e added a TSRM destructor, but that destructor will get called by tsrm_shutdown(), which is a
ext/opcache/zend_jit: call TSRM dtor before unloading opcache.so (#10533) Commit a21195650e53e added a TSRM destructor, but that destructor will get called by tsrm_shutdown(), which is after opcache.so has already been unloaded, resulting in a shutdown crash, e.g.: #0 0x00007fad01737500 in ?? () #1 0x000055ac54e723c4 in tsrm_shutdown () at TSRM/TSRM.c:194 #2 0x000055ac54c42180 in main (argc=80, argv=0x55ac57bc14d0) at sapi/cli/php_cli.c:1388 By calling ts_free_id() before opcache.so gets unloaded, we can easily fix this crash bug.
show more ...
|
#
afbb28df |
| 07-Feb-2023 |
Max Kellermann |
ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527) * ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types Regression by commit a2119
ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527) * ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types Regression by commit a21195650e53e34266806a8c379dd5a91f0dbb61 * TSRM/win32: fix ts_allocate_dtor cast The dtor was casted to ts_allocate_ctor; luckily, ts_allocate_dtor and ts_allocate_ctor just happen to be the same type.
show more ...
|
#
a2119565 |
| 06-Feb-2023 |
Dmitry Stogov |
Fix possible exit_counters memory leak in ZTS build
|
#
6676f5d3 |
| 20-Jan-2023 |
Dmitry Stogov |
Delay debug JIT op_array dump until actual JIT-ing Previously function JIT for the whole script (opcache.jit=1205) dumped all op_arrays before JIT-ing the first functon. This complicated
Delay debug JIT op_array dump until actual JIT-ing Previously function JIT for the whole script (opcache.jit=1205) dumped all op_arrays before JIT-ing the first functon. This complicated debugging of particular JIT-ed function and leaded to usage of opcache.jit=1204. Now both options should produce similar op_array/disasm interlived output.
show more ...
|
#
c8955c07 |
| 16-Jan-2023 |
Christoph M. Becker |
Revert GH-10220 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit ecc880f491d66081298a16634629f149459706a9. This reverts commit 588a07
Revert GH-10220 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit ecc880f491d66081298a16634629f149459706a9. This reverts commit 588a07f7371ee2b5fac17de147926780e427fae6. This reverts commit f377e15751d3aa48b69cd9bcc366ede7803d511f. This reverts commit b4ba16fe189b109144aff669e11d81365160104b. This reverts commit 694ec1deea36e366b28b6349a52be49824e1a1a8. This reverts commit 6b34de8eba9f66882ae16e6073af28783670ac53. This reverts commit aa1cd02a4367834026ea2205ea13a2f904455aa1. This reverts commit 308fd311ea6fcf3094b448df7f2b264f08e4fe4f. This reverts commit 16203b53e1822a37b6ba6f2ab198bb435d05fdad. This reverts commit 738fb5ca5412f5e833a7fab82b11519e635a3357. This reverts commit 9fdbefacd3c382d731aa175b7bdc002ec9cb2b30. This reverts commit cd4a7c1d90562ebb5f89caf94d00d579631b9fbe. This reverts commit 928685eba2b2f0ded90e7f78fd806ea164002f6e. This reverts commit 01e5ffc85cd4357fd7b5b7ceefa29f2d10ca26b7.
show more ...
|
#
308fd311 |
| 04-Jan-2023 |
Max Kellermann |
ext/{standard,json,random,...}: add missing includes
|
#
d3a6eedf |
| 21-Dec-2022 |
Max Kellermann |
ext/opcache/jit/zend_jit: fix inverted bailout value in zend_runtime_jit() (#10144) In the "catch" block, do_bailout must be set to true, not false, or else zend_bailout() never gets cal
ext/opcache/jit/zend_jit: fix inverted bailout value in zend_runtime_jit() (#10144) In the "catch" block, do_bailout must be set to true, not false, or else zend_bailout() never gets called.
show more ...
|
#
61e563ca |
| 17-Oct-2022 |
Dmitry Stogov |
Reset JIT for dynamic functions on opcache restrart
|
#
cefb228e |
| 17-Oct-2022 |
Dmitry Stogov |
Discard disasm symbols on opcache restart
|
#
c5364b85 |
| 11-Oct-2022 |
Dmitry Stogov |
Fix crashes after opcache restart
|