History log of /PHP-8.0/ext/opcache/Optimizer/sccp.c (Results 51 – 75 of 122)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


# 331e56ce 28-Jan-2019 Nikita Popov

Remove mbstring.func_overload

Deprecated in PHP 7.2 as part of
https://wiki.php.net/rfc/deprecations_php_7_2.


# a50198d0 15-Jan-2019 Nikita Popov

Implement ??= operator

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

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree

Implement ??= operator

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

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.

show more ...


# 3269e884 17-Jan-2019 Nikita Popov

Implement single-pass live range calculation

Instead of interleaving creation of live-ranges with the main
compiler code, compute them in a separate pass over the opcodes
as part of

Implement single-pass live range calculation

Instead of interleaving creation of live-ranges with the main
compiler code, compute them in a separate pass over the opcodes
as part of pass_two. Additionally, do not keep live ranges
synchronized during optimization in opcache and instead use the
same mechanism to recompute them after optimization.

show more ...


# e219ec14 07-Jan-2019 Nikita Popov

Implement typed properties

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

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwe

Implement typed properties

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

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>

show more ...


# 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.


# 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.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, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1
# 0bbfebb6 21-Aug-2018 Nikita Popov

Add SCCP support for ZEND_ARRAY_KEY_EXISTS


# 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


# 67e0138c 01-Nov-2018 Zeev Suraski

Future-proof email addresses...


# 902d39a3 13-Oct-2018 Peter Kokot

Trim trailing whitespace in source code files


# cfdd8281 07-Sep-2018 Nikita Popov

Fixed bug #76796


# d140df58 23-Aug-2018 Dmitry Stogov

Keep information about unresolved interfaces in zend_class_entry->interface_names.
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VER

Keep information about unresolved interfaces in zend_class_entry->interface_names.
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.

show more ...


# 67397970 22-Aug-2018 Dmitry Stogov

Replace zend_class_entry->traits by persistent zend_class_entry->trait_names.
Move trait binding code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_TRIAIT and ZEND_BIND_TRAITS opcodes.


Revision tags: php-7.1.21, php-7.2.9, php-7.3.0beta2
# 84b195d9 10-Aug-2018 Gabriel Caruso

Fix some misspellings


Revision tags: 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.


12345