History log of /PHP-7.4/Zend/zend_vm_execute.h (Results 26 – 50 of 1715)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 189f625e 18-Dec-2019 Nikita Popov

Fix freeing of dynamic call name

We need to free op2 if the call construction fails.

Also remove a redundant check for !call.


# 11b041d3 16-Dec-2019 Nikita Popov

Fixed bug #78973

Save opline in leave helper to correctly handle destructor calls
during CV freeing (or other leave freeing).


# 20ef51db 10-Dec-2019 Dmitry Stogov

Fixed bug #78937 (Preloading unlinkable anonymous class can segfault)


# 32c1f375 09-Dec-2019 Nikita Popov

Fixed bug #78926: Handle class table reallocation on failed link

When we change back the bucket key on a class linking failure,
make sure to reload the bucket pointer, as the class table

Fixed bug #78926: Handle class table reallocation on failed link

When we change back the bucket key on a class linking failure,
make sure to reload the bucket pointer, as the class table may
have been reallocated in the meantime.

Also remove a bogus bucket key change in anon class registration:
We don't actually rename the class in this case anymore, the RTD
key is already the final name.

show more ...


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12
# a2c41c0e 15-Nov-2019 Tyson Andre

Fix $x = (bool)$x; for undefined with opcache

And `$x = !$x`

Noticed while working on GH-4912

The included test would not emit undefined variable errors in php 8.0
with

Fix $x = (bool)$x; for undefined with opcache

And `$x = !$x`

Noticed while working on GH-4912

The included test would not emit undefined variable errors in php 8.0
with opcache enabled. The command used:

```
php -d zend_extension=opcache.so --no-php-ini -d error_reporting=E_ALL \
-d opcache.file_cache= -d opcache.enable_cli=1 test.php
```

show more ...


Revision tags: php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4
# 96c84b7b 10-Oct-2019 Nikita Popov

Fix leak on static method call on non-existent class


# bea832cb 08-Oct-2019 Nikita Popov

Don't check type of simple parameter default values

After fixing the int->double coercion case, this is already verified
at compile-time, so there is no need to redo this type check on

Don't check type of simple parameter default values

After fixing the int->double coercion case, this is already verified
at compile-time, so there is no need to redo this type check on
every call.

Only perform the type check every time for the case of AST default
values.

show more ...


# 21148679 08-Oct-2019 Nikita Popov

Handle "non well formed" exception during ZPP

Previously if the "non well formed" notice was converted into an
exception we'd still end up executing the function.

Also drop the

Handle "non well formed" exception during ZPP

Previously if the "non well formed" notice was converted into an
exception we'd still end up executing the function.

Also drop the now unnecessary EG(exception) checks in the engine.

Additionally remote a bogus exception in zend_is_callable: It
should only be writing to error, but not directly throwing.

show more ...


Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3
# a6c9c7c2 27-Sep-2019 Nikita Popov

Handle resources used as array keys consistently

Resources used as array keys are generally handled by throwing a
notice and converting the resource to the resource handle. The only

Handle resources used as array keys consistently

Resources used as array keys are generally handled by throwing a
notice and converting the resource to the resource handle. The only
exception is the [$resource => null] syntax, where this was treated
as an illegal offset type instead. However, this also only happened
for VM evaluations, the AST evaluator did handle resources correctly.

show more ...


# 23db95e3 25-Sep-2019 Dmitry Stogov

Fixed GOTO VM


Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2
# d266ba4f 17-Sep-2019 Nikita Popov

Check for exception after calling count_values()

To avoid a duplicate error if count_values() throws.


# 51d9f32d 12-Sep-2019 Dmitry Stogov

Fixed bug #78531 (Crash when using undefined variable as object


# 5a616191 12-Sep-2019 Dmitry Stogov

Load string once


# 4b9ebd83 11-Sep-2019 Nikita Popov

Allow throwing exception while loading parent class

This is a fix for symfony/symfony#32995.

The behavior is:

* Throwing exception when loading parent/interface is allowed

Allow throwing exception while loading parent class

This is a fix for symfony/symfony#32995.

The behavior is:

* Throwing exception when loading parent/interface is allowed
(and we will also throw one if the class is simply not found).
* If this happens, the bucket key for the class is reset, so
it's possibly to try registering the same class again.
* However, if the class has already been used due to a variance
obligation, the exception is upgraded to a fatal error, as we
cannot safely unregister the class stub anymore.

show more ...


Revision tags: php-7.2.23RC1, php-7.3.10RC1
# 4ecdff2d 05-Sep-2019 Dmitry Stogov

Revert "Microoptimization (avoid code duplication)"

This reverts commit 25d97f5eeeaf2eca760139f04fe2711e71791d0f.


# 25d97f5e 05-Sep-2019 Dmitry Stogov

Microoptimization (avoid code duplication)


# 7237da27 05-Sep-2019 Dmitry Stogov

Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.


# b6f76aca 04-Sep-2019 Nikita Popov

Improve exception handling for abstract/deprecated calls

Reuse existing arg freeing loop instead of duplicating it.

Additionally also handle deprecated in DO_FCALL_BY_NAME.


# 4bb72827 04-Sep-2019 Nikita Popov

Fix handling of abstract/deprecated exception

The exception mechanism assumes that exceptions from DO_FCALL are
already happening after the function call. This means that we are
curr

Fix handling of abstract/deprecated exception

The exception mechanism assumes that exceptions from DO_FCALL are
already happening after the function call. This means that we are
currently leaking the passed arguments, and I think we can also
corrupt the VM stack due to incorrect frame linking in some cases
(there are assertion failures if the VM stack page size is reduced).

Instead handle the stack frame freeing manually for this special
case.

show more ...


Revision tags: php-7.4.0RC1
# ed749edd 29-Aug-2019 Nikita Popov

Fix use-after-free of immediately invoked closure with extra args


Revision tags: php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1
# d1fd4607 06-Aug-2019 Dmitry Stogov

Inline zend_zval_ptr() in executor explicitely (only on hot paths)


Revision tags: php-7.4.0beta2
# afd96392 01-Aug-2019 Nikita Popov

Revert "Use RW fetch for argument unpacking"

This reverts commit 6913ec3282149914e999d91b056fe1cc68d15ed7.
This reverts commit a9e332e02777c9b3805f6af846a4f48504109d2b.

Causes h

Revert "Use RW fetch for argument unpacking"

This reverts commit 6913ec3282149914e999d91b056fe1cc68d15ed7.
This reverts commit a9e332e02777c9b3805f6af846a4f48504109d2b.

Causes https://bugs.php.net/bug.php?id=78356, which I don't have
a good solution for.

show more ...


Revision tags: php-7.1.31, php-7.2.21, php-7.3.8
# 6913ec32 30-Jul-2019 Nikita Popov

Use RW fetch for argument unpacking

Argument unpacking may need to create references inside the array
that is being unpacked. However, it currently can only do this
if a plain variab

Use RW fetch for argument unpacking

Argument unpacking may need to create references inside the array
that is being unpacked. However, it currently can only do this
if a plain variable is unpacked, not for any nested accesses,
because the value is fetched for read. Resolve this by fetching
the operands for RW.

show more ...


# 853b426e 24-Jul-2019 Dmitry Stogov

Avoid over-specialization


# d7e8abb4 24-Jul-2019 Dmitry Stogov

Reordering


12345678910>>...69