History log of /php-src/Zend/zend.c (Results 126 – 150 of 889)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 0f2cdbf2 11-Dec-2019 Nikita Popov

Introduce extra counter to avoid RTD key collisions

Also generate a fatal error if a collision occurs in zend_compile.

This is not perfect, because collisions might still be introdu

Introduce extra counter to avoid RTD key collisions

Also generate a fatal error if a collision occurs in zend_compile.

This is not perfect, because collisions might still be introduced
via opcache, if one file is included multiple times during a request,
invalidate in the meantime and recompiled by different processes.

This still needs to be addressed, but this patch fixes the much
more common case of collisions occuring when opcache is not used.

Fixes bug #78903.

show more ...

Revision tags: php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, 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, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3
# 999e32b6 25-Sep-2019 Nikita Popov

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same t

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same time. Additionall, zend_type_list is
introduced as a new kind of pointer payload, which is used to store
multiple class types. Each of the class types is a tagged pointer,
which may be either a class name or class entry. The latter is only
used for typed properties, while arguments/returns will instead use
cache slots. A type list can contain a mix of both names and CEs at
the same time, as not all classes may be resolvable.

One thing this is missing is support for union types in arginfo
and stubs, which I want to handle separately.

I've also dropped the special object code from the JIT implementation
for now -- I plan to add this back in a different form at a later time.
For now I did not want to include non-trivial JIT changes together
with large functional changes.

Another possible piece of follow-up work is to implement "iterable"
as an internal alias for "array|Traversable". I believe this will
eliminate quite a few special-cases that had to be implemented.

Closes GH-4838.

show more ...

Revision tags: php-7.2.23, php-7.3.10
# ac4e0f08 20-Sep-2019 Nikita Popov

Make zend_type a 2-field struct

We now store the pointer payload and the type mask separately. This
is in preparation for union types, where we will be using both at
the same time.

Make zend_type a 2-field struct

We now store the pointer payload and the type mask separately. This
is in preparation for union types, where we will be using both at
the same time.

To avoid increasing the size of arginfo structures, the
pass_by_reference and is_variadic fields are now stored as part of
the type_mask (8-bit are reserved for custom use).

Different types of pointer payloads are distinguished based on bits
in the type_mask.

show more ...

# db233501 10-Oct-2019 Nikita Popov

Use clean shutdown on uncaught exception

Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1
# bc619975 04-Sep-2019 Peter Cowburn

add ValueError

ValueError is intended to be thrown when a function or method receives
an argument that has the right type (incorrect type should throw a
TypeError) but an inappropria

add ValueError

ValueError is intended to be thrown when a function or method receives
an argument that has the right type (incorrect type should throw a
TypeError) but an inappropriate value.

show more ...

Revision tags: php-7.4.0RC1
# ea5854ca 30-Aug-2019 Nikita Popov

Make error_reporting=E_ALL the default

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, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3
# 21b0f444 04-Jul-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 1fea887c 04-Jul-2019 Nikita Popov

Set PROPERTY_TYPES_RESOLVED flag for internal classes

Also make sure that the resolution happens before preloading runs.

Revision tags: php-7.3.7
# d41ab644 02-Jul-2019 Joe Watkins

Merge branch 'PHP-7.4'

* PHP-7.4:
simple ignore arguments in exceptions implementation


Revision tags: php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2
# 0819e6dc 17-Jun-2019 Joe Watkins

simple ignore arguments in exceptions implementation

Revision tags: php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30
# 61f78de4 26-May-2019 twosee

Constify some char* arguments or return values of ZEND_API

Closes GH-4247.

# b4a3b49e 31-May-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Better hot/cold code splitting


# 1df9f238 31-May-2019 Dmitry Stogov

Better hot/cold code splitting

Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1
# 785f034e 12-Apr-2019 Nikita Popov

Merge branch 'PHP-7.4'


# ce408504 12-Apr-2019 Nikita Popov

Mark zend_bailout() as a noreturn function

Revision tags: php-7.2.17, php-7.3.4, php-7.1.28
# 6d71d983 27-Mar-2019 Nikita Popov

Merge branch 'PHP-7.4'


# d1e5006c 27-Mar-2019 Nikita Popov

Fix lineno for more inheritance errors

And also include explicit linenos in tests.

# d49371fb 26-Mar-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 0122f395 26-Mar-2019 Nikita Popov

Add zend_error_at API that accepts a filename and lineno

Use this for the opcache preloading warnings, as an example usage.

Revision tags: php-7.3.4RC1, php-7.2.17RC1
# 2dd2dcaf 14-Mar-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.


# 9499484e 14-Mar-2019 Dmitry Stogov

Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.

# dbb462db 12-Mar-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c


# 04b67bac 12-Mar-2019 Dmitry Stogov

Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c

Revision tags: php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2
# 513b7679 05-Feb-2019 Nikita Popov

Make zpp failures always throw, independent of strict_types

Previously zend_parse_parameters (and FastZPP) would handle invalid
arguments depending on strict_types: With strict_types=1,

Make zpp failures always throw, independent of strict_types

Previously zend_parse_parameters (and FastZPP) would handle invalid
arguments depending on strict_types: With strict_types=1, a TypeError
is thrown, with strict_types=0 a warning is thrown and (usually) NULL
is returned. Additionally, some functions (constructors always and
other methods sometimes) opt-it to throwing regardless of strict_types.

This commit changes zpp to always generate a TypeError exception in
PHP 8.

show more ...

# bf21727e 11-Mar-2019 Joe Watkins

Merge branch 'PHP-7.4'

* PHP-7.4:
drop unused parameter from zend_startup


12345678910>>...36