History log of /PHP-8.3/Zend/zend_vm_execute.h (Results 201 – 225 of 1980)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 23ee4d4b 03-Apr-2020 Max Semenik

Support catching exceptions without capturing them to variables

RFC: https://wiki.php.net/rfc/non-capturing_catches

Closes GH-5345.


# 4a08ca12 26-May-2020 Nikita Popov

Respect typed references in catch assignment

I decided to null out EG(exception) early here, which means only
the exception from the dtor / ref assign is preserved, and the
previous

Respect typed references in catch assignment

I decided to null out EG(exception) early here, which means only
the exception from the dtor / ref assign is preserved, and the
previous exception is not chained in. This is more robust, and
I don't think this situation is common enough to be bothered about
the precise behavior.

show more ...


# 81c824f4 26-May-2020 Nikita Popov

Clarify ZEND_CATCH code

UNDEF the opcode result instead of addref'ing the exception.


# a582931f 20-May-2020 Christoph M. Becker

Revert "Revert "Merge branch 'PHP-7.4'""

This reverts commit 28e650a, which reverted commit 046dcfb, which had
to be reverted due to phpdbg issues. The culprit was that we did not
p

Revert "Revert "Merge branch 'PHP-7.4'""

This reverts commit 28e650a, which reverted commit 046dcfb, which had
to be reverted due to phpdbg issues. The culprit was that we did not
properly reset `zend_handler_table` to `NULL`, which is required for
SAPIs which may restart the engine after shutdown.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=28e650abf8097a28789a005e5028fee095359583>
[2] <http://git.php.net/?p=php-src.git;a=commit;h=046dcfb531e242d36a7af2942b9b148290c3c7fe>

show more ...


# 1179686f 24-Apr-2020 Máté Kocsis

Improve error messages for invalid property access

Closes GH-5446
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>


# c6a6ca07 13-May-2020 Nikita Popov

Use zend_zval_type_name() API where possible

Rather than zend_get_type_by_const(Z_TYPE_P()).


# 3f51d82b 13-May-2020 Nikita Popov

Rename zend_zval_get_type() API

We have a bunch of APIs for getting type names and it's sometimes
hard to keep them apart ... make it clear that this is the one
you definitely do not

Rename zend_zval_get_type() API

We have a bunch of APIs for getting type names and it's sometimes
hard to keep them apart ... make it clear that this is the one
you definitely do not want to use.

show more ...


# f0960879 06-May-2020 Alex Dowad

zend_timeout is not a signal handler function

The 'int dummy' parameter to this function makes it appear that it was intended as a
signal handler, but it is not being used as such. So re

zend_timeout is not a signal handler function

The 'int dummy' parameter to this function makes it appear that it was intended as a
signal handler, but it is not being used as such. So remove the redundant parameter.

show more ...


# cd56395d 19-Apr-2020 Tyson Andre

Speed up ZEND_SWITCH_STRING/ZEND_SWITCH_LONG for wrong type

This has the minor benefit of avoiding loading the address of the
jump table when the expression for the switch isn't a string

Speed up ZEND_SWITCH_STRING/ZEND_SWITCH_LONG for wrong type

This has the minor benefit of avoiding loading the address of the
jump table when the expression for the switch isn't a string/long.
gcc doesn't seem to optimize that.

The previous function body is the original implementation: ad8652818a5

```
// Before: 0.267s, after: 0.265s
function test_switch($x) {
for ($i = 0; $i < 10000000; $i++) {
switch ($x) {
case 'a':
case 'b':
echo "i=$i\n";
}
}
}
test_switch(null);
```

Closes GH-5419

show more ...


# 7352213b 17-Apr-2020 Nikita Popov

Early return if variadic type check fails

Don't check all the remaining arguments after one check failed.
I don't think this makes an observable behavior difference,
because we alrea

Early return if variadic type check fails

Don't check all the remaining arguments after one check failed.
I don't think this makes an observable behavior difference,
because we already suppress duplicate exceptions in argument
type error reporting.

show more ...


# d31ccb5f 17-Apr-2020 Dmitry Stogov

zend_timeout() may access EX(opline)


# 36935e42 30-Mar-2020 Máté Kocsis

Improve undefined variable error messages

Closes GH-5312


# 517c30b0 20-Mar-2020 Dmitry Stogov

JIT for FETCH_THIS


# 12cdab2d 18-Mar-2020 Dmitry Stogov

Improved JIT for BIND_GLOBAL


# df79277d 18-Mar-2020 Nikita Popov

Revert "Fetch for read in nested property assignments"

This reverts commit bb43a3822e42dbd15b1d416a166549d3980b379a.

After thinking about this a bit more, this is now going to be

Revert "Fetch for read in nested property assignments"

This reverts commit bb43a3822e42dbd15b1d416a166549d3980b379a.

After thinking about this a bit more, this is now going to be
a complete solution for the "readonly properties" case, for example:

unset($foo->readOnly->bar);

should also be legal and

$foo->readOnly['bar'] = 42;

should also be legal if $foo->readOnly is not an array but an
ArrayAccess object.

I think it may be better to distinguish better on the BP_VAR flag
level. Reverting for now.

show more ...


# bb43a382 10-Mar-2020 Nikita Popov

Fetch for read in nested property assignments

$a->b->c = 'd';

is now compiled the same way as

$b = $a->b;
$b->c = 'd';

That is, we perform a read f

Fetch for read in nested property assignments

$a->b->c = 'd';

is now compiled the same way as

$b = $a->b;
$b->c = 'd';

That is, we perform a read fetch on $a->b, rather than a write
fetch.

This is possible, because PHP 8 removed auto-vivification support
for objects, so $a->b->c = 'd' may no longer modify $a->b proper
(i.e. not counting interior mutability of the object).

Closes GH-5250.

show more ...


# c5159b38 12-Mar-2020 Dmitry Stogov

Check asserts early


# 2dddab01 12-Mar-2020 Dmitry Stogov

Avoid "Anonymous class wasn't preloaded" error by lazely loading of not preloaded part of a preloaded script


# 760faa12 09-Mar-2020 Nikita Popov

Fixed bug #79357

Peculiarly, for once the cause was not SOAPs "interesting" error
handling, but a bug in the call trampoline for internal functions...


# c6d941dc 09-Mar-2020 Máté Kocsis

Regenerate the VM

Some error message changes were missed out previously.


# f44dd16b 05-Mar-2020 Máté Kocsis

Improve error message of foreach

Closes GH-5240


Revision tags: php-7.4.4RC1, php-7.3.16RC1
# 960318ed 25-Feb-2020 Máté Kocsis

Change argument error message format

Closes GH-5211


Revision tags: php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1
# ac0853eb 29-Jan-2020 Máté Kocsis

Make type error messages more consistent

Closes GH-5092


Revision tags: php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14
# d9335916 08-Jan-2020 Nikita Popov

Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

RFC: https://wiki.php.ne

Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

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

Closes GH-5065.

show more ...


# fc0c71ad 10-Feb-2020 Nikita Popov

Deref slow-path ASSIGN_OBJ result

We should not store a reference inside IS_TMP_VAR.


12345678910>>...80