History log of /PHP-8.3/Zend/zend_execute.c (Results 1 – 25 of 1772)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b3e26c30 19-Apr-2024 Ilija Tovilo

Fix missing handling of CALLABLE_CONVERT in cleanup_unfinished_calls()

Fixes GH-14003


# 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)


# 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 ...


# 413844d6 18-Feb-2023 Max Kellermann

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in main/php.h.

show more ...


# 7b68ff46 16-Feb-2023 Ilija Tovilo

Revert "Fix GH-10168: heap-buffer-overflow at zval_undefined_cv"

This reverts commit 71ddede5655fe654002ae18af6a18e033f717287.


12345678910>>...71