#
97e6c543 |
| 06-Feb-2024 |
Ilija Tovilo |
Fix RC inference narrowing for ASSIGN_OBJ Fixes oss-fuzz #66519 Closes GH-13345
|
#
631bc816 |
| 06-Feb-2024 |
Ilija Tovilo |
Implement stackless internal function calls Co-authored-by: Dmitry Stogov <dmitry@zend.com> Closes GH-12461
|
#
f91833d2 |
| 05-Feb-2024 |
Ilija Tovilo |
Fix RC inference for DECLARE_LAMBDA_FUNCTION It doesn't seem like the VM can return RCn. However, the JIT fails without it. I'll need to look into this more closely.
|
#
79e8f20e |
| 01-Feb-2024 |
Ilija Tovilo |
Add type inference for various missing opcodes Closes GH-13304
|
#
77bc863e |
| 01-Feb-2024 |
Ilija Tovilo |
Improve ZEND_FETCH_CLASS_STATIC static inference for final classes Same as 95f7335.
|
#
668edf2c |
| 24-Jan-2024 |
Ilija Tovilo |
Improve ASSIGN_OBJ RC inference ASSIGN_OBJ may only modify RC if it implements __set. Closes GH-13237
|
#
b06311cb |
| 24-Jan-2024 |
Ilija Tovilo |
Improve ZEND_NEW RC inference ZEND_NEW returns RC1 if the instanciated class has no constructor. Closes GH-13239
|
#
3a5edcca |
| 29-Jan-2024 |
Ilija Tovilo |
Fix create_object checks Since PHP 8.3, object handlers may be changed by setting ce->default_object_handlers, rather than in ce->create_object. Some checks need to be extended to ch
Fix create_object checks Since PHP 8.3, object handlers may be changed by setting ce->default_object_handlers, rather than in ce->create_object. Some checks need to be extended to check for the default handlers. Closes GH-13272
show more ...
|
#
34e2dc56 |
| 29-Jan-2024 |
Ilija Tovilo |
Improve is_instanceof inference (#13238) When a class is final, it may be treated as !is_instanceof.
|
#
6f6289ca |
| 23-Jan-2024 |
Ilija Tovilo |
Avoid new SSA var for ASSIGN_OBJ_REF without RC inference Previously, this variable was necessary because of auto-vivification on UNDEF/null/false. It's now only used for RC inference, a
Avoid new SSA var for ASSIGN_OBJ_REF without RC inference Previously, this variable was necessary because of auto-vivification on UNDEF/null/false. It's now only used for RC inference, as auto-vivification has been removed. This implicitly solves an inference problem for $obj->bar &= $obj; where we get a new variable for both literal references to $obj, with the first one getting the RCn flag, and the second one getting the MAY_BE_REFERENCE flag. Thus, the first variable will be missing the reference type, causing a false-positive type inference warning. If we want to verify RC inference at some point we'll need a better solution. Closes GH-13233
show more ...
|
#
cb1e8429 |
| 06-Nov-2023 |
Ilija Tovilo |
Fix inference of COPY_TMP Since GH-11592 COPY_TMP may receive and thus define references. Unfortunately, the name COPY_TMP is no longer accurate. Closes GH-12619
|
#
1c95e227 |
| 02-Nov-2023 |
Dmitry Stogov |
Fixed HASH/PACKED array inference through MAY_BE_ARRAY_EMPTY flag (#12591) * Fixed HASH/PACKED array inference through MAY_BE_ARRAY_EMPTY flag This fixes GH-12527 * typo
|
#
bd185c3d |
| 26-Oct-2023 |
Dmitry Stogov |
Implement iterative Pearce's SCC finding algoritm (#12528) * Switch to Pearce's SCC algorithm * Implement iterative Pearce's SCC algorithm * Wrap "goto" with "#ifdef SYM_RA
Implement iterative Pearce's SCC finding algoritm (#12528) * Switch to Pearce's SCC algorithm * Implement iterative Pearce's SCC algorithm * Wrap "goto" with "#ifdef SYM_RANGE"
show more ...
|
#
ce269178 |
| 26-Oct-2023 |
Dmitry Stogov |
Fixed code generation for DETCH_DIM_R Fixes oss-fuzz #63613 and #63619
|
#
d8696f92 |
| 17-Jul-2023 |
George Peter Banyard |
[RFC] Path to Saner Increment/Decrement operators (#10358) * Add behavioural tests for incdec operators * Add support to ++/-- for objects castable to _IS_NUMBER * Add str_
[RFC] Path to Saner Increment/Decrement operators (#10358) * Add behavioural tests for incdec operators * Add support to ++/-- for objects castable to _IS_NUMBER * Add str_increment() function * Add str_decrement() function RFC: https://wiki.php.net/rfc/saner-inc-dec-operators Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com> Co-authored-by: Arnaud Le Blanc <arnaud.lb@gmail.com>
show more ...
|
#
3d944a36 |
| 09-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Update type inference for ZEND_STRLEN Since PHP 8.0, this cannot return NULL anymore, the only possible return value is long. See https://wiki.php.net/rfc/consistent_type_errors.
|
#
838d80e7 |
| 09-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Update type inference for ZEND_GET_CLASS and ZEND_GET_CALLED_CLASS These cannot return false anymore since PHP 8.0.
|
#
0b1d750d |
| 11-Aug-2022 |
Ilija Tovilo |
Allow arbitrary expressions in static variable initializer Closes GH-9301
|
#
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 ...
|
#
d2cdfdbe |
| 04-Feb-2023 |
rj1 |
fixed some misspellings (#10503)
|
#
2f4973fd |
| 16-Jan-2023 |
Christoph M. Becker |
Revert GH-10279 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit 45a128c9de93bf60956102d85d15f1fe8913bb70. This reverts commit 1eb71c
Revert GH-10279 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit 45a128c9de93bf60956102d85d15f1fe8913bb70. This reverts commit 1eb71c3f155a42ad6867cd5e2f6d921a99506a37. This reverts commit 492523a779dced91eb09215183287e0856b693bf. This reverts commit c7a4633891392d16d40b08135598807b3f0443b0. This reverts commit 308adb915c1b659ab377f752fb27b408a455d7ed. This reverts commit cd27d5e07f01172ac8a701996d260a731489d856. This reverts commit c5933409b47bea760977cf9c9ea04cbb63aaafe5. This reverts commit 46371f4eb339f7e7615a8732d61f2369f8d9129e. This reverts commit 623e2e9fc6a23b8eb7f22010eaf99bf6f638917d. This reverts commit e7434c124772c05fe836832e02196d50bec10c23. This reverts commit d28d323ca20976ed776171330b90588cc3857dd6. This reverts commit 1a067b84ee423a6fb06a5debd92b4cafefeac4e4. This reverts commit a55c0c5fc3f624a685f42281df26cf87f445be43. This reverts commit b5aeb3a4d40dbf38da65975d12b9d2c593b83bdd. This reverts commit f061a035e44d3f6bbc71774f2101525d74fbf16f. This reverts commit b088575119b3244a4d08f6a300251111a221c66b. This reverts commit b1d48774a79592e7fb1ba85d3a2bd6717f25acec. This reverts commit 94f9a20ce6451b54e8346cc474de6b4f9b8897a4. This reverts commit 4831e48708e19346ace0fa5f3f085ee8afd43267. This reverts commit cd985de190534c8e3567a4c5547eb98c45337fa0. This reverts commit 9521d21681b22a471f21b3c56e32b883acac3301. This reverts commit d6136151e9f7fc40e753ac0ebe1790e0d0371b6b.
show more ...
|
#
492523a7 |
| 04-Jan-2023 |
Max Kellermann |
Zend/zend_inference: include cleanup
|
#
efd5ecb0 |
| 03-Jan-2023 |
Max Kellermann |
Zend/Optimizer/zend_inference: make several pointers const This allows removing several deconst casts from the JIT.
|
#
b33e3eb8 |
| 16-Jan-2024 |
Dmitry Stogov |
Fix zend_may_throw() for FETCH_DIM_IS and ISSET_ISEMPTY_DIM_OBJ Recentlty this insructions were updated to emit warning on inability to convert double index to long. This may lead to exc
Fix zend_may_throw() for FETCH_DIM_IS and ISSET_ISEMPTY_DIM_OBJ Recentlty this insructions were updated to emit warning on inability to convert double index to long. This may lead to exception. This fixes memory leak on wordpress test suite (nightly workflow)
show more ...
|
#
731734da |
| 18-Dec-2023 |
Dmitry Stogov |
Fixed type inference Fixes oss-fuzz #65150
|