History log of /PHP-8.0/ext/opcache/Optimizer/block_pass.c (Results 1 – 25 of 223)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 229e80c6 20-Jun-2022 Dmitry Stogov

Fix memory leak

This fixes oss-fuzz #48051


Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24
# d3812ca4 19-Oct-2020 Nikita Popov

Fixed bug #80255

This was a copy&paste mistake, target_block was used where
follow_block was intended. Also update copy&paste mistakes in
the comments.


Revision tags: php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1
# 683c9884 07-Oct-2020 Nikita Popov

Fixed bug #80194

We should strip NOPs from unreachable_free blocks as well, to make
sure that the free really is the first op.


# 6ea870f5 05-Oct-2020 Nikita Popov

Fix bug #80184


Revision tags: php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1
# 8516434a 03-Sep-2020 Nikita Popov

Fixed bug #80046

We already protect against optimizing away loop frees in DFA pass,
but not in block pass.


# 04e77d2d 03-Sep-2020 Nikita Popov

Fixed bug #80046

We already protect against optimizing away loop frees in DFA pass,
but not in block pass.


Revision tags: php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1
# 9bf11983 24-May-2020 Ilija Tovilo

Implement nullsafe ?-> operator

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

Closes GH-5619.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>


Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17
# 9fa1d133 09-Apr-2020 Ilija Tovilo

Implement match expression

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

Closes GH-5371.


Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, 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, 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, php-7.2.19, php-7.3.6, php-7.1.30, 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
# d63eca28 18-Feb-2019 Tyson Andre

Fix miscellaneous typos in code comments/var names

Closes GH-5501


# 64b40f69 07-Feb-2020 Dmitry Stogov

Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.

This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should

Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.

This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".

Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"

show more ...


# 9ec1ee59 10-Jan-2020 Nikita Popov

Add support for deprecating constants

Internal constants can be marked as CONST_DEPRECATED, in which
case accessing them will throw a deprecation warning.

For now this is only s

Add support for deprecating constants

Internal constants can be marked as CONST_DEPRECATED, in which
case accessing them will throw a deprecation warning.

For now this is only supported on global constants, not class
constants. Complain to me if you need to deprecate a class
constant...

Closes GH-5072.

show more ...


# afdaa911 16-Jan-2020 Máté Kocsis

Fix #78880: Final spelling fixes


# 3360d05f 29-Nov-2019 Dmitry Stogov

Don't keep QM_ASSIGN with IS_UNUSED result


# 5197d0cd 14-Oct-2019 Dmitry Stogov

Reduced number of CFG pass iterations


# 3db5dc44 11-Oct-2019 Dmitry Stogov

JMP optimization cleanup.

Make JMP optimisation in pass3 and JMP optimization from CFG pass to be almost identical.


# 0cb977a6 10-Oct-2019 Dmitry Stogov

Fixed edge cases introduced by 170ed1f5a7b2f2f052445761080c96a3a3cfa884


# fa0a17a7 09-Oct-2019 Dmitry Stogov

Move ECHO handling into common switch


# fd69af38 09-Oct-2019 Dmitry Stogov

Cleanup JMP optimization. Remove duplicate code (conditional jums with constant operand) and outdated commented code.


# f6f32f2c 09-Oct-2019 Dmitry Stogov

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruct

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruction, the same information is encoded into SMART BRANH result_type.

show more ...


# 170ed1f5 09-Oct-2019 Dmitry Stogov

Otimize out useless QM_ASSIGN


# dc3c8c75 04-Oct-2019 Dmitry Stogov

Prefer optimization without JMPZNZ instruction


# a5465728 03-Oct-2019 Dmitry Stogov

Added missing rules


# 59c828a8 03-Oct-2019 Dmitry Stogov

Added missing rules


# cf33837d 25-Sep-2019 Dmitry Stogov

Cleanup CFG optimization


# af9b127f 13-Sep-2019 Dmitry Stogov

Make constant and copy propagation only for IS_TMP_VAR operands


123456789