#
916fa73d |
| 01-Nov-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.2' into PHP-8.3 * PHP-8.2: Fixed inorrect QM_ASSIGN elimination
|
#
125dbb2c |
| 01-Nov-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fixed inorrect QM_ASSIGN elimination
|
#
19dfe05f |
| 01-Nov-2023 |
Dmitry Stogov |
Fixed inorrect QM_ASSIGN elimination Fixes oss-fuzz #63771 |
#
79a8cf1b |
| 31-Jul-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.2' * PHP-8.2: Fixed incorrect QM_ASSIGN elimination
|
#
91dc3e15 |
| 31-Jul-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fixed incorrect QM_ASSIGN elimination
|
#
b5f8a727 |
| 31-Jul-2023 |
Dmitry Stogov |
Fixed incorrect QM_ASSIGN elimination Fixes OSS Fuzz #60895 |
#
869ecf53 |
| 24-Jul-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.2' * PHP-8.2: Fixed incorrect QM_ASSIGN elimination
|
#
d6a795b9 |
| 24-Jul-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fixed incorrect QM_ASSIGN elimination
|
#
9fc0eab4 |
| 24-Jul-2023 |
Dmitry Stogov |
Fixed incorrect QM_ASSIGN elimination Fixes OSS Fuzz #60735 |
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3 |
|
#
0b1d750d |
| 11-Aug-2022 |
Ilija Tovilo |
Allow arbitrary expressions in static variable initializer Closes GH-9301 |
#
24ff7eee |
| 22-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Merge branch 'PHP-8.2' * PHP-8.2: Fix GH-11245 (In some specific cases SWITCH with one default statement will cause segfault)
|
#
f6563442 |
| 22-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fix GH-11245 (In some specific cases SWITCH with one default statement will cause segfault)
|
#
5cad1a71 |
| 16-May-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11245 (In some specific cases SWITCH with one default statement will cause segfault) The block optimizer pass allows the use of sources of the preceding block if the block is a fo
Fix GH-11245 (In some specific cases SWITCH with one default statement will cause segfault) The block optimizer pass allows the use of sources of the preceding block if the block is a follower and not a target. This causes issues when trying to remove FREE instructions: if the source is not in the block of the FREE, then the FREE and source are still removed. Therefore the other successor blocks, which must consume or FREE the temporary, will still contain the FREE opline. This opline will now refer to a temporary that doesn't exist anymore, which most of the time results in a crash. For these kind of non-local scenarios, we'll let the SSA based optimizations handle those cases. Closes GH-11251.
show more ...
|
#
22d5d146 |
| 27-Mar-2023 |
Dmitry Stogov |
Merge branch 'PHP-8.2' * PHP-8.2: Fix incorrect optimization
|
#
1f5d9534 |
| 27-Mar-2023 |
Dmitry Stogov |
Fix incorrect optimization Fixes oss-fuzz #57482 |
#
d5c649b3 |
| 23-Feb-2023 |
Max Kellermann |
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleadi
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleading, so let's use a C99 integer instead. On all architectures currently supported by PHP, `zend_uchar` and `uint8_t` are identical. This change is only about code readability.
show more ...
|
#
385f410e |
| 16-Jan-2023 |
David Carlier |
Merge branch 'PHP-8.1' into PHP-8.2
|
#
dfe9c2af |
| 15-Jan-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix incorrect comparison in block optimization pass We're in the case of ZEND_JMPZ_EX or ZEND_JMPNZ_EX. The opcode gets overwritten and only after the overwriting gets checked if we're i
Fix incorrect comparison in block optimization pass We're in the case of ZEND_JMPZ_EX or ZEND_JMPNZ_EX. The opcode gets overwritten and only after the overwriting gets checked if we're in a JMPZ or JMPNZ case. This results in a wrong optimization. Close GH-10329
show more ...
|
#
04645242 |
| 26-Dec-2022 |
Dmitry Stogov |
Fix memory leak because of incorrect optimization Fixes oss-fuzz #54488 |
Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1 |
|
#
3d4a55fe |
| 20-Jun-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix memory leak
|
#
ee17296e |
| 20-Jun-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fix memory leak
|
Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17 |
|
#
df14a078 |
| 11-Mar-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Optimizer: Fix inorrect constant substitution in FETCH_LIST_R
|
#
770a544a |
| 11-Mar-2022 |
Dmitry Stogov |
Optimizer: Fix inorrect constant substitution in FETCH_LIST_R Fixes oss-fuzz #45429 |
Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1 |
|
#
4543cd32 |
| 30-Dec-2021 |
Nikita Popov |
Remove JMPZNZ opcode While JMPZNZ can avoid execution of a separate JMP opcode in some cases, it also prevents smart branch optimization, so creating JMPZNZ may actually have a negat
Remove JMPZNZ opcode While JMPZNZ can avoid execution of a separate JMP opcode in some cases, it also prevents smart branch optimization, so creating JMPZNZ may actually have a negative effect. It also adds additional complexity for optimizations. Drop JMPZNZ in favor of JMPZ+JMP or JMPNZ+JMP. Closes GH-7857.
show more ...
|
#
0698bf79 |
| 30-Dec-2021 |
Nikita Popov |
Add helper for convertion to CHECK_VAR/FREE/NOP This is a recurring pattern whenever an instruction with an operand is deleted. |