Dmitry Stogov
66a1d821d3
Improved code for unordered comparison
2019-05-06 16:07:48 +03:00
Markus Staab
1db95f8e46
fixed typo
2019-04-29 11:07:22 +02:00
David Carlier
3a2cc1614a
JIT profiling other BSD build fixes
2019-04-24 14:52:50 +02:00
Dmitry Stogov
4c25fc5479
Implemented JIT for SWITCH_LONG/SWITCH_STRING
2019-04-23 17:40:10 +03:00
Dmitry Stogov
74153193c6
Use _zend_hash_find_known_hash() for IS_CONST operand
2019-04-22 21:07:05 +03:00
Dmitry Stogov
499b25c303
Fixed JIT for DEFINED opcode
2019-04-22 20:19:34 +03:00
Dmitry Stogov
e04fbdab2f
Keep EX(opline) in consistency when call engine and helper functions
2019-04-18 22:19:57 +03:00
Dmitry Stogov
28828ffccb
Fixed JIT for recursive functions with type-hints
2019-04-18 12:32:31 +03:00
Dmitry Stogov
35ee6dc69f
Don't initialize return value before calling user functions
2019-04-18 03:00:20 +03:00
Dmitry Stogov
f603f5c63c
Improved support for "context threading" (not enabled).
...
This technique uses CPU Register Address Stack for return branch predicion and give 25% improvement on some call intensive micro-becnhmarks. Unfotrunately, it also slow downs other recursive benchmarks (probably because of RAS size). The techniquea is not compatible with VM without register variables.
2019-04-16 13:33:01 +03:00
Nikita Popov
49b97af431
Suppress some maybe uninit warnings in jit
2019-04-15 11:47:10 +02:00
Dmitry Stogov
39505764ad
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace "ZEND_CALL_CTOR" hack by additional live-range
2019-04-12 01:01:47 +03:00
Anatol Belski
853f881bd1
Avoid code duplication
2019-04-11 15:05:16 +02:00
Dmitry Stogov
6d232eec03
Improved code generated for RETURN in methpods and closures
2019-04-11 15:13:14 +03:00
Nikita Popov
9825d68c08
Use zend_quiet_write instead of ZEND_IGNORE_VALUE
...
Forgot this exists when I changed this earlier...
2019-04-11 12:24:10 +02:00
Nikita Popov
d31104facc
Mark zend_jit_print_regset as unused
...
This is a debugging function, so it's usually not going to be used
and we don't want to see a warning about that.
2019-04-11 11:05:42 +02:00
Nikita Popov
0351552e1e
Suppress write() warnings in jit_perf_dump.c
2019-04-11 11:00:38 +02:00
Dmitry Stogov
cc900edd77
Simplify call frame initialization
2019-04-11 02:08:32 +03:00
Dmitry Stogov
d374920e5e
Eliminated unreachable jumps
2019-04-10 11:18:59 +03:00
Dmitry Stogov
20548ab506
Removed too strict register allocation constraint.
2019-04-10 02:06:51 +03:00
Dmitry Stogov
2980de29f0
Don't split basic block after RECV, if function checks type hints
2019-04-09 21:59:47 +03:00
Dmitry Stogov
9c14cfdc78
Compare only "significant" bits
2019-04-09 11:28:29 +03:00
Xinchen Hui
c9fefb31fd
Fixed bug #77857 (Wrong result if executed with JIT)
2019-04-09 00:07:23 +08:00
Xinchen Hui
6322b6ffe7
Change to php.net mail address
2019-04-08 17:16:07 +08:00
David Carlier
914b27acb7
Fix few compiler warnings.
2019-04-08 00:00:09 +02:00
David Carlier
5247a0bc66
JIT register dump, fix BSD build.
2019-04-05 01:51:59 +03:00
Dmitry Stogov
df6709f480
Fixed JIT for === and !==
2019-04-05 01:12:34 +03:00
Javier Eguiluz
3b4d9f9d9e
Fixed a typo
2019-04-04 19:00:38 +02:00
Dmitry Stogov
21f249cfa4
Avoid code generation for BB with single VM instruction
2019-04-04 00:47:51 +03:00
Dmitry Stogov
a146e6eea7
jump optimization
2019-04-03 23:37:25 +03:00
Dmitry Stogov
34d5c1b16f
Fixed crash
2019-04-03 22:46:49 +03:00
Dmitry Stogov
fc28e9a0b3
Avoid useless code generation for RECV opcodes
2019-04-03 22:28:23 +03:00
Dmitry Stogov
22b3b6d5ea
Use inlined HYBRID VM handlers for DO_FCALL* and ZEND_RETRUN
2019-04-03 15:02:04 +03:00
Dmitry Stogov
3df8e27731
Fixed incorrect address usage
2019-04-03 13:05:09 +03:00
Dmitry Stogov
b9c639d7ac
JIT code improvement for ocache.jit=1 (IP consistency)
2019-04-03 03:56:39 +03:00
Dmitry Stogov
6cfa490786
Improve JIT code for smart branches
2019-04-03 02:00:54 +03:00
Dmitry Stogov
803d322240
Use fastcall calling convention
2019-04-02 22:10:57 +03:00
Dmitry Stogov
672d80f5dc
Fixed clang compiler warnings
2019-04-02 21:54:32 +03:00
Dmitry Stogov
12da21b1c1
Avoid NEW opcode inlining when opcache.jit=1
2019-04-02 18:44:58 +03:00
Dmitry Stogov
278c8e7b59
Avoid generation of dead jumps
2019-04-02 18:18:00 +03:00
Dmitry Stogov
0d6fce887b
Added comments
2019-04-02 15:41:25 +03:00
Christoph M. Becker
ba67d44e07
Fix misplacement of calling convention declaration
...
MSVC is particularly picky about this, and won't compile as it is.
2019-04-02 14:10:10 +02:00
Dmitry Stogov
b6dc1d2466
typo
2019-04-02 00:37:34 +03:00
Dmitry Stogov
4e1d545d47
Fixed edge cases in ZEND_ASSIGN_OP+ASSIGN_DIM and replaced specialized helpers with single one
2019-04-01 23:17:45 +03:00
Dmitry Stogov
8bf2de045b
Removed checks for required object handlers
2019-04-01 21:50:20 +03:00
Dmitry Stogov
d196ec9b93
Eliminate hash lookup for immutable op_arrays
2019-04-01 21:20:52 +03:00
Dmitry Stogov
6fccca54a2
Use Zend MM for JIT temporary buffres allocation
2019-04-01 19:22:22 +03:00
Dmitry Stogov
9a06876072
Added JIT compiler for x86 and x86_64
2019-04-01 10:27:11 +03:00