#
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 ...
|
#
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 ...
|
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, 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, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1 |
|
#
a5f78217 |
| 19-Dec-2021 |
Tyson Andre |
Fix typos in opcache code comments, tests (#7794)
|
Revision tags: 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, 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 |
|
#
767a4af2 |
| 18-May-2021 |
Dmitry Stogov |
Introduce and use ZEND_JIT_TARGET_X86 and ZEND_JIT_TARGET_ARM64 macros. Remove x86 specific code from ext/opcache/jit/zend_jit_arm64.dasc. Fixed ARM64 build without libcapstone.
|
Revision tags: php-7.4.20RC1 |
|
#
78cdb2a7 |
| 12-May-2021 |
Dmitry Stogov |
Allow to print JIT assemble without binary addresses (opcache.jit_debug=0x001) and with (opcache.jit_debug=0x401) for both ARM and x86.
|
#
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, 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 ...
|
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 |
|
#
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 |
|
#
0571f094 |
| 02-Nov-2020 |
Nikita Popov |
Rename opcache.jit_max_loops_unroll to opcache.jit_max_loop_unrolls
|
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 |
|
#
53ef2449 |
| 31-Jul-2020 |
Benjamin Eberlei |
Add opcache.jit=tracing|function values, make on/yes/true synonym for tracing.
|
#
8a42f357 |
| 28-Jul-2020 |
Dmitry Stogov |
Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive
|
Revision tags: php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1 |
|
#
447a098e |
| 20-Jul-2020 |
Dmitry Stogov |
Switch to tracing JIT by default
|
#
59536d5b |
| 20-Jul-2020 |
Nikita Popov |
Revert "Switch to tracing JIT by default" This reverts commit 10b09578a89a444d9df45e75d5ce8c0826bb2efe. This seems to cause many test failures: Test === operator : differen
Revert "Switch to tracing JIT by default" This reverts commit 10b09578a89a444d9df45e75d5ce8c0826bb2efe. This seems to cause many test failures: Test === operator : different types [tests/lang/operators/operator_identical_basic.phpt] Test <=> operator : different types [tests/lang/operators/operator_spaceship_basic.phpt] comparing different variables for equality [Zend/tests/compare_001_64bit.phpt] comparing different variables for identity [Zend/tests/compare_002_64bit.phpt] Rebinding of ::getClosure()s [Zend/tests/closure_061.phpt] comparing different variables (greater than) [Zend/tests/compare_003_64bit.phpt] comparing different variables (less than) [Zend/tests/compare_004_64bit.phpt] comparing different variables (greater or equal than) [Zend/tests/compare_005_64bit.phpt] comparing different variables (smaller or equal than) [Zend/tests/compare_006_64bit.phpt] Invalid numeric string E_WARNINGs and E_NOTICEs, combined assignment operations [Zend/tests/numeric_string_errors_assign.phpt] Bug #51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) [ext/date/tests/bug51819.phpt] Test all filters returned by filter_list() [ext/filter/tests/033.phpt] filter_var() and FILTER_VALIDATE_MAC [ext/filter/tests/055.phpt] Test strrpos() function : usage variations - unexpected inputs for 'needle' argument [ext/standard/tests/strings/strrpos_variation10.phpt] Test strtr() function : usage variations - empty string & null for 'str' argument [ext/standard/tests/strings/strtr_variation4.phpt] Test strtr() function : usage variations - unexpected inputs for 'from' argument [ext/standard/tests/strings/strtr_variation6.phpt] Test strstr() function [ext/standard/tests/strings/strstr.phpt]
show more ...
|
#
10b09578 |
| 20-Jul-2020 |
Dmitry Stogov |
Switch to tracing JIT by default
|
#
5fec1558 |
| 09-Jul-2020 |
Dmitry Stogov |
Prevent trace recorder reenterancing
|
Revision tags: php-7.4.8 |
|
#
a75cf0c7 |
| 08-Jul-2020 |
Dmitry Stogov |
JIT support for opcache restart
|
Revision tags: php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1 |
|
#
bdd84063 |
| 16-Jun-2020 |
Dmitry Stogov |
Added JIT debug flag to dump the size of generated code (opcache.jit_debug=0x200)
|
#
e9f295ac |
| 09-Jun-2020 |
Dmitry Stogov |
Tracing JIT support for megamorphic calls
|
Revision tags: php-7.4.7, php-7.3.19 |
|
#
efbe9616 |
| 28-May-2020 |
Dmitry Stogov |
Split "opcache.jit_max_recursion_unroll" into "opcache.jit_max_recursive_calls" and "opcache.jit_max_recursive_returns". It's possible to disable recording of "recursive return loops" setting opc
Split "opcache.jit_max_recursion_unroll" into "opcache.jit_max_recursive_calls" and "opcache.jit_max_recursive_returns". It's possible to disable recording of "recursive return loops" setting opcache.jit_max_recursive_returns to 0.
show more ...
|
Revision tags: php-7.4.7RC1, php-7.3.19RC1 |
|
#
928c7962 |
| 19-May-2020 |
Dmitry Stogov |
Make number of root and side traces configurable
|
#
8c19e611 |
| 19-May-2020 |
Dmitry Stogov |
Make JIT parameters configurable through opcache.jit_... options
|
#
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 |
|
#
faa57abe |
| 29-Apr-2020 |
Dmitry Stogov |
white space fixes
|
Revision tags: php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
66f2ebe4 |
| 09-Apr-2020 |
Dmitry Stogov |
Register allocator refactoring
|
#
3042b2b2 |
| 08-Apr-2020 |
Dmitry Stogov |
Dump information about trace side exits
|