History log of /PHP-8.3/Zend/zend_vm_execute.h (Results 126 – 150 of 2370)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 09547c64 01-Dec-2021 Dmitry Stogov

Fix clobering of operand by error handler in assignment to string offset

In some cases new code requires two reallocations insead of one.

Fixes oss-fuzz #31716, #36196, #39739 and #

Fix clobering of operand by error handler in assignment to string offset

In some cases new code requires two reallocations insead of one.

Fixes oss-fuzz #31716, #36196, #39739 and #40002

show more ...

Revision tags: php-7.4.27RC1
# fbdded1f 28-Nov-2021 Tyson Andre

Use interned string for calling count() in Zend VM

Similar to f0dd79a7e415d8b1d4a3868a27975d6578c87961

Copied from GH-7695

Revision tags: php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4
# 902d6439 11-Oct-2021 Nikita Popov

Deprecate implicit dynamic properties

Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/

Deprecate implicit dynamic properties

Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().

RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties

show more ...

# 976f5694 17-Nov-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fixed bug #81631


# 70cb3724 17-Nov-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fixed bug #81631


# 4d4fe763 17-Nov-2021 Nikita Popov

Fixed bug #81631

We need to save the opline before fetching the operand, as it may
throw an undef var warning.

# 47435d67 11-Nov-2021 Dmitry Stogov

Merge branch 'PHP-8.1'

* PHP-8.1:
Partially fix handling of exceptions thrown in interrupt handlers


# 271cbe52 11-Nov-2021 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Partially fix handling of exceptions thrown in interrupt handlers


# fa0b84a0 11-Nov-2021 Dmitry Stogov

Partially fix handling of exceptions thrown in interrupt handlers

# 90b7bde6 03-Nov-2021 Dmitry Stogov

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
(ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
(packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
- sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
- zend_hash_sort_ex() may require converting packed arrays to hash.

show more ...

# ddbb51d6 01-Nov-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix finally exception chaining on recursion


# e4f1083a 01-Nov-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix finally exception chaining on recursion


# 1a2fb90b 01-Nov-2021 Nikita Popov

Fix finally exception chaining on recursion

In this case zend_exception_set_previous() would destroy the
fast_call exception and further accesses on ex would be invalid.
We should on

Fix finally exception chaining on recursion

In this case zend_exception_set_previous() would destroy the
fast_call exception and further accesses on ex would be invalid.
We should only update ex if we update EG(exception).

Fixes oss-fuzz #40464.

show more ...

# da0d246e 19-Oct-2021 Nikita Popov

Drop FREE_OP_VAR_PTR() distinction

FREE_OP_VAR_PTR() is like FREE_OP(), but only frees VAR, rather
than VARs and TMPs. I don't think this distinction makes sense
anymore, as opcodes

Drop FREE_OP_VAR_PTR() distinction

FREE_OP_VAR_PTR() is like FREE_OP(), but only frees VAR, rather
than VARs and TMPs. I don't think this distinction makes sense
anymore, as opcodes using FREE_OP_VAR_PTR() generally only accept
VAR or CV. For the cases where other op types are accepted and
only freeing VAR is desired we already have FREE_OP_IF_VAR().

This drops FREE_OP_VAR_PTR(), leaving only FREE_OP() and
FREE_OP_IF_VAR().

show more ...

# 08cbb994 19-Oct-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix inc/dec of undef var with error handler


# 22b6aac6 19-Oct-2021 Nikita Popov

Fix inc/dec of undef var with error handler

Set the variable to null after emitting the undef var notice
rather than before. This avoids an assertion failure if the var
is unset by t

Fix inc/dec of undef var with error handler

Set the variable to null after emitting the undef var notice
rather than before. This avoids an assertion failure if the var
is unset by the error handler.

The flip side is that this may cause a leak instead, but that's
the more harmless outcome.

Fixes oss-fuzz #36604.

show more ...

# ebaed434 12-Oct-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Don't free FETCH_W operand if GLOBAL_LOCK


# 7b071069 12-Oct-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Don't free FETCH_W operand if GLOBAL_LOCK


# a2e3ca1f 12-Oct-2021 Nikita Popov

Don't free FETCH_W operand if GLOBAL_LOCK

The error path performed the free unconditionally, while we should
not do it for GLOBAL_LOCK.

Fixes oss-fuzz #39868.

Revision tags: php-8.0.12RC1, php-7.4.25RC1
# be323b89 05-Oct-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix duplicate undef warning in assign_dim_op


# 02c5f7f9 05-Oct-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix duplicate undef warning in assign_dim_op


# 11a9b036 05-Oct-2021 Nikita Popov

Fix duplicate undef warning in assign_dim_op

In case of auto-vivification we were fetching dim twice and as
such also emitting the undef var warning twice.

# f4e06ea5 30-Sep-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Create reference wrappers in SEND_UNPACK if necessary


# 02244d5e 30-Sep-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Create reference wrappers in SEND_UNPACK if necessary


# e11faad2 30-Sep-2021 Nikita Popov

Create reference wrappers in SEND_UNPACK if necessary

Even if we can't actually pass by reference, we still need to
create the REFERENCE wrapper to satisfy the calling convention.
Th

Create reference wrappers in SEND_UNPACK if necessary

Even if we can't actually pass by reference, we still need to
create the REFERENCE wrapper to satisfy the calling convention.
The particular test case would crash with JIT, because the existence
of the reference was assumed.

Fixes oss-fuzz #39440.

show more ...

12345678910>>...95