1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00
Commit Graph

602 Commits

Author SHA1 Message Date
Dmitry Stogov
d5d31ea3b3 Cleanup observer API and add JIT support 2020-09-18 12:55:58 +03:00
Nikita Popov
34bb5ba2ea Remove support for EXT_NOP
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
2020-09-18 11:03:08 +02:00
Dmitry Stogov
a9cbdafa69 Support for ZEND_COMPILE_EXTENDED_STMT 2020-09-17 23:19:28 +03:00
Dmitry Stogov
0f9aefa64f Fixed incorrect live-range construction 2020-09-17 19:39:44 +03:00
Dmitry Stogov
23429b5818 Fixed incorrect register allocation 2020-09-17 18:36:45 +03:00
Dmitry Stogov
e9820bf470 Fixed memory leak in ext/spl/tests/bug77263.phpt 2020-09-17 11:55:50 +03:00
Dmitry Stogov
f786c0e097 Optimize code for FETCH_THIS + INIT_METHOD_CALL/ASSIGN_OBJ_OP/etc 2020-09-16 14:22:36 +03:00
Dmitry Stogov
e27776343f Fixed incorrect constant string access 2020-09-16 10:49:54 +03:00
Dmitry Stogov
5f1fb1a5a4 JIT for INIT_METHOD_CALL 2020-09-16 10:25:36 +03:00
Dmitry Stogov
f5bbb0480e Tracing JIT for INIT_DYNAMIC_CALL (closure only) 2020-09-15 15:57:57 +03:00
Dmitry Stogov
a4c3aee5b2 Support for reference 2020-09-14 23:30:49 +03:00
Dmitry Stogov
a351da55bf Simplify zend_jit_pre/post_inc/dec_typed_ref() helpers 2020-09-14 22:26:34 +03:00
Dmitry Stogov
8f342ad4d2 JIT for PRE/POST_INC/DEC_OBJ 2020-09-14 19:36:15 +03:00
Dmitry Stogov
bf515649ff JIT for ASSIGN_OBJ_OP 2020-09-14 13:31:41 +03:00
Dmitry Stogov
0a03291b51 Allocate Windows 64 shadow stack space 2020-09-14 10:41:22 +03:00
Benjamin Eberlei
ff0e39bb4d Remove @jit Docblock support for now due to dev-time constraints 2020-09-14 09:21:05 +02:00
Dmitry Stogov
ccd0348d52 Eliminate repeatable class guards and unnecessary IS_UNDEF property checks 2020-09-11 10:30:43 +03:00
Dmitry Stogov
7b0a053169 JIT for ASSIGN_OBJ 2020-09-10 23:41:50 +03:00
Dmitry Stogov
00076ef2b9 Attempt to fix bug #80014 (PHP 8.0 beta2 crashes with default JIT flags due to hardware incompatibility) 2020-09-10 09:34:32 +03:00
Dmitry Stogov
d2efb7e6c4 Eliminate unnecessary IS_INDIRECT guards 2020-09-10 02:20:15 +03:00
Dmitry Stogov
817ae41496 JIT for ASSIGN_DIM[_OP] with first IS_VAR + IS_INDIRECT operand 2020-09-09 21:41:48 +03:00
Máté Kocsis
9975986b7e Improve error messages mentioning parameters instead of arguments
Closes GH-5999
2020-09-09 10:47:43 +02:00
Dmitry Stogov
c5b42be40e Fixed memory leak 2020-09-09 11:09:20 +03:00
Dmitry Stogov
d6cc6b2dee Tracin JIT support for FETCH_DIM_W/RW with IS_VAR + IS_INDIRECT first operand. 2020-09-09 10:35:44 +03:00
Nikita Popov
536e5b4953 Pass correct op_info to zend_jit_fetch_dim() 2020-09-09 09:29:28 +02:00
Dmitry Stogov
73c7fa272d JIT for FETCH_DIM_W/RW insructions 2020-09-09 02:41:22 +03:00
Dmitry Stogov
b106463d37 JIT for IN_ARRAY instruction. 2020-09-08 21:03:51 +03:00
Dmitry Stogov
02b645e47a JIT for FETCH_LIST_R 2020-09-08 16:47:15 +03:00
David Carlier
8e05c44496 Opcache JIT, code simplification for Haiku.
More straightforward approach to get the path of the
 current PHP process.

Closes GH-6082.
2020-09-07 10:15:28 +02:00
Dmitry Stogov
56a9eeda65 Avoid unnecessary IP initiliaization on trace linking 2020-09-04 11:42:13 +03:00
Dmitry Stogov
3f4a5003aa Cleanup macro/function names 2020-09-04 02:10:48 +03:00
Dmitry Stogov
531d17f0bd Load EX(opline) in one instuction if possible 2020-09-03 23:53:02 +03:00
Dmitry Stogov
c58c4be5df Reorder DynAsm macros (no other changes) 2020-09-03 23:52:24 +03:00
Dmitry Stogov
9dc9534637 If we don't know the return address, just escape to VM, instead of adding side exit.
Remove unnecessary exception checks.
2020-09-03 17:12:23 +03:00
Dmitry Stogov
67e9b3be39 JIT for FE_FETCH_R 2020-09-03 12:06:06 +03:00
Dmitry Stogov
6b521a98d4 Fixed support for deprecated constants (Zend/tests/const_deprecation.phpt failure) 2020-09-03 10:49:58 +03:00
Dmitry Stogov
91edb90767 JIT for FETCH_CONSTANT 2020-09-03 00:51:43 +03:00
Dmitry Stogov
508f8285e2 Reorder switch cases for consistency between zend_jit() and zend_jit_trace() 2020-09-02 23:16:58 +03:00
Dmitry Stogov
f3f5719355 JIT for FE_FETCH_R 2020-09-02 20:10:02 +03:00
Dmitry Stogov
4d97ab20fc Added missing helper 2020-09-02 12:59:52 +03:00
Dmitry Stogov
225cd9da86 Improved JIT for VERIFY_RETURN_TYPE 2020-09-02 12:55:16 +03:00
Dmitry Stogov
c98e1747a8 Minimal JIT support for JMP_NULL 2020-09-02 11:49:42 +03:00
Dmitry Stogov
7484b8f036 Preallocate zval for unused result of internal function on CPU stack 2020-09-02 02:03:38 +03:00
Dmitry Stogov
1c56b40a5c Eliminate some EX_CALL_INFO() checks 2020-09-01 16:26:29 +03:00
Dmitry Stogov
91d7e872e0 Fixed nested init fcall guards. 2020-09-01 12:24:11 +03:00
Dmitry Stogov
4163923e83 More agressive "packed array" guards insertion 2020-08-31 16:34:56 +03:00
Dmitry Stogov
5828d547ba Perform type guard checks before IS_UNDEF checks (check IS_UNDEF during deoptimization) 2020-08-31 15:25:23 +03:00
Nikita Popov
a1a4c03b9b Fix call to type error functions from jit
Missed to adjust those calls.
2020-08-28 17:37:00 +02:00
Dmitry Stogov
7690439edd Don't load IP when entering inlined function 2020-08-28 13:27:35 +03:00
Dmitry Stogov
1c1165f8cd Avoid useless IP load 2020-08-28 00:53:09 +03:00