1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00
Commit Graph

48 Commits

Author SHA1 Message Date
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