History log of /PHP-8.4/Zend/zend_object_handlers.c (Results 51 – 75 of 646)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-8.1.4RC1, php-8.0.17RC1
# 5ca2dd3d 28-Feb-2022 Dmitry Stogov

Fixed assertion after clobbering object by user error handler, because
of creation dynamic property deprecation warning.

Fixes oss-fuzz #44932


Revision tags: php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1
# f1ae1350 28-Jan-2022 Dmitry Stogov

Fix memory leak

Fixes oss-fuzz #43988


Revision tags: php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1
# 5d6bc250 22-Dec-2021 Dmitry Stogov

Reset Bucket->key of deleted HastTable elemets to NULL.

This allows elimination of some Z_ISUNDEF(Bucket->val) checks.


Revision tags: php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1
# 024d5f4b 01-Dec-2021 Tyson Andre

Cache method overrides of ArrayAccess in zend_class_entry

Previously, code such as subclasses of SplFixedArray would check for method
overrides when instantiating the objects.

T

Cache method overrides of ArrayAccess in zend_class_entry

Previously, code such as subclasses of SplFixedArray would check for method
overrides when instantiating the objects.

This optimization was mentioned as a followup to GH-6552

show more ...


Revision tags: php-7.4.27RC1
# f0dd79a7 28-Nov-2021 Nikita Popov

Optimize ArrayAccess method lookup

While these currently aren't cached in the class entry, we can
at least save us a lowercasing and hash calculation of the method
name.


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, php-8.1.0RC4
# 902d6439 11-Oct-2021 Nikita Popov

Deprecate implicit dynamic properties

Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/

Deprecate implicit dynamic properties

Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().

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

show more ...


# ef2fd0e5 24-Nov-2021 Remi Collet

fix [-Wstrict-prototypes] buid warnings


# ddaf64b5 14-Oct-2021 Dmitry Stogov

Avoid non-immutable map_ptr indirection


Revision tags: php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3
# f81f8744 28-Sep-2021 Dmitry Stogov

zend_std_get_static_method() should return NULL in case of exception thrown from user error handler


Revision tags: php-8.0.11, php-7.4.24, php-7.3.31
# 47961839 17-Sep-2021 Nikita Popov

Add missing scope check for readonly prop initialization

If the initializing assignment is an array append we will go through
the UNDEF codepath of get_property_ptr_ptr, which did not ve

Add missing scope check for readonly prop initialization

If the initializing assignment is an array append we will go through
the UNDEF codepath of get_property_ptr_ptr, which did not verify
that the initialization scope is valid.

show more ...


Revision tags: php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22
# 3eb97a45 22-Jul-2021 Nikita Popov

Always use separate static_members_table

When running without opcache, static_members_table is shared with
default_static_members_table. This is visible in reflection output,
because

Always use separate static_members_table

When running without opcache, static_members_table is shared with
default_static_members_table. This is visible in reflection output,
because ReflectionProperty::getDefaultValue() will return the
current value, rather than the default value.

Address this by never sharing the table, which matches the behavior
we already see under opcache.

Fixes bug #80821.

Closes GH-7299.

show more ...


# ae8647d9 20-Jul-2021 Levi Morrison

Remove leading underscore for _zend_hash_find_known_hash (#7260)

Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...)
Convert zend_hash_find_ex(..., 0) to zend_hash_find(.

Remove leading underscore for _zend_hash_find_known_hash (#7260)

Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...)
Convert zend_hash_find_ex(..., 0) to zend_hash_find(...)

Also add serializable changes to UPGRADING.INTERNALS summary

show more ...


Revision tags: php-8.1.0beta1
# c50f4dec 20-Jul-2021 Nikita Popov

Fix typo in comment

[ci skip]


Revision tags: php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1
# 6780aaa5 02-Jun-2021 Nikita Popov

Implement readonly properties

Add support for readonly properties, for which only a single
initializing assignment from the declaring scope is allowed.

RFC: https://wiki.php.net

Implement readonly properties

Add support for readonly properties, for which only a single
initializing assignment from the declaring scope is allowed.

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

Closes GH-7089.

show more ...


# ebd3a210 15-Jul-2021 Nikita Popov

Undef slot before destroying in unset_property

We need to make sure that destructors can't access the partially
destroyed property. Do the same we do in HTs.

Fixes oss-fuzz #362

Undef slot before destroying in unset_property

We need to make sure that destructors can't access the partially
destroyed property. Do the same we do in HTs.

Fixes oss-fuzz #36205.

show more ...


# 5f8ed776 12-Jul-2021 Nikita Popov

Fix GC of object properties HT

We partially fixed this in bug #78379, but still don't handle
the case where the properties array is marked as grey first,
which causes a delref to not

Fix GC of object properties HT

We partially fixed this in bug #78379, but still don't handle
the case where the properties array is marked as grey first,
which causes a delref to not be performed later.

Fix this by treating the object properties HT the same way as
other refcounted values, including addrefs/delrefs. The object
dtor code already handles properties HT with NULL GC type, so
out of order destruction should not be a problem.

Fixes oss-fuzz #36023.

show more ...


# a80360db 09-Jul-2021 Nikita Popov

Deprecate direct access to static trait members

Static trait members may only be accessed through a class in which
the trait is used, not directly on the trait.

A complication h

Deprecate direct access to static trait members

Static trait members may only be accessed through a class in which
the trait is used, not directly on the trait.

A complication here is that we should not store static
methods/properties for which a deprecation is triggered in a
cache slot. As the check for this is simple and cheap, I'm handling
this in the cache slot population code in the VM. The alternative
would be to pass the cache slot down into the fetching code.

Part of https://wiki.php.net/rfc/deprecations_php_8_1.

show more ...


# cdbe39b1 09-Jul-2021 Nikita Popov

Remove unnecessary property name unmangling

The property name isn't mangled in this context. Unmangling would
only be necessary if we used the name stored in the property_info.


# 2fe242db 09-Jul-2021 Nikita Popov

Remove leftover handling of PHP4 constructors

This seems to be mapping ParentClass::ParentClass() to
ParentClass::__construct(), but only for non-__construct ctors,
which don't exist

Remove leftover handling of PHP4 constructors

This seems to be mapping ParentClass::ParentClass() to
ParentClass::__construct(), but only for non-__construct ctors,
which don't exist anymore.

show more ...


# bdc60fa7 02-Jul-2021 Nikita Popov

Fixed bug #80173

The analysis in the bug report wasn't correct (at least not in
this case -- there may still be a more general problem here),
the issue was that write_property return

Fixed bug #80173

The analysis in the bug report wasn't correct (at least not in
this case -- there may still be a more general problem here),
the issue was that write_property returned the original variable_ptr
rather than the zend_assign_to_variable() return value, which will
DEREF the variable before overwriting it.

show more ...


Revision tags: php-8.0.7, php-7.4.20
# a76d35ab 25-May-2021 Nikita Popov

Remove commented code from get_method handler


Revision tags: php-8.0.7RC1, php-7.4.20RC1, php-8.0.6
# 398cfb98 04-May-2021 Nikita Popov

Don't treat failed assignment as initialization

Only reset the uninitialized property flag once the type check
has succeeded. Previously the property was treated as unset rather
than

Don't treat failed assignment as initialization

Only reset the uninitialized property flag once the type check
has succeeded. Previously the property was treated as unset rather
than uninitialized after a failed assignment.

Noticed this edge-case while working on accessors...

show more ...


Revision tags: php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1
# 462da6e0 31-Mar-2021 Josh Soref

Fix spelling and grammar mistakes

This PR corrects misspellings identified by the check-spelling action.

The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465

Fix spelling and grammar mistakes

This PR corrects misspellings identified by the check-spelling action.

The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465

The action reports that the changes in this PR would make it happy: jsoref@602417c

Closes GH-6822.

show more ...


Revision tags: php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1
# 5caaf40b 29-Sep-2020 George Peter Banyard

Introduce pseudo-keyword ZEND_FALLTHROUGH

And use it instead of comments


# 9da66e6a 01-Mar-2021 Dmitry Stogov

Optimized object conversion to array without rebulding properties HashTable


12345678910>>...26