#
cbf2d919 |
| 20-Feb-2018 |
Dmitry Stogov |
Separate cold paths of ISSET_ISEMPTY_DIM_OBJ
|
#
a3afad5a |
| 19-Feb-2018 |
Dmitry Stogov |
Added tracer to collect frequency of opcode handler call chains
|
#
b0af9ac7 |
| 16-Feb-2018 |
Nikita Popov |
Avoid live range references in opcodes Don't store the live range of the freed variable for FREE_ON_RETURN frees, instead look it up at runtime. As this is an extremely unlikely code
Avoid live range references in opcodes Don't store the live range of the freed variable for FREE_ON_RETURN frees, instead look it up at runtime. As this is an extremely unlikely codepath (in particular, it requires a loop variable with a throwing destructor), saving the runtime lookup of the live range is not worth the extra complexity this adds everywhere else.
show more ...
|
#
6fadb72c |
| 15-Feb-2018 |
Dmitry Stogov |
Move exceptional code into "cold" helpers
|
#
02aea893 |
| 15-Feb-2018 |
Dmitry Stogov |
Use Z_TYPE_INFO_REFCOUNTED() macro
|
Revision tags: php-7.2.3RC1, php-7.1.15RC1 |
|
#
ca035f26 |
| 05-Feb-2018 |
Dmitry Stogov |
Moved "zval.u2.cache_slot" into free room of "zend_op"
|
#
3a794d39 |
| 05-Feb-2018 |
Dmitry Stogov |
Avoid repeatable ARG_SHOULD_BE_SENT_BY_REF() checks in FETCH_*FUNC_ARG and following SEND_VAR_EX. Perform the check once in a new CHECK_FUNC_ARG opcode and reuse in the following FETCH_*FUNC_ARG and
Avoid repeatable ARG_SHOULD_BE_SENT_BY_REF() checks in FETCH_*FUNC_ARG and following SEND_VAR_EX. Perform the check once in a new CHECK_FUNC_ARG opcode and reuse in the following FETCH_*FUNC_ARG and SEND_FUNC_ARG (SEND_VAR_EX replacement).
show more ...
|
#
9a6100f9 |
| 02-Feb-2018 |
Dmitry Stogov |
Break dependency between IS_TYPE_REFCOUNTED and ZEND_CALL_FREE_EXTRA_ARGS
|
#
1d7eab12 |
| 31-Jan-2018 |
Dmitry Stogov |
Avoid redundand mask extraction
|
#
7141631c |
| 30-Jan-2018 |
Dmitry Stogov |
Change FETCH/ISSET instruction modifiers: - Get rid of ZEND_ISEMPTY and ZEND_ISSET_ISEMPTY_MASK. Use just single ZEND_ISSET bit to make distinct between isset() and empty() - Use ZEND_FETCH_G
Change FETCH/ISSET instruction modifiers: - Get rid of ZEND_ISEMPTY and ZEND_ISSET_ISEMPTY_MASK. Use just single ZEND_ISSET bit to make distinct between isset() and empty() - Use ZEND_FETCH_GLOBAL, ZEND_FETCH_LOCAL and ZEND_FETCH_GLOBAL_LOCK as bitmask - Removed unused ZEND_FETCH_STANDARD - Extended ZEND_FETCH_ARG_MASK
show more ...
|
Revision tags: php-7.1.14, php-7.2.2 |
|
#
1613b6a0 |
| 17-Jan-2018 |
Dmitry Stogov |
Expand SEPARATE_STRING()
|
#
25a44cb9 |
| 17-Jan-2018 |
Dmitry Stogov |
Eliminate duplication, increment_string() performs it anyway.
|
Revision tags: php-7.1.14RC1, php-7.2.2RC1 |
|
#
12c386f5 |
| 11-Jan-2018 |
Dmitry Stogov |
Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse. (reapply 781e1573afdc7c336b3577ceabc9c65cafea17e8, now
Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse. (reapply 781e1573afdc7c336b3577ceabc9c65cafea17e8, now it should be OK).
show more ...
|
#
6ba10a03 |
| 11-Jan-2018 |
Dmitry Stogov |
Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong)
Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong) This reverts commit 781e1573afdc7c336b3577ceabc9c65cafea17e8.
show more ...
|
#
781e1573 |
| 11-Jan-2018 |
Dmitry Stogov |
Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse.
|
Revision tags: php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27 |
|
#
64002648 |
| 31-Dec-2017 |
Gabriel Caruso |
Trailing whitespaces Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
|
#
a6519d05 |
| 02-Jan-2018 |
Xinchen Hui |
year++
|
#
7a7ec01a |
| 02-Jan-2018 |
Xinchen Hui |
year++
|
#
ccd4716e |
| 02-Jan-2018 |
Xinchen Hui |
year++
|
#
6e4d1892 |
| 26-Dec-2017 |
Dmitry Stogov |
Combine READY_TO_DESTROY, EXTRACT_ZVAL_PTR and FREE_OP_VAR_PTR into single, better optimized, macro.
|
#
35b3fdfd |
| 22-Dec-2017 |
Dmitry Stogov |
Separate exceptional code into cold functions.
|
#
3aceab82 |
| 14-Dec-2017 |
Dmitry Stogov |
Manual loop optimizaton. Cost of the loops body is still the same, but the loop headers are improved.
|
#
4d19bc22 |
| 14-Dec-2017 |
Dmitry Stogov |
Disable some "bad" GCC optimizations
|
Revision tags: php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, php-7.0.26, php-7.1.12RC1, php-7.2.0RC6, php-7.0.26RC1, php-7.1.11, php-5.6.32, php-7.2.0RC5, php-7.0.25, php-7.1.11RC1, php-7.2.0RC4, php-7.0.25RC1 |
|
#
6d4de4cf |
| 06-Oct-2017 |
David Walker |
Implement list() reference assignments Support list() reference assignments of the form: list(&$a, list(&$b, $c)) = $d; RFC: https://wiki.php.net/rfc/list_reference_ass
Implement list() reference assignments Support list() reference assignments of the form: list(&$a, list(&$b, $c)) = $d; RFC: https://wiki.php.net/rfc/list_reference_assignment
show more ...
|
#
6a9d2b21 |
| 07-Dec-2017 |
Dmitry Stogov |
Cleanup type conversion
|