History log of /PHP-7.3/ext/opcache/Optimizer/sccp.c (Results 1 – 25 of 68)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7
# 4892bbc1 03-Jul-2019 Nikita Popov

Fixed bug #78230


Revision tags: php-7.2.20, 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
# 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.


Revision tags: php-7.2.19, php-7.3.6, php-7.1.30
# 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
# 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 ...


Revision tags: php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2
# 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.


Revision tags: php-7.2.15RC1, php-7.3.2RC1
# ade702a0 10-Jan-2019 Nikita Popov

Fixed bug #77434

Mark arrays containing partial arrays as partial. This was already
done for the ADD_ARRAY_ELEMENT case, but not for ASSIGN_DIM.


Revision tags: php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14
# 6f75890e 07-Jan-2019 Nikita Popov

Fix one issue reported in bug #77310

SCCP did not handle array ASSIGN_* with a BOT operand correctly.


Revision tags: 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
# 4daa4138 02-Nov-2018 Nikita Popov

Fixed bug #77092

Weird that this worked for so long, probably because nearly all
ext/standard functions use fast ZPP rather than ordinary ZPP.


# 9afce019 01-Nov-2018 Zeev Suraski

Future-proof email addresses


Revision tags: php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4
# 902d39a3 13-Oct-2018 Peter Kokot

Trim trailing whitespace in source code files


Revision tags: php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32
# cfdd8281 07-Sep-2018 Nikita Popov

Fixed bug #76796


Revision tags: php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7
# 84d7d4e1 18-Jun-2018 Dmitry Stogov

Fixed bug #76466 (Loop variable confusion)


Revision tags: php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1
# 9e0f131d 31-May-2018 Dmitry Stogov

Fixed ISSET/ISEMPTY bit meaning to simplify run-time checks


# 5eb1f92f 28-May-2018 Dmitry Stogov

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


Revision tags: php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1
# c88be6ae 28-Apr-2018 Dmitry Stogov

Bit check micro-optimization


Revision tags: 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
# 33065777 24-Mar-2018 Nikita Popov

Followup fix for bug #75729

The case of overloaded substr() with 3 arguments was not handled.


Revision tags: php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1
# d9e71169 05-Feb-2018 Nikita Popov

Fixed bug #75729

Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection

Fixed bug #75729

Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection of mbstring function
overloading here, even if it's technically only about strlen()...

show more ...


# ca035f26 05-Feb-2018 Dmitry Stogov

Moved "zval.u2.cache_slot" into free room of "zend_op"


123