#
ffc250d2 |
| 09-Jan-2024 |
Ilija Tovilo |
Add runtime type inference verification Co-authored-by: Dmitry Stogov <dmitry@zend.com> Closes GH-12930
|
#
d84ed03a |
| 13-Jan-2024 |
Máté Kocsis |
Improve error messages related to void/never return types of methods
|
#
6aa70b57 |
| 10-Dec-2023 |
Arnaud Le Blanc |
WS
|
#
b1516d95 |
| 11-Nov-2023 |
Arnaud Le Blanc |
Clarify the stack limit exception message Make it clearer why the size is not exactly zend.max_allowed_stack_size
|
#
e94ab046 |
| 27-Nov-2023 |
Gina Peter Banyard |
Align error messages between normal VM and JIT for RW when using object as array (#12799)
|
#
692cea5c |
| 13-Sep-2023 |
Ilija Tovilo |
Use zend_error_noreturn for E_ERROR consistently To be clear, these already don't return. zend_error_noreturn just hints at this fact through the ZEND_NORETURN attribute. Closes
Use zend_error_noreturn for E_ERROR consistently To be clear, these already don't return. zend_error_noreturn just hints at this fact through the ZEND_NORETURN attribute. Closes GH-12204
show more ...
|
#
2778b5d2 |
| 24-Jul-2023 |
David CARLIER |
zend vm savee registers support for riscv 64. (#11773) x8 being already reserved, we can only pull x18 to x27.
|
#
c322da06 |
| 18-Jul-2023 |
Máté Kocsis |
Fix misleading pass by reference error message (#10639)
|
#
1a0ef2c1 |
| 06-Jul-2023 |
Ilija Tovilo |
Revert "Remove name field from the zend_constant struct (#10954)" This reverts commit f42992f580343931434dff2e4b2042ff945b48a1. Closes GH-11604
|
#
ad1b70d6 |
| 04-Jul-2023 |
Ilija Tovilo |
Revert "Revert "Remove name field from the zend_constant struct (#10954)"" This reverts commit 9f4bd3040d2809f209d73f696b21302f311665b7.
|
#
9f4bd304 |
| 03-Jul-2023 |
Máté Kocsis |
Revert "Remove name field from the zend_constant struct (#10954)" This reverts commit f42992f580343931434dff2e4b2042ff945b48a1. Fix GH-11423
|
#
99fa740a |
| 06-Jun-2023 |
George Peter Banyard |
Use common function for TypeError on illegal offset access (#10544) This merges all usages of emitting an offset TypeError into a new ZEND_API function zend_illegal_container_offset(cons
Use common function for TypeError on illegal offset access (#10544) This merges all usages of emitting an offset TypeError into a new ZEND_API function zend_illegal_container_offset(const zend_string* container, const zval *offset, int type); Where the container should represent the type on which the access is attempted (e.g. string, array) The offset zval that is used, where the error message will display its type The type of access, which should be a BP_VAR_* constant, to get special message for isset/empty/unset
show more ...
|
#
f5c54fd8 |
| 23-May-2023 |
Ilija Tovilo |
Fix access on NULL pointer in array_merge_recursive() Closes GH-11303
|
#
414f71a9 |
| 16-Apr-2023 |
Máté Kocsis |
Typed class constants (#10444) RFC: https://wiki.php.net/rfc/typed_class_constants Co-Authored-By: Ben <7127204+moliata@users.noreply.github.com> Co-Authored-By: Bob Weinand <31
Typed class constants (#10444) RFC: https://wiki.php.net/rfc/typed_class_constants Co-Authored-By: Ben <7127204+moliata@users.noreply.github.com> Co-Authored-By: Bob Weinand <3154871+bwoebi@users.noreply.github.com> Co-Authored-By: Ilija Tovilo <ilija.tovilo@me.com>
show more ...
|
#
0c65b396 |
| 10-Apr-2023 |
Dmitry Stogov |
Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties (#11048)
|
#
fdbea4f3 |
| 03-Mar-2023 |
Ilija Tovilo |
Add GC_DTOR/GC_DTOR_NO_REF macros
|
#
b39107c7 |
| 16-Feb-2023 |
Ilija Tovilo |
Delay destructor for zend_assign_to_typed_ref
|
#
915b2837 |
| 16-Feb-2023 |
Dmitry Stogov |
Delay freeing of overwritten values in assignments Fixes GH-10168
|
#
f42992f5 |
| 03-Apr-2023 |
Máté Kocsis |
Remove name field from the zend_constant struct (#10954) As global constant names are case-sensitive now, we don't have to store them separately above the constant table.
|
#
6a6e91f3 |
| 22-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Shrink some commonly used structs by reordering members (#10880) Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will
Shrink some commonly used structs by reordering members (#10880) Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will be a hole created by the compiler in the struct, which is wasted space. This patch reorders some of the most commonly used structs, but in such a way that the fields which were in the same cache line still belong together. The only exception to this is exception_ignore_args, which was temporally not close to nearby members, and as such I placed it further up to close a hole. On 64-bit Linux this gives us the following shrinks: * zend_op_array: 248 -> 240 * zend_ssa_var: 56 -> 48 * zend_ssa_var_info: 48 -> 40 * php_core_globals: 672 -> 608 * zend_executor_globals: 1824 -> 1792 On 32-bit, the sizes will either remain the same or will result in smaller shrinks.
show more ...
|
#
3deba4c2 |
| 21-Mar-2023 |
Máté Kocsis |
Update assertion about unsupported property types
|
#
e053ba0a |
| 03-Mar-2023 |
Máté Kocsis |
Do not allow side-effects when readonly property modification fails (#10757)
|
#
3bcf2c37 |
| 28-Feb-2023 |
Máté Kocsis |
Allow readonly properties to be reinitialized once during cloning (#10389) RFC: https://wiki.php.net/rfc/readonly_amendments
|
#
9108a32b |
| 26-Feb-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Minor cleanups in Zend execution APIs (#10699) * Remove always-false check in zend_lookup_class_ex() This check is always false because of the undefined behaviour rule that says
Minor cleanups in Zend execution APIs (#10699) * Remove always-false check in zend_lookup_class_ex() This check is always false because of the undefined behaviour rule that says a NULL pointer must never be dereferenced: we already dereference name when checking the cache slot, before the NULL check. So the NULL may be optimised away by the compiler. It looks like the code isn't even supposed to work with name being NULL, so just remove the check. * Remove always-true check in zend_fetch_static_property_address_ex() * Simplify always-true conditions
show more ...
|
#
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 ...
|