Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Use guard to check if array is packed or hash | Dmitry Stogov | 2020-08-26 | 1 | -4/+48 | |
| | ||||||
* | Prevent negative array index access | Dmitry Stogov | 2020-08-26 | 1 | -3/+10 | |
| | ||||||
* | Merge branch 'jit_match' | Dmitry Stogov | 2020-08-25 | 1 | -0/+3 | |
|\ | | | | | | | | | | | * jit_match: Support for CASE_STRICT JIT for MATCH and CASE_STRICT instructions | |||||
| * | JIT for MATCH and CASE_STRICT instructions | Dmitry Stogov | 2020-08-25 | 1 | -0/+3 | |
| | | ||||||
* | | Record information about packed arrays | Dmitry Stogov | 2020-08-25 | 1 | -2/+8 | |
| | | ||||||
* | | Move AVOID_REFCOUNTING type info flag into a separate bit | Dmitry Stogov | 2020-08-25 | 1 | -5/+10 | |
|/ | ||||||
* | cleanup unused parameters | Dmitry Stogov | 2020-08-20 | 1 | -52/+51 | |
| | ||||||
* | Shrink live intervals of IS_VAR/IS_TMP_VAR | Dmitry Stogov | 2020-08-19 | 1 | -3/+25 | |
| | ||||||
* | Fixed register allocation for CASE instruction. CASE don't destroy first ↵ | Dmitry Stogov | 2020-08-18 | 1 | -0/+4 | |
| | | | | operand and it may be used later in VM or different trace. | |||||
* | Don't add guard for empty() | Dmitry Stogov | 2020-08-18 | 1 | -0/+6 | |
| | ||||||
* | JIT extension may be NULL | Dmitry Stogov | 2020-08-18 | 1 | -2/+2 | |
| | ||||||
* | Fixed support for named arguments | Dmitry Stogov | 2020-08-18 | 1 | -1/+2 | |
| | ||||||
* | Fixed trace type inference for FE_FETCH_R/RW | Dmitry Stogov | 2020-08-17 | 1 | -1/+9 | |
| | ||||||
* | Fixed support for possible indirect variable modification ↵ | Dmitry Stogov | 2020-08-17 | 1 | -1/+9 | |
| | | | | (ext/standard/tests/array/bug77135.phpt failure). | |||||
* | JIT for ZEND_ISSET_ISEMPTY_CV | Dmitry Stogov | 2020-08-17 | 1 | -0/+36 | |
| | ||||||
* | Fixed JIT for indirectly recursive traces | Dmitry Stogov | 2020-08-17 | 1 | -2/+13 | |
| | ||||||
* | Properly patch jmp tables | Dmitry Stogov | 2020-08-17 | 1 | -1/+5 | |
| | ||||||
* | Implement named parameters | Nikita Popov | 2020-07-31 | 1 | -0/+21 | |
| | | | | | | | | | | | | | | | | | | From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357. | |||||
* | Remove more unused func_info fields | Nikita Popov | 2020-07-30 | 1 | -6/+0 | |
| | ||||||
* | Clear result type for exit point caused by JMPZ_EX/NZ_EX | Dmitry Stogov | 2020-07-30 | 1 | -1/+10 | |
| | ||||||
* | Don't skip fcall guard for method calls from trait | Dmitry Stogov | 2020-07-30 | 1 | -0/+8 | |
| | ||||||
* | Temporary disable abstract test usage for inferring previous type of ↵ | Dmitry Stogov | 2020-07-29 | 1 | -0/+12 | |
| | | | | variables (previous value may be in CPU register and type of the stack slot may be inconsistent). | |||||
* | Fixed live-range interval construction (close all frames) | Dmitry Stogov | 2020-07-29 | 1 | -0/+16 | |
| | ||||||
* | Use inline function instead of macro | Dmitry Stogov | 2020-07-29 | 1 | -11/+24 | |
| | ||||||
* | Fixed incorrect reuse of exit_point | Dmitry Stogov | 2020-07-28 | 1 | -1/+2 | |
| | ||||||
* | Check for EG(exception) after leaving function frame | Dmitry Stogov | 2020-07-28 | 1 | -1/+7 | |
| | ||||||
* | Move asserts to better places | Dmitry Stogov | 2020-07-28 | 1 | -3/+4 | |
| | ||||||
* | Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by ↵ | Dmitry Stogov | 2020-07-28 | 1 | -4/+11 | |
| | | | | opcache.jit_max_exit_counters configuration directive | |||||
* | Update abstarct stack before guard to keep proper type in side trace | Dmitry Stogov | 2020-07-28 | 1 | -0/+1 | |
| | ||||||
* | Fixed incorrect side exit opline of "fake" init_fcall guard | Dmitry Stogov | 2020-07-27 | 1 | -8/+21 | |
| | ||||||
* | Correct assertion | Dmitry Stogov | 2020-07-27 | 1 | -1/+9 | |
| | ||||||
* | Fixed incorrect abstract stack size calculation | Dmitry Stogov | 2020-07-27 | 1 | -1/+1 | |
| | ||||||
* | Properly cleanup in case of abort because too many functions in single trace. | Dmitry Stogov | 2020-07-27 | 1 | -0/+2 | |
| | ||||||
* | Prevent setting of incorrect continuation counters | Dmitry Stogov | 2020-07-27 | 1 | -2/+0 | |
| | ||||||
* | type in comment | Dmitry Stogov | 2020-07-27 | 1 | -1/+1 | |
| | ||||||
* | Cleanup abstract test usage | Dmitry Stogov | 2020-07-23 | 1 | -39/+31 | |
| | ||||||
* | Allow keeping result of FETCH_DIM_R in CPU register | Dmitry Stogov | 2020-07-23 | 1 | -3/+4 | |
| | ||||||
* | We track only arguments of user functions on abstract stack | Dmitry Stogov | 2020-07-23 | 1 | -1/+2 | |
| | ||||||
* | Separate and fix deoptimization code generator | Dmitry Stogov | 2020-07-22 | 1 | -126/+149 | |
| | ||||||
* | Prevent incorrect trasing JIT TSSA usage for range() result type inference | Dmitry Stogov | 2020-07-22 | 1 | -0/+1 | |
| | ||||||
* | Drop no-op dasm_growpc() call | Nikita Popov | 2020-07-22 | 1 | -1/+0 | |
| | | | | | This doesn't do anything, as maxpc=0 is passed. However, ubsan complains about the memset of a null pointer, so avoid it. | |||||
* | Keep CPU regesters used by deoptimizer | Dmitry Stogov | 2020-07-20 | 1 | -1/+2 | |
| | ||||||
* | Side exit on overflow | Dmitry Stogov | 2020-07-17 | 1 | -0/+5 | |
| | ||||||
* | Eliminate useless exception checks | Dmitry Stogov | 2020-07-17 | 1 | -0/+2 | |
| | ||||||
* | Eliminate some reference-counting | Dmitry Stogov | 2020-07-17 | 1 | -2/+24 | |
| | ||||||
* | cleanup | Dmitry Stogov | 2020-07-16 | 1 | -6/+3 | |
| | ||||||
* | cleanup | Dmitry Stogov | 2020-07-16 | 1 | -6/+1 | |
| | ||||||
* | Check type guard on result of FETCH_OBJ_R/IS instructions | Dmitry Stogov | 2020-07-16 | 1 | -1/+4 | |
| | ||||||
* | Fixed tracing JIT for ASSIGN to typed reference | Dmitry Stogov | 2020-07-16 | 1 | -0/+3 | |
| | ||||||
* | Check type guard on result of FETCH_DIM_R/IS instructions | Dmitry Stogov | 2020-07-15 | 1 | -11/+87 | |
| |