History log of /PHP-8.3/Zend/zend_vm_execute.h (Results 176 – 200 of 1980)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 492621f9 26-Aug-2020 Nikita Popov

Fix memory leak on unknown named param


# d179e34e 26-Aug-2020 Nikita Popov

Fix memory leak when yielding from non-iterable


# bb54694f 24-Aug-2020 Nikita Popov

Fix refcounting


# 6b6c2c00 24-Aug-2020 Christoph M. Becker

Fix #79979: passing value to by-ref param via CUFA crashes

If a by-val send is not allowed, we must not do so. Instead we wrap
the value in a temporary reference.

Closes GH-6000


# 5c18ee58 24-Aug-2020 Dmitry Stogov

Fixed use-after-free introduced by aed1f785159e7c9e81da8f2e2e06df9a6ee0d809


# aed1f785 20-Aug-2020 Dmitry Stogov

micro-optimization


# 42eda516 11-Aug-2020 Nikita Popov

SAVE_OPLINE in NULL_HANDLER

Let's avoid crashing before the nice error message gets printed...


# f491dabe 11-Aug-2020 Nikita Popov

Fix nullsafe operator on reference

Dereference the value before checking the type. As the happy path
necessarily has to check for references, I'm not bothering to
delay the compariso

Fix nullsafe operator on reference

Dereference the value before checking the type. As the happy path
necessarily has to check for references, I'm not bothering to
delay the comparison.

show more ...


# 2d087210 10-Aug-2020 Nikita Popov

Fixed bug #79947

Move the FREE_OP for op_data out of the zend_binary_assign_op_dim_slow()
slow path, so it can be used by the other error path as well. This
makes ASSIGN_DIM_OP struc

Fixed bug #79947

Move the FREE_OP for op_data out of the zend_binary_assign_op_dim_slow()
slow path, so it can be used by the other error path as well. This
makes ASSIGN_DIM_OP structurally more similar to ASSIGN_DIM.

show more ...


Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17
# d92229d8 06-Apr-2020 Nikita Popov

Implement named parameters

From an engine perspective, named parameters mainly add three
concepts:

* The SEND_* opcodes now accept a CONST op2, which is the
argument nam

Implement named parameters

From an engine perspective, named parameters mainly add three
concepts:

* The SEND_* opcodes now accept a CONST op2, which is the
argument name. For now, it is looked up by linear scan and
runtime cached.
* This may leave UNDEF arguments on the stack. To avoid having
to deal with them in other places, a CHECK_UNDEF_ARGS opcode
is used to either replace them with defaults, or error.
* For variadic functions, EX(extra_named_params) are collected
and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS.

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

Closes GH-5357.

show more ...


# a6e63b42 31-Jul-2020 Nikita Popov

Make check in RECV_VARIADIC more precise

Fetch arg_info only once (it's always the same one...) and check
ZEND_TYPE_IS_SET on it, rather than checking if *any* parameter
has a type.


# 9bf11983 24-May-2020 Ilija Tovilo

Implement nullsafe ?-> operator

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

Closes GH-5619.

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


# 213852de 13-Jul-2020 Nikita Popov

Fixed bug #79828


# d30cd7d7 26-May-2020 Máté Kocsis

Review the usage of apostrophes in error messages

Closes GH-5590


# 65568467 10-Jul-2020 Nikita Popov

Fixed bug #79818

Only destroy the variable directly before reassigning it. The
value could be read in the meantime.


# 9fa1d133 09-Apr-2020 Ilija Tovilo

Implement match expression

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

Closes GH-5371.


# 613a56d1 09-Jul-2020 Nikita Popov

Remove FREE_UNFETCHED concept

In master normal FREE_OPs work like FREE_UNFETCHED_OP used to, so
there is no point in keeping this distinction anymore, it's just
confusing.


# 8318379d 09-Jul-2020 Nikita Popov

Switch back to FREE_UNFETCHED_OP_DATA

Some of the code paths leading to this do not fetch op data.
Hopefully this fixes the release build failure.


# 5795dfda 09-Jul-2020 Nikita Popov

Fix bug #79599 in a different way

Move the emission of the undefined variable notice before the
array separation.


# 5d0687e8 07-Jul-2020 Nikita Popov

Assert exception set in HANDLE_EXCEPTION()

Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure

Assert exception set in HANDLE_EXCEPTION()

Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).

show more ...


# fb916112 07-Jul-2020 Nikita Popov

Remove #undefs from vm_gen

Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.


# 49396f81 04-Jul-2020 Nikita Popov

Fixed bug #79777


Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16
# 75a04eac 06-Mar-2020 Nikita Popov

Make exit() unwind properly

exit() is now internally implemented by throwing an exception,
performing a normal stack unwind and a clean shutdown. This ensures
that no persistent reso

Make exit() unwind properly

exit() is now internally implemented by throwing an exception,
performing a normal stack unwind and a clean shutdown. This ensures
that no persistent resource leaks occur.

The exception is internal, cannot be caught and does not result in
the execution of finally blocks. This may be relaxed in the future.

Closes GH-5768.

show more ...


# bb3d4456 15-Jun-2020 Dmitry Stogov

Change GC_COLLECTABLE flag into GC_NOT_COLLECTABLE to simplify GC_MAY_LEAK() check


# 8483a21f 25-May-2020 Christoph M. Becker

Fix several mostly Windows related phpdbg bugs

* Properly initialize PHPDBG_G(watch_tmp)

Otherwise that may cause segfaults in ZTS builds.

* Deactivate potentially remain

Fix several mostly Windows related phpdbg bugs

* Properly initialize PHPDBG_G(watch_tmp)

Otherwise that may cause segfaults in ZTS builds.

* Deactivate potentially remaining watchpoints after REPL

Otherwise the memory could still be protected, resulting in segfaults
during shutdown.

* NULL zend_handlers_table after freeing

As of commit 4130fe4[1], the `zend_handlers_table` is explicitly
freed in the `zend_vm_dtor()`. Since phpdbg (and maybe some other
SAPIs) may restart the engine afterwards, we have to make sure that
the table is also NULLed.

* Only set context option if there is a context

In other words, we must not follow the null pointer.

* Cater to file handles without attached console

File handles do not necessarily have an attached console (for
instance, pipes do not), in which case `GetConsoleScreenBufferInfo()`
fails. In this case we set a default value (`40`) for lines like on
other systems.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=4130fe437a5db7ead1444d3748bd0fbad9829cb2>

show more ...


12345678910>>...80