History log of /php-src/Zend/zend.c (Results 51 – 75 of 889)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27
# 25bb229f 10-Dec-2021 Tyson Andre

Allocate less memory for EG(errors) when recording errors for opcache (#7744)

errors is an array of pointers, not an array of values.

Low importance since this is freed after opcach

Allocate less memory for EG(errors) when recording errors for opcache (#7744)

errors is an array of pointers, not an array of values.

Low importance since this is freed after opcache compiles a file and there are
typically no or very few errors.

show more ...

Revision tags: php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1
# cddb65b5 24-Nov-2021 Dmitry Stogov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)


# 72f8dbb3 24-Nov-2021 Dmitry Stogov

Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)

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
# ddaf64b5 14-Oct-2021 Dmitry Stogov

Avoid non-immutable map_ptr indirection

Revision tags: php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1
# 6434c93a 26-Aug-2021 Nikita Popov

Explicitly store real map ptr base

If we only store the biased pointer, the map ptr region will not
be recognized as reachable memory by leak checkers. This is
primarily problematic

Explicitly store real map ptr base

If we only store the biased pointer, the map ptr region will not
be recognized as reachable memory by leak checkers. This is
primarily problematic for fuzzing, because this is persistent
memory that may be reallocated during the request, without being
an actual leak.

Avoid this by simply storing both the real base pointer of the
allocation, as well as the biased base pointer used for accesses.

show more ...

Revision tags: php-7.4.23, php-8.0.10, php-7.3.30
# 116fa654 23-Aug-2021 Dmitry Stogov

Fixed ZEND_MAP_PTR_KIND_PTR (it is not used)

Revision tags: php-8.1.0beta3
# 315f4094 11-Aug-2021 Nikita Popov

Always use CE_CACHE, remove TYPE_HAS_CE (#7336)

Currently, CE_CACHE on strings is only used with opcache interned strings. This
patch extends usage to non-opcache interned strings as wel

Always use CE_CACHE, remove TYPE_HAS_CE (#7336)

Currently, CE_CACHE on strings is only used with opcache interned strings. This
patch extends usage to non-opcache interned strings as well. This means that
most type strings can now make use of CE_CACHE even if opcache is not loaded,
which allows us to remove TYPE_HAS_CE kind, and fix some discrepancies
depending on whether a type stores a resolved or non-resolved name.

There are two cases where CE_CACHE will not be used:

* When opcache is not used and a permanent interned string (that is not an
internal class name) is used as a type name during the request. In this case
we can't allocate a map_ptr index for the permanent string, as it would be
not be in the permanent map_ptr index space.
* When opcache is used but the script is not cached (e.g. eval'd code or
opcache full). If opcache is used, we can't allocate additional map_ptr
indexes at runtime, because they may conflict with indexes allocated by
opcache.

In these two cases we would end up not using CE caching for property types
(argument/return types still have the separate cache slot).

show more ...

Revision tags: php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9
# e0119525 28-Jul-2021 Nikita Popov

Preload unlinked classes, remove preload autoload (#7311)

Currently, classes that can't be linked get moved back into the original script
and are not preloaded. As such classes may be re

Preload unlinked classes, remove preload autoload (#7311)

Currently, classes that can't be linked get moved back into the original script
and are not preloaded. As such classes may be referenced from functions that
did get preloaded, there is a preload autoload mechanism to load them at
runtime.

Since PHP 8.1, we can safely preload unlinked classes, which will then go
through usual lazy loading. This means that we no longer need the preload
autoload mechanism. However, we need to be careful not to modify any hash
table buckets in-place, and should create new buckets for lazy loaded classes.

show more ...

Revision tags: php-7.4.22
# 70195c35 27-Jul-2021 Nikita Popov

Don't force property type resolution for include preloading

Having all property types resolved is no longer a hard requirement
for preloading, resolving the types is just an optimization

Don't force property type resolution for include preloading

Having all property types resolved is no longer a hard requirement
for preloading, resolving the types is just an optimization. As
such, drop the special logic that forced loading of property
types when include-based preloading is used. Instead only keep
the code that resolves types based on actually preloaded classes.

Also drop the ZEND_ACC_PROPERTY_TYPES_RESOLVED flag, which is now
nearly useless and takes up flag space...

show more ...

Revision tags: php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1
# 989205e9 12-Jul-2021 Nikita Popov

Remove incorrect uses of zend_atoi()

zend_atoi() parses integers with size suffixes (like "128M").
These just want to use a plain number, so use ZEND_ATOL instead.

# efbb2198 12-Jul-2021 Nikita Popov

Return value from ZEND_ATOL

Instead of assigning it as part of the macro itself, which makes
usage quite awkward.

Revision tags: php-8.1.0alpha3, php-7.4.21, php-7.3.29
# aff36587 29-Jun-2021 Patrick Allaert

Fixed some spaces used instead of tabs

Revision tags: php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1
# 5d4f0552 15-Jun-2021 Aaron Piotrowski

Drop fiber block hooks

Removes the ability for an extension to allow Fiber switching in blocked contexts.

See discussion on fdc22744a8951b605a546ad6f09a2b907043bc54.

# ba3c8027 15-Jun-2021 Joe Watkins

Adds zend_fiber_startup at the right stage, moves setting of switch hooks
to correct stage

In a threaded environment, these ought to be set before any threads are
created, and they o

Adds zend_fiber_startup at the right stage, moves setting of switch hooks
to correct stage

In a threaded environment, these ought to be set before any threads are
created, and they ought to be set once.

show more ...

Revision tags: php-8.0.8RC1
# e6e6b3e6 11-Jun-2021 Aaron Piotrowski

Improve fiber interoperability (#7128)

Revision tags: php-8.1.0alpha1, php-8.0.7, php-7.4.20
# 795efd76 27-May-2021 twosee

Add zend_getpagesize() and reuse it in accelerator and fiber (#7057)

# 9066d695 27-May-2021 twosee

Remove all *_EXTERN_C() in C source files (#7054)

Revision tags: php-8.0.7RC1, php-7.4.20RC1
# ccc069d0 06-May-2021 Aaron Piotrowski

Catch and repeat zend_bailout in fibers

This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switch

Catch and repeat zend_bailout in fibers

This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switching to the previous fiber or {main}.

show more ...

Revision tags: php-8.0.6, php-7.4.19
# feab4798 30-Apr-2021 Nikita Popov

Also destroy classes in reverse order with ZTS

# 79071d5e 29-Apr-2021 Nikita Popov

Don't duplicate internal prop info (#6929)

Userland property infos are no longer duplicated since PHP 7.4, when we
stopped setting SHADOW flags on inherited private properties. Stop dupl

Don't duplicate internal prop info (#6929)

Userland property infos are no longer duplicated since PHP 7.4, when we
stopped setting SHADOW flags on inherited private properties. Stop duplicating
internal property infos as well.

This requires switching class destruction to work in reverse order, as child
classes may be reusing structures from parent classes, and as such should be
destroyed first.

show more ...

# dd86987b 29-Apr-2021 Nikita Popov

Replay warnings during inheritance (#6928)

Since 3e6b447979a2b1f351faf40bee9c6cf7e362d85a it is again possible to have
warnings (deprecations) during inheritance, and more such functiona

Replay warnings during inheritance (#6928)

Since 3e6b447979a2b1f351faf40bee9c6cf7e362d85a it is again possible to have
warnings (deprecations) during inheritance, and more such functionality is
likely in the future. This is a problem, because such warnings will only be
shown on the first request if the opcache inheritance cache is used. This
currently causes test failures in --repeat builds.

Fix this by uplifting the error recording functionality from opcache to Zend,
and then using it to persist a warning trace in the inheritance cache, which
can then be used to replay the warnings on subsequent executions.

show more ...

Revision tags: php-7.4.18, php-7.3.28, php-8.0.5
# c276c16b 26-Apr-2021 Aaron Piotrowski

Implement Fibers

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

Closes GH-6875.

# 78e1f190 23-Apr-2021 Nikita Popov

Export zend_error_zstr_at()

This is the formerly static function zend_error_impl(), which is
the core error handling implementation.

# a1c6ee21 23-Apr-2021 Nikita Popov

Convert error filename to zend_string

Error handling functions/callbacks now accept the error filename
as a zend_string* instead of a const char*.

# d24cf1a4 19-Apr-2021 George Peter Banyard

Introduce zend_error_unchecked()

To be used with custom formats like %H as otherwise the compiler complains about unknown formats

12345678910>>...36