Revision tags: php-7.3.0alpha2, php-7.1.19, php-7.2.7 |
|
#
1597b566 |
| 07-Jun-2018 |
Dmitry Stogov |
Inline few small opcode handlers into hybrid executor |
Revision tags: php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1, php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28 |
|
#
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 ...
|
Revision tags: php-7.2.3RC1, php-7.1.15RC1 |
|
#
5206f799 |
| 12-Feb-2018 |
Haitao Lv |
fix unknown opcode overflow error |
#
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 ...
|
#
ba298725 |
| 31-Jan-2018 |
Dmitry Stogov |
Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value) |
#
9c7fb529 |
| 31-Jan-2018 |
Dmitry Stogov |
Changed FETCH_CONSTANT instruction format (extended_value moved into op1) |
#
f67f455e |
| 31-Jan-2018 |
Dmitry Stogov |
Changed FETCH_CLASS instruction format (extended_value moved into op1) |
Revision tags: php-7.1.14, php-7.2.2, php-7.1.14RC1, php-7.2.2RC1 |
|
#
267b7855 |
| 16-Jan-2018 |
Dmitry Stogov |
Use fastcall calling convention |
Revision tags: php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27 |
|
#
a6519d05 |
| 02-Jan-2018 |
Xinchen Hui |
year++ |
#
5c8f8f8f |
| 29-Dec-2017 |
Dmitry Stogov |
Use ZEND_FAST_CONCAT instead of ZEND_CONCAT for CONST operands. |
#
f0104233 |
| 29-Dec-2017 |
Dmitry Stogov |
Use IS_EQUAL instead of CASE when first operand is CV or CONST. Removed CASE handlers that duplicated IS_EQUAL. |
#
27206f9c |
| 29-Dec-2017 |
Dmitry Stogov |
Removed useless specialization |
#
66a60417 |
| 15-Dec-2017 |
Dmitry Stogov |
Array addition is not commutative |
#
588f1df7 |
| 15-Dec-2017 |
Dmitry Stogov |
Remove duplicate handlers for commutative operations |
Revision tags: php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, l, 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 ...
|
#
91507ba6 |
| 06-Dec-2017 |
Dmitry Stogov |
Reduced VM code size. Made FETCH_DIM/OBJ_FUNC_ARG to dispatch ro corresponding FETCH_DIM/OBJ_R/_W handlers. Merged TMP and VAR specializations of ZEND_FETCH_OBJ_R. Allowed dispatching to
Reduced VM code size. Made FETCH_DIM/OBJ_FUNC_ARG to dispatch ro corresponding FETCH_DIM/OBJ_R/_W handlers. Merged TMP and VAR specializations of ZEND_FETCH_OBJ_R. Allowed dispatching to less specialized handelrs and helpers. (e.g. from OP_TMP_CONST to OP_TMPVAR_CONST).
show more ...
|
#
33b09447 |
| 23-Nov-2017 |
Dmitry Stogov |
TYPE_CHECK instruction changed. Now it keeps in extended_value a type mask. This makes check for "boolean" cheaper and allows check combination e.g. (is_string($a) || is_null($a)) |
Revision tags: php-7.1.10, php-7.2.0RC3, php-7.0.24, php-7.2.0RC2, php-7.1.10RC1, php-7.0.24RC1, php-7.1.9, php-7.2.0RC1, php-7.0.23, php-7.1.9RC1, php-7.2.0beta3, php-7.0.23RC1, php-7.1.8, php-7.2.0beta2, php-7.0.22, php-7.1.8RC1, php-7.2.0beta1, php-7.0.22RC1 |
|
#
1180d8c8 |
| 17-Jul-2017 |
Dmitry Stogov |
Separate ISSET_ISEMPTY_CV/UNSET_CV from ISSET_ISEMPTY_VAR/UNSET_VAR |
Revision tags: php-5.6.31, php-7.0.21, php-7.1.7, php-7.2.0alpha3, php-7.1.7RC1, php-7.0.21RC1, php-7.2.0alpha2, php-7.1.6, php-7.2.0alpha1, php-7.0.20 |
|
#
c015be13 |
| 30-May-2017 |
Dmitry Stogov |
Update opcode description |
#
6043f76a |
| 30-May-2017 |
Dmitry Stogov |
Added ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement corresponding builtin functions. Special optimisation for "array_slice(INT, func_get_args())" pattern. |
#
f00d1c72 |
| 25-May-2017 |
Dmitry Stogov |
Added ZEND_GET_CLASS, ZEMD_GET_CALLED_CLASS, ZEND_GET_TYPE instructions, to implement corresponding builtin functions. |
#
cd953269 |
| 25-May-2017 |
Dmitry Stogov |
Added ZEND_COUNT instruction, to implement corresponding builtin. |
#
7c738306 |
| 24-May-2017 |
Dmitry Stogov |
Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin function, through hash lookup in flipped array |
Revision tags: php-7.1.6RC1, php-7.0.20RC1, php-7.1.5, php-7.0.19, php-7.0.19RC1, php-7.1.5RC1, php-7.1.4, php-7.0.18, php-7.1.4RC1, php-7.0.18RC1 |
|
#
ad865281 |
| 17-Mar-2017 |
Nikita Popov |
Implement jumptable optimization |