1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 03:03:26 +02:00
Commit Graph

298 Commits

Author SHA1 Message Date
Dmitry Stogov bb1a68b40c Use EX(run_time_cache) instead of RUN_TIME_CACHE(&EX(func)->op_array) 2020-05-21 18:35:32 +03:00
Dmitry Stogov a9b2ff3dda simplification 2020-05-21 18:01:44 +03:00
Dmitry Stogov 2dfd6cd373 Allow counter settings to be "zero" to disable corresponding counter 2020-05-21 01:06:50 +03:00
Dmitry Stogov d2446ca1d9 Missed label 2020-05-21 00:57:54 +03:00
Dmitry Stogov b65d366bf8 Better condition 2020-05-20 23:05:48 +03:00
Tyson Andre 3e045d5f2b Fix grammar in the jit's README.md
For GH-5585
2020-05-20 10:01:34 -04:00
Tyson Andre 27b849ec9a [skip ci] Add a README for Opcache's JIT.
Mention information that would be useful for working on new features or bug
fixes for the JIT.

Closes GH-5585
2020-05-20 09:58:24 -04:00
Dmitry Stogov e35c163e33 Tracing JIT SHM data initilaizarion must be done at MINIT 2020-05-20 02:07:18 +03:00
Dmitry Stogov d1a92ddc72 typo 2020-05-20 02:07:07 +03:00
Dmitry Stogov 928c796290 Make number of root and side traces configurable 2020-05-20 01:40:01 +03:00
Dmitry Stogov e18f631abe Use light version of zend_array_destroy() to free arrays without refcounted elements and string indexes. 2020-05-20 00:12:24 +03:00
Dmitry Stogov 6faa08f41c Separate common code 2020-05-19 16:59:07 +03:00
Dmitry Stogov 8c19e611aa Make JIT parameters configurable through opcache.jit_... options 2020-05-19 13:35:02 +03:00
Dmitry Stogov d377467d86 Keep ZEND_FUNC_INFO() for all run-time JIT triggers 2020-05-18 19:00:38 +03:00
Dmitry Stogov 5899b1611e Fixed JIT on load with -O4 2020-05-18 15:29:28 +03:00
Dmitry Stogov eae6df494d Wrong condition 2020-05-18 15:04:39 +03:00
Dmitry Stogov 7a07deca0f Fixed JIT with non-HYBRID VM 2020-05-18 14:56:39 +03:00
Dmitry Stogov 99611573f0 Tracing JIT with -O1 doesn't need to do type inference and abstract stack maintaining 2020-05-18 14:39:49 +03:00
Dmitry Stogov a463197d7a func_info should be empty 2020-05-18 14:30:55 +03:00
Dmitry Stogov 0695048e20 JIT refactoring to allow run-time changes of JIT options (triggers, optimization_level, debug flags, etc) 2020-05-18 10:23:06 +03:00
Máté Kocsis 1179686f62 Improve error messages for invalid property access
Closes GH-5446
Co-authored-by:  Nikita Popov <nikita.ppv@gmail.com>
2020-05-18 08:27:00 +02:00
Dmitry Stogov e5e25d6352 Added HALT symbol 2020-05-15 01:06:47 +03:00
Máté Kocsis 93640db4d5 Improve error message for deprecated methods 2020-05-14 17:23:31 +02:00
Dmitry Stogov 161ee110bf Tracing JIT support for delayed call chain 2020-05-14 14:21:46 +03:00
Dmitry Stogov 9122638ecd Set "hybrid_ret_counters" only after links to "function entry" traces. 2020-05-13 17:45:48 +03:00
Dmitry Stogov fa919f9277 Fixed JIT with ON_HOT_COUNTERS trigger (opcache.jit=1235) 2020-05-13 16:00:25 +03:00
Dmitry Stogov 98d8bcc13a Better trace_buffer packing 2020-05-13 15:45:42 +03:00
Xinchen Hui 91b5571fcc Fixed #79582 (Crash seen when opcache.jit=1235 and opcache.jit_debug=2) 2020-05-13 18:00:16 +08:00
Dmitry Stogov 7d66e4f323 Replace zend_jit_trace_info.loop_kind by zend_jit_trace_info.flags 2020-05-13 00:56:04 +03:00
Dmitry Stogov 25b7df4283 Fixed invalid index 2020-05-12 23:45:34 +03:00
Alex Dowad f0960879e4 zend_timeout is not a signal handler function
The 'int dummy' parameter to this function makes it appear that it was intended as a
signal handler, but it is not being used as such. So remove the redundant parameter.
2020-05-12 17:13:46 +02:00
Dmitry Stogov 650ab370c7 Avoid useless manual instruction encoding 2020-05-12 14:24:13 +03:00
Dmitry Stogov 60090adc6a Move EG(vm_interrupt) checks at the end of the trace loops 2020-05-12 13:35:38 +03:00
Dmitry Stogov 6e2cd97b43 cleanup 2020-05-08 10:07:55 +03:00
Dmitry Stogov c34d29db33 Change parameter meaning. 2020-05-08 01:24:02 +03:00
Dmitry Stogov dcedc31979 Use proper "cost" 2020-05-08 00:56:03 +03:00
Dmitry Stogov ef45d4d698 Avoid loop throgh side_exit from the first trace instruction. 2020-05-08 00:48:17 +03:00
Dmitry Stogov 5d9063a546 Fixed tracing JIT for CALL VM without global register variables 2020-05-07 23:41:48 +03:00
Dmitry Stogov 9af2f0fa78 More accurate tracing JIT for RETURN with unknown return address 2020-05-07 22:01:59 +03:00
Dmitry Stogov 98acdbff18 Prevent taking side traces for exceptional cases. Always exit to VM interpreter. 2020-05-07 12:49:01 +03:00
Dmitry Stogov 7977cd1c19 Fixed comment 2020-05-07 09:05:33 +03:00
Dmitry Stogov 9d869f24d4 Avoid Program Counter guard in side trace started from Fake Init Fcall guard. 2020-05-06 23:16:45 +03:00
Dmitry Stogov b63eff17ff Initial support for IS_INDIRECT. Avoid type guards for IS_INDIRECT. 2020-05-06 22:27:38 +03:00
Dmitry Stogov 776b1aefc8 Careful cleanup 2020-05-06 16:26:36 +03:00
Nikita Popov 5bc1e224db Make numeric operations on resources, arrays and objects type errors
RFC: https://wiki.php.net/rfc/arithmetic_operator_type_checks

Closes GH-5331.
2020-05-05 16:11:13 +02:00
Tyson Andre 54febdbc7d Fix other typos in param name/code comments
Closes GH-5502
2020-05-01 12:23:16 +02:00
Dmitry Stogov 968c31a43c Better handling of IS_UNDEF variables 2020-04-30 17:07:35 +03:00
Dmitry Stogov 3c04ce43ed Replace ZEND_ASSERT() by conditional compilation abort.
Prevent endless loop through ESCAPE code.
2020-04-30 15:32:01 +03:00
Dmitry Stogov 65934d31d1 Improved tracing JIT for nested calls 2020-04-29 18:24:18 +03:00
Dmitry Stogov faa57abe71 white space fixes 2020-04-29 13:29:01 +03:00