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