History log of /php-src/Zend/zend_vm_opcodes.c (Results 51 – 75 of 150)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 6d88e1cc 21-Aug-2018 Dmitry Stogov

Don't use second operand of BIND_STATIC instruction.

# fd463a9a 17-Aug-2018 Xinchen Hui

Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed).

# f950128c 25-Jul-2018 Dmitry Stogov

Encode parent class name as IS_CONST operand in DECLARE_INHERITED_CLASS and DECLARE_ANON_INHERITED_CLASS opcodes (eliminate FETCH_CLAS
S opcode).

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.

123456