History log of /PHP-7.4/ext/opcache/Optimizer/sccp.c (Results 1 – 25 of 89)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3f4bc94b 10-Jun-2021 Nikita Popov

Mitigation for bug #81096

This issue is properly fixed by GH-7121 on master. For older
branches, disable the use of range information in SCCP, to
reduce impact of potentially incorre

Mitigation for bug #81096

This issue is properly fixed by GH-7121 on master. For older
branches, disable the use of range information in SCCP, to
reduce impact of potentially incorrect ranges.

show more ...


# 7c6cf094 13-Apr-2021 twosee

Fixed bug #80900

SCCP optimization marks the wrong target feasible when the constant is of the incorrect type.

Closes GH-6861.


# 34f1266a 23-Mar-2020 Nikita Popov

Handle NULL caller_call_opline

This can happen if there is an EXIT in the call arguments, in which
case the DO_CALL opcode may be eliminated as unreachable.


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1
# b065fbde 19-Jul-2019 Dmitry Stogov

ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.


Revision tags: php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3
# 48ca5a1e 05-Jul-2019 Dmitry Stogov

Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP


Revision tags: php-7.3.7
# 4892bbc1 03-Jul-2019 Nikita Popov

Fixed bug #78230


Revision tags: php-7.2.20
# ca6f41aa 28-Jun-2019 Nikita Popov

Fix out of bounds read in sccp


Revision tags: php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30
# 89b2d886 24-May-2019 Nikita Popov

Register class before fetching parent

We want the class declaration to be available while compiling the
parent class.


# 61a38bb2 29-May-2019 Nikita Popov

SCCP: Fix leak when determining TYPE_CHECK from type info

As TYPE_CHECK is the only opcode where we do something like this,
I'm adding this hack.


# f19dd674 28-May-2019 Nikita Popov

SCCP: Fix handling of ASSIGN_OBJ_REF

The generic BOT handling is not away of OP_DATA, so need to handle
this opcode before we get to that.


# 6893f1f9 28-May-2019 Nikita Popov

SCCP: Don't perform partial object propagation for typed props


# dcccdc47 15-May-2019 Nikita Popov

Don't require NO_ESCAPE for partial arrays in SCCP


# 97ba6b0d 21-May-2019 Nikita Popov

Don't evaluate functions with partial array arguments


# 30f1b172 21-May-2019 Nikita Popov

Fix null check in sccp add_array_elem chain handling

We need to check result_use rather than result_def for a null zval.
Previously we were later assuming that the null zval is really a

Fix null check in sccp add_array_elem chain handling

We need to check result_use rather than result_def for a null zval.
Previously we were later assuming that the null zval is really a
partial array, which does not go well.

show more ...


# fc4836b1 21-May-2019 Nikita Popov

Fix partial array handling in FE_RESET edge feasibility


# cd188d03 21-May-2019 Nikita Popov

Handle partial arrays in zend_is_true() checks


# bdce5849 21-May-2019 Nikita Popov

Extract ct_eval_binary_op()

And use it in more places, though some of them are currently not
reachable by partial arrays to the best of my knowledge.


# 367788cb 21-May-2019 Nikita Popov

Improve SCCP debug code

In particular properly dump partial arrays when tracing execution.


# 9d76fbd0 15-May-2019 Nikita Popov

Fixed bug #78015

Don't try to evaluate various operations with partial array operands.
We could evaluate some of these, but let's be conservative for now...


Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3
# e829d087 06-Oct-2018 CHU Zhaowei

Implement spread operator in arrays

RFC: https://wiki.php.net/rfc/spread_operator_for_array

Closes GH-3640.


# db2ffcf1 23-Apr-2019 Dmitry Stogov

Optimize constant SWITCH_LONG and SWITCH_STRING


# c941f1d8 03-Apr-2019 Dmitry Stogov

Fixed SCCP support for ZEND_ASSIGN_OBJ_REF


# 3f00c936 04-Mar-2019 Nikita Popov

Fixed bug #77691

We cannot replace an op1_def opcode with an ASSIGN, if it also has
a used res_def. Usually this doesn't happen because the res_def use
can be eliminated first. The e

Fixed bug #77691

We cannot replace an op1_def opcode with an ASSIGN, if it also has
a used res_def. Usually this doesn't happen because the res_def use
can be eliminated first. The example is a case where operand replacement
on the res_def use fails.

show more ...


# da919a8b 05-Feb-2019 Dmitry Stogov

Remove copyright years.


# cf56832d 02-Feb-2019 Tyson Andre

Properly check for array_replace_recursive in sccp.c

Due to a typo, this code used to check for array_merge_recursive
twice.


1234