#
c4508422 |
| 10-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fix GH-10801: Named arguments in CTE functions cause a segfault
|
#
2c53d631 |
| 08-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-10801: Named arguments in CTE functions cause a segfault Fixes GH-10801 Named arguments are not supported by the constant evaluation routine, in the sense that they are i
Fix GH-10801: Named arguments in CTE functions cause a segfault Fixes GH-10801 Named arguments are not supported by the constant evaluation routine, in the sense that they are ignored. This causes two issues: - It causes a crash because not all oplines belonging to the call are removed, which results in SEND_VA{L,R} which should've been removed. - It causes semantic issues (demonstrated in the test case). This case never worked anyway, leading to crashes or incorrect behaviour, so just prevent CTE of calls with named parameters for now. We can choose to support it later, but introducing support for this in a stable branch seems too dangerous. This patch does not change the removal of SEND_* opcodes in remove_call because the crash bug can't be triggered anymore with this patch as there are no named parameters anymore and no variadic CTE functions exist. Closes GH-10811.
show more ...
|
#
fa75bd07 |
| 20-Jun-2022 |
Dmitry Stogov |
Fix incorrect constant propagation for VERIFY_RETURN_TYPE This fixes oss-fuzz #48104 |
#
5a855ee8 |
| 02-Jun-2022 |
Ilija Tovilo |
Fix GH-8661: Nullsafe in coalesce triggers undefined variable warning Closes GH-8690 |
#
462d00f5 |
| 16-May-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix memory leak
|
#
c430116a |
| 16-May-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fix memory leak
|
#
332bd037 |
| 13-May-2022 |
Arnaud Le Blanc |
Do not optimize out ini_get() when the entry does not exist during compilation (#8507) The entry may exist later if dl is enabled Fixes GH-8466 |
#
6ed3b57e |
| 18-Apr-2022 |
Dmitry Stogov |
Fix incorrect constant propagation for VERIFY_RETURN_TYPE Fixes oss-fuzz #46616 |
#
bf079d05 |
| 11-Mar-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fixed memory leak
|
#
1f5562aa |
| 11-Mar-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fixed memory leak
|
#
2af33234 |
| 28-Jan-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix too aggressive DCE that leads to memory leak
|
#
34c2324f |
| 28-Jan-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fix too aggressive DCE that leads to memory leak
|
#
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 ...
|
#
4d907a6b |
| 10-Jan-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fixed NAN handling in SCCP
|
#
906cb52c |
| 10-Jan-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fixed NAN handling in SCCP
|
#
e45653c0 |
| 26-Dec-2021 |
Nikita Popov |
Make sure SCCP can evaluate all functions pass1 can Move evaluation of ini_get() into eval_special_func_call() and use this helper both in pass1 and sccp. |
#
c4334fc6 |
| 26-Dec-2021 |
Nikita Popov |
Remove special chr/count handling in sccp function evaluation These can be handled by the generic code. Worth noting that count will usually go through ZEND_COUNT, and chr on constants i
Remove special chr/count handling in sccp function evaluation These can be handled by the generic code. Worth noting that count will usually go through ZEND_COUNT, and chr on constants is evaluated in the compiler, so these are not particularly compile-time sensitive either.
show more ...
|
#
7eae7e5e |
| 25-Dec-2021 |
Nikita Popov |
Remove FETCH_CLASS+INSTANCEOF special case Instead propagate the FETCH_CLASS return value, so it can be directly replaced if possible, which will also eliminate the FETCH_CLASS subse
Remove FETCH_CLASS+INSTANCEOF special case Instead propagate the FETCH_CLASS return value, so it can be directly replaced if possible, which will also eliminate the FETCH_CLASS subsequently.
show more ...
|
#
92e7cf59 |
| 25-Dec-2021 |
Nikita Popov |
Move FETCH_CLASS+INSTANCEOF special case out of update_op1_const() The generic code was rejecting this to go into a special code path in SCCP. We should directly do that in SCCP instead,
Move FETCH_CLASS+INSTANCEOF special case out of update_op1_const() The generic code was rejecting this to go into a special code path in SCCP. We should directly do that in SCCP instead, to still allow the generic (and valid) replacement.
show more ...
|
#
98dfde2c |
| 25-Dec-2021 |
Nikita Popov |
Remove unnecessary INSTANCEOF special case in sccp While we can't replace the instanceof operand, we will evaluate the instanceof to false and replace its result anyway. Even in case
Remove unnecessary INSTANCEOF special case in sccp While we can't replace the instanceof operand, we will evaluate the instanceof to false and replace its result anyway. Even in cases where the instanceof user cannot be replaced, we already have generic code to convert the opcode to QM_ASSIGN in that case.
show more ...
|
#
36dafade |
| 25-Dec-2021 |
Nikita Popov |
Remove unnecessary try_replace_op1() special cases update_op1_const() can handle these nowadays. |
#
8b235380 |
| 24-Dec-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix memory leak in SCCP
|
#
b2939b63 |
| 24-Dec-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fix memory leak in SCCP
|
#
32e2d97a |
| 20-Dec-2021 |
Tyson Andre |
Allow internal functions to declare if they support compile-time evaluation, add functions. (#7780) https://wiki.php.net/rfc/strtolower-ascii means that these functions no longer depend
Allow internal functions to declare if they support compile-time evaluation, add functions. (#7780) https://wiki.php.net/rfc/strtolower-ascii means that these functions no longer depend on the current locale in php 8.2. Before that, this was unsafe to evaluate at compile time. Followup to GH-7506 Add strcmp/strcasecmp/strtolower/strtoupper functions Add bin2hex/hex2bin and related functions Update test of garbage collection using strtolower to use something else to create a refcounted string
show more ...
|
#
2337c051 |
| 13-Dec-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix incorrect optimization that leads to memory leak
|