History log of /PHP-7.3/Zend/zend_objects.c
Revision Date Author Comments
# 18f2918a 13-Aug-2019 Nikita Popov <nikita.ppv@gmail.com>

Don't destroy properties array with unset GC type

As the properties array can also be a GC root, it might have
already been destroyed.


# 9afce019 01-Nov-2018 Zeev Suraski <zeev@php.net>

Future-proof email addresses


# 8d3f8ca1 03-Jul-2018 Peter Kokot <peterkokot@gmail.com>

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.


# af341213 03-Jul-2018 Dmitry Stogov <dmitry@zend.com>

se zval_ptr_dtor_str() instead of zend_string_release_ex(Z_STR(*), 0)


# 34e58a64 22-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Reduced overhead of magic method calls (__get/__set/__unset/__isset/__dectructor/__clone).


# 5eb1f92f 28-May-2018 Dmitry Stogov <dmitry@zend.com>

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


# a795bd82 22-Mar-2018 Dmitry Stogov <dmitry@zend.com>

Optimize zend_hash_real_init()


# 58880e3f 27-Feb-2018 Dmitry Stogov <dmitry@zend.com>

Get rid of IS_OBJ_USE_GUARDS and IS_OBJ_HAS_GUARDS flags


# b3e22da7 22-Jan-2018 Dmitry Stogov <dmitry@zend.com>

Use OBJ_FLAGS() macro to access object flags (even if they are currently stored together with GC_FLAGS)


# 6634d5e3 22-Jan-2018 Dmitry Stogov <dmitry@zend.com>

Use HT_FLAGS() macro


# a6519d05 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# 7a7ec01a 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# ccd4716e 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# 175e4613 14-Dec-2017 Dmitry Stogov <dmitry@zend.com>

Use fastcall calling convention for objects and resources API


# 49ea143b 26-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Encapsulate reference-counting primitives.
Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead.
Added mactros to validate reference-counting (disabled for now).
These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.


# 44e0b79a 19-Sep-2017 Dmitry Stogov <dmitry@zend.com>

Refactored array creation API. array_init() and array_init_size() are converted into macros calling zend_new_array(). They are not functions anymore and don't return any values.


# bc5811f3 04-Jul-2017 Anatol Belski <ab@php.net>

further sync for vim mode lines


# 908ce66f 26-Jun-2017 Dmitry Stogov <dmitry@zend.com>

Cleanup. Removed unused functions and unimplemented prototype. Avoid useless "dtor_obj" calls.


# 705bd6df 08-May-2017 Xinchen Hui <laruence@gmail.com>

Unused var


# 3abef9c9 02-May-2017 Nikita Popov <nikita.ppv@gmail.com>

Don't double initialize object properties


# dac6c639 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# 478f119a 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# 9e29f841 02-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# d6c332eb 21-Oct-2016 Dmitry Stogov <dmitry@zend.com>

Turn IS_TYPE_COLLECTABLE zval flag into GC_COLLECTABLE zend_refcounted flag.
This simplifies checks and allows reset this flag for "acyclic" arrays and objects.


# ae3be78c 12-Jun-2016 Xinchen Hui <laruence@gmail.com>

EG(fake_scope) was always set to NULL wrongly


# e9c3f9fc 13-May-2016 Dmitry Stogov <dmitry@zend.com>

Fixed bug #72177 (Scope issue in __destruct after ReflectionProperty::setValue())


# 6499162f 28-Apr-2016 Dmitry Stogov <dmitry@zend.com>

- get rid of EG(scope). zend_get_executed_scope() should be used instead.
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.


# e88c71d3 26-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Optimize property guards for the most usual case with only one acive guard.


# a186ac0e 05-Apr-2016 Dmitry Stogov <dmitry@zend.com>

IS_CONST operands don't have to be separated. Use reference-counting instead of duplication.

- with opcache all IS_CONST operands are not refcounted (scalars, interned strings or immutable arrays)
- without opcache IS_CONST operands are not shared between processes or threads and may use common reference counters


# 97a9470d 02-Jan-2016 Xinchen Hui <laruence@gmail.com>

bump year which is missed in rev 49493a2


# 3537e95d 02-Jan-2016 Xinchen Hui <laruence@gmail.com>

bump year which is missed in rev 49493a2


# 37f0c6b5 31-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Add myself into list of authors of the most refactored files.


# 25f9e255 26-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Fixed bug #70187 (Notice: unserialize(): Unexpected end of serialized data)


# 5df893ce 07-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Use NULL where possible for exception class

Matches usage of zend_throw_exception()/zend_throw_exception_ex().


# 22c38b2e 03-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Remove need to pass error level


# 5a99c07e 03-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Enable throwing custom exceptions from errors


# 72b06273 02-Jul-2015 Xinchen Hui <laruence@php.net>

Fixed bug #69521 (Segfault in gc_collect_cycles()).


# 7aa76271 30-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).


# 4cc0096e 29-Jun-2015 Xinchen Hui <laruence@php.net>

Fixed memroy errors with valgrind


# 4a6e1345 16-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties).


# eebab828 19-May-2015 Dmitry Stogov <dmitry@zend.com>

Improved hash table copying


# 388c2cbd 28-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Micro optimizations


# 1800bed1 27-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Micro optimizations


# ad863c17 02-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineException


# ec760d8f 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineExceptions


# acfc31c0 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Use zend_error_noreturn() for fatal errors


# e97ae4fe 24-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Make zend_array_destroy() to free the corresponding zend_array


# 9e70d767 04-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.


# fc33f52d 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year


# 0579e827 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year


# 73c1be26 15-Jan-2015 Xinchen Hui <laruence@php.net>

Bump year


# dd01ade9 15-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Use simpler functions


# bdeb220f 13-Dec-2014 Anatol Belski <ab@php.net>

first shot remove TSRMLS_* things


# ab7b38e3 24-Nov-2014 Dmitry Stogov <dmitry@zend.com>

Added new optimized zend_array_destroy() function


# 99818a57 24-Nov-2014 Dmitry Stogov <dmitry@zend.com>

Use inline version of the function in the loop


# 4b892439 19-Oct-2014 Nikita Popov <nikic@php.net>

Fix bug #68262: Broken reference across cloned objects


# 5c897aa7 03-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Preallocate hash tables of required size


# c3e3c98e 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 1


# 5bb25776 16-Aug-2014 Anatol Belski <ab@php.net>

further fixes on core


# 0a77dcd4 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.


# 72c287bd 21-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word


# 7652a977 18-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family.


# 5dc52e48 14-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed interface constants inheritance.
Now we use IS_REFERENCE for inhereted class constants.
I might miss some edje cases.


# 20f2e598 09-Apr-2014 Nikita Popov <nikic@php.net>

Fix ZTS build

This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.


# 7402af38 08-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.


# df7293b0 06-Apr-2014 Dmitry Stogov <dmitry@zend.com>

don't use memset() for array of zval initialization


# d8099d04 02-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Changed data layout to allow more efficient operations


# 887189ca 26-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing


# b7938ab1 19-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Refactored GC (incomplete)


# b146ed16 06-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed dynamic properties cloning


# 54095e8c 28-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Converting from reference to regular value


# a5ce7d52 28-Feb-2014 Xinchen Hui <laruence@gmail.com>

Revert "Move zend_objects_store_put out of zend_object_std_init"

This reverts commit 8ced4f0ac906fd9a28b968801487630326c45bc8.


# 8ced4f0a 27-Feb-2014 Xinchen Hui <laruence@gmail.com>

Move zend_objects_store_put out of zend_object_std_init


# 557994d5 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 110e01a2 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed object destruction


# 17bf59f8 14-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# f4cfaf36 10-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# c081ce62 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# 47c90277 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# c0d060f5 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# a666285b 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# 0a7395e0 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# 831fbcf3 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# d03900dc 13-May-2012 Stanislav Malyshev <stas@php.net>

fix bug #61782 - __clone/__destruct do not match other methods when checking access controls


# a0dff6fd 13-May-2012 Stanislav Malyshev <stas@php.net>

fix bug #61782 - __clone/__destruct do not match other methods when checking access controls


# e4ca0ed0 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# 8775a375 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# 4e198252 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# 927bf09c 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++


# 0203cc3d 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++


# d93cf2a2 16-Aug-2010 Dmitry Stogov <dmitry@php.net>

Bug #52361 (Throwing an exception in a destructor causes invalid catching)


# 7ca414f5 16-Aug-2010 Dmitry Stogov <dmitry@php.net>

Bug #52361 (Throwing an exception in a destructor causes invalid catching)


# 984560f9 12-Aug-2010 Sascha Schumann <sas@php.net>

separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.


# 50a0ea7b 12-Aug-2010 Sascha Schumann <sas@php.net>

separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.


# c5237d82 24-May-2010 Dmitry Stogov <dmitry@php.net>

Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties


# c2b911a0 11-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3)


# d352196b 11-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3)


# 13a78acb 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# 35e83d2a 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# d2281d1d 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# ad929b4a 16-Nov-2009 David Soria Parra <dsp@php.net>

Add object-create and object-destroy dtrace probe


# 3ef86688 12-Oct-2009 Felipe Pena <felipe@php.net>

- Fixed PDORow and PDOStatement crashes when instantiating throught Reflection


# b394a75a 12-Oct-2009 Felipe Pena <felipe@php.net>

- Fixed PDORow and PDOStatement crashes when instantiating throught Reflection


# d85064ad 12-Oct-2009 Felipe Pena <felipe@php.net>

- Fixed PDORow and PDOStatement crashes when instantiating throught Reflection


# ef49b9a8 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.


# 08659c2d 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.


# 7f4dc870 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 3 of 3.


# 3e94ce6a 19-Dec-2008 SVN Migration <svn@php.net>

This commit was manufactured by cvs2svn to create tag 'NEWS'.


# ce2f9bb0 24-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Fix issue with destruction of overloaded objects


# 3110bffd 24-Aug-2008 Marcus Boerger <helly@php.net>

- Fix issue with destruction of overloaded objects
# The issue is that we assume default object handlers when calling method
# __destruct(). Now the default handlers might not be compatible with the
# correct handlers which would result in crashes or they simply do cannot
# support everything the object was supposed to do. The latter case will be
# demonstrated in ext/spl/tests/iterator_068.phpt.


# 32f9d0e1 14-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Improve exception linking


# 75b08f4a 14-Aug-2008 Marcus Boerger <helly@php.net>

- Improved exception linking


# cf7384aa 12-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Constness (Added const qualifier to several function parameters)


# a5f867f3 12-Aug-2008 Felipe Pena <felipe@php.net>

- Constness (Added const qualifier to several function parameters)


# 2bf3bfc7 13-Jul-2008 Marcus Boerger <helly@php.net>

- MFH Exception handling
[DOC]
- Exceptions can be thrown while exceptions are pending, they are linked
- Exceptions can be handled in __destruct
- Add optional Exception $previous parameter to
. Exception::__construct
. ErrorException::__construct


# 0960a894 13-Jul-2008 Marcus Boerger <helly@php.net>

- Fix old workaround, since we are not C++ we can deal with exceptions in
dtors (whether or not an exception is already pending).


# 2b10c53a 18-Mar-2008 Felipe Pena <felipe@php.net>

MFH: Dropped zend.ze1_compatibility_mode
[DOC]


# d9f3a130 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.


# d1dded87 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.


# 9b620d50 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 2 of 2.


# 4b4d634c 07-Oct-2007 Yiduo (David) Wang <davidw@php.net>

MFH: Added macros for managing zval refcounts and is_ref statuses


# dd8af065 11-Jul-2007 Antony Dovgal <tony2001@php.net>

fix folding, CS and WS


# 4223aa4d 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump year.


# 3717df72 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

Bump year.


# 1ab16de0 26-Jul-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38220 (Crash on some object operations)


# 30f4d3f9 26-Jul-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38220 (Crash on some object operations)


# 51d49585 05-Jun-2006 Zeev Suraski <zeev@php.net>

Restore ZE1 compatibility mode (Zend Engine part - the modules patches
will follow later today)


# 75fac72d 31-May-2006 Dmitry Stogov <dmitry@php.net>

Support for nested exceptions and fatal errors in destructors


# 51e52e20 31-May-2006 Dmitry Stogov <dmitry@php.net>

Support for nested exceptions and fatal errors in destructors


# 290ed550 20-May-2006 Marcus Boerger <helly@php.net>

- MFH Improved error message


# 7c3ffb20 20-May-2006 Marcus Boerger <helly@php.net>

- Z_LVAL is a long so use %ld


# b7315f74 20-May-2006 Marcus Boerger <helly@php.net>

- Better error message in case of an exception from a dtor while an
exception is already pending


# b850abcb 20-May-2006 Marcus Boerger <helly@php.net>

- Do not use the protection at this place, we would need another object
shutdown state (e.g. destructed == 2). That's probbaly too much.


# 8e42a843 20-May-2006 Marcus Boerger <helly@php.net>

- Destructors must not be called twice


# 637a4042 09-May-2006 Marcus Boerger <helly@php.net>

- MFH as discussed
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)


# 01cb2b07 30-Mar-2006 Dmitry Stogov <dmitry@php.net>

Unicode support


# 6a53a49c 29-Mar-2006 Antony Dovgal <tony2001@php.net>

MF51: fix bug #36898 (__set() leaks in classes extending internal ones)

Added:
ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)


# 59b8592c 29-Mar-2006 Antony Dovgal <tony2001@php.net>

fix bug #36898 (__set() leaks in classes extending internal ones)

Added:
ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)

to initialize and destroy zend_object structs


# 7c0e5341 16-Mar-2006 Dmitry Stogov <dmitry@php.net>

Dropped zend.ze1_compatibility_mode


# e3b7f3fd 26-Feb-2006 Dmitry Stogov <dmitry@php.net>

Unicode support: MS Visual C compatibility


# 0f1209ab 21-Feb-2006 Dmitry Stogov <dmitry@php.net>

Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
- use union "zstr" as char*/UChar* mixture instead of void*
- Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
- nuke int32_t from ZE (not finisned)


# 2e5d0a3a 21-Feb-2006 Dmitry Stogov <dmitry@php.net>

WS


# b424a326 20-Feb-2006 Dmitry Stogov <dmitry@php.net>

Preparation for portable string API (use macroses to access zval).


# 5de7cc31 04-Jan-2006 Andi Gutmans <andi@php.net>

- Update copyright notices to 2006


# 61e93ccf 04-Jan-2006 Andi Gutmans <andi@php.net>

- Update copyright notices to 2006


# 8bb39e7d 15-Nov-2005 Dmitry Stogov <dmitry@php.net>

Allow recursive calls to __get/__set for different properties


# 64931b62 15-Nov-2005 Dmitry Stogov <dmitry@php.net>

Allow recursive calls to __get/__set for different properties


# e47587e1 15-Aug-2005 Dmitry Stogov <dmitry@php.net>

Fixed several unicode related bugs


# b80cb7bd 11-Aug-2005 Andrei Zmievski <andrei@php.net>

Unicode support


# 23e4102e 04-Aug-2005 Dmitry Stogov <dmitry@php.net>

Fixed clone bug in ze1_compatibilty mode


# 916815b7 03-Aug-2005 foobar <sniper@php.net>

Bump up the year


# 345e0255 07-Jul-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)


# 7e8bd05c 07-Jun-2005 Ilia Alshanetsky <iliaa@php.net>

Fixed ZTS build.


# 055e889b 07-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33243 (ze1_compatibility_mode does not work as expected)


# 8140f095 24-Feb-2005 Andi Gutmans <andi@php.net>

- Revert following patch until we decide what is the right way to handle
- this:
- Fix signatures they are all meant to be able to deal with any type in any
object storage (though we are still missing several parts)


# 3096f1ed 22-Feb-2005 Marcus Boerger <helly@php.net>

- Fix signatures they are all meant to be able to deal with any type in any
object storage (though we are still missing several parts)


# e39f3f3f 28-Sep-2004 Marcus Boerger <helly@php.net>

Simplify/Optmize magic method calls (__get/__set/__call/__clone/__destruct)


# dd5652e4 06-Sep-2004 Marcus Boerger <helly@php.net>

- Fix handling of exceptions in dtors


# 3333380b 02-Mar-2004 Andi Gutmans <andi@php.net>

- Improve fix for protecting destructor's from exceptions.
- I was killing the current exception completely which was wrong.


# 8912a50b 01-Mar-2004 Andi Gutmans <andi@php.net>

- Fix crash in destructors(). You can't throw an exception in destructors
as there is no guaranteed time when the destructor will be called.


# 3ac58bff 04-Feb-2004 Zeev Suraski <zeev@php.net>

- Small fixes


# f5f7d569 04-Feb-2004 Zeev Suraski <zeev@php.net>

Change destructor implementation (details will follow on internals@)


# 363c5878 03-Feb-2004 Marcus Boerger <helly@php.net>

Nuke unused variable


# 848d4aed 03-Feb-2004 Zeev Suraski <zeev@php.net>

Perform a bitwise copy of the object even when __clone() is defined.
__clone() is back to not requiring any arguments, as $that is no longer
needed ($this already contains a copy of the original object, by the time
we __clone() is executed).
Calling the parent clone is done using parent::__clone()


# 8e30d96a 02-Feb-2004 Zeev Suraski <zeev@php.net>

Redesign the clone() feature to fix some fundamental flaws in the previous
implementation.

Using clone directly is now done using
$replica = clone $src;

Clone methods must now be declared as follows:
function __clone($that)
{
}

Clone methods in derived classes can call the __clone method of their parent
classes using parent::__clone($that)


# ccfc46b0 08-Jan-2004 foobar <sniper@php.net>

- Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?


# e20f534e 27-Dec-2003 Marcus Boerger <helly@php.net>

Simplify


# 9702c70a 02-Sep-2003 Marcus Boerger <helly@php.net>

Synch/Unify error messages related to function/method calls


# d4aa155d 09-Aug-2003 Marcus Boerger <helly@php.net>

Precise destructor errors


# 9fa2d523 27-Jul-2003 Stanislav Malyshev <stas@php.net>

make clone and throw coexist peacefully


# 7cdc2d1f 19-Jul-2003 Marcus Boerger <helly@php.net>

Shuffle code to ease writing clone handlers


# 5b54322d 02-Jul-2003 Marcus Boerger <helly@php.net>

Temporairy solution to overcome shutdown propbelms with objects that have
hidden destructors.
#
# If we set the error level to E_ERROR what we must to to be correct and an
# object needs to be automatically destructed in shutdown process then the
# exit would cause memory corruption and a SEGV.


# 669016c7 02-Jul-2003 Marcus Boerger <helly@php.net>

Reorganize this a bit to ensure the object memory is destructed before
showing the error.


# 74a0f6c8 02-Jul-2003 Marcus Boerger <helly@php.net>

Finally fix property cloning and fix the tests accordingly.

# The default behaviour is to copy all properties with all current values
# from the old object. But if __clone is overwritten then only the default
# properties are cloned with their correct default values. So we keep
# the type system intact and also allow real __clone overwriting now.


# 55002874 01-Jul-2003 Marcus Boerger <helly@php.net>

Fix __clone().

# This is somewhat discussable. I copied all properties from the old to the
# new object. But for type correctness we only need to copy the properties
# declared in the class and its parents.
#
# Also someone might want to take care about static and const members.


# 35c40932 01-Jul-2003 Marcus Boerger <helly@php.net>

Fix destructor visibility


# f68c7ff2 10-Jun-2003 James Cox <imajes@php.net>

updating license information in the headers.


# 866332a4 26-Mar-2003 Sebastian Bergmann <sebastian@php.net>

Eliminate TSRMLS_FETCH() calls in zend_objects_new() and zend_objects_get_address().


# 333406bd 01-Feb-2003 foobar <sniper@php.net>

- Added some missing CVS $Id$ tags, headers and footers.


# 46306a32 17-Jan-2003 Harald Radi <phanto@php.net>

export zend_objects_destroy_object()
static inline was meaningless anyways as the function
was only used as a callback handler and was never
called directly


# f7f9721b 05-Nov-2002 Andi Gutmans <andi@php.net>

- Change the automatically created variable $clone in __clone() to
- $that as discussed at the PHP Conference. If there are any objections
- alternative names please let me know. The reason for changing it from
- $clone is because $clone sounds as if it's the newly cloned object and
- not the old one.


# d8651c82 04-Sep-2002 Stanislav Malyshev <stas@php.net>

Support for __get, __set and __call in classes.
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.


# 646292e0 08-Aug-2002 Sebastian Bergmann <sebastian@php.net>

Fix warning.


# 11fb07a3 08-Aug-2002 Stanislav Malyshev <stas@php.net>

Add ZEND_API to functions


# 4a52b988 01-Jul-2002 Andi Gutmans <andi@php.net>

- Export zend_object_get_address()


# b53569c9 22-Jun-2002 Andi Gutmans <andi@php.net>

- Nuke persist_alloc().


# 478ed1cf 31-May-2002 Andi Gutmans <andi@php.net>

- Fix build


# f75f3cff 31-May-2002 Stanislav Malyshev <stas@php.net>

Generalize object storage and reference bookkeeping


# 1fe8df14 14-May-2002 Andi Gutmans <andi@php.net>

- constructor_called is supposed to be destructor_called


# c84a4ead 15-Mar-2002 Andi Gutmans <andi@php.net>

- Pass TSRMLS to callbacks.


# 2505f6b4 01-Mar-2002 Andi Gutmans <andi@php.net>

- Fix crash reported by Sebastian when destructor function causes a fatal
- error. I hope this does it and we don't find any other problems.


# b0423869 08-Feb-2002 Andi Gutmans <andi@php.net>

- Remove object debug messages.


# 6608f073 07-Feb-2002 Stanislav Malyshev <stas@php.net>

Mega-commit: Enter the new object model
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.


# e366f5db 04-Feb-2002 Andi Gutmans <andi@php.net>

- Fix problem with the objects_destructor called during shutdown. It was
- freeing objects from id 0 instead of id 1. id 0 is not used.
- Change isset/empty opcodes to support static members and the new way of
- doing $this->foobar. Also the opcodes operate now on the hash table
- combined with the variable names so that they can be overloaded by the
- soon to be added overloading patch.


# 7309a6ed 25-Jan-2002 Andi Gutmans <andi@php.net>

- First destructor hell fix. There was a situation where an object's
- destructor could be run after its class was already dead. Right now
- object destructors is the first thing whic happens during shutdown in
- order to prevent this problem. It's very likely that destructors will
- cause more grief and we'll have to outline exactly when you should use
- them and what kind of logic you're allowed to do inside of them.
- This bug was reported by sebastian.


# e322abdd 27-Dec-2001 Andi Gutmans <andi@php.net>

- Use two underscores for __construct(), __clone and friends...


# 3d89072c 27-Dec-2001 Andi Gutmans <andi@php.net>

- Only check refcount of object if the destructor was called.


# 73b159e0 27-Dec-2001 Andi Gutmans <andi@php.net>

- Experimental support for destructors. We need to see if destructors
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.


# 29ea3da2 26-Dec-2001 Andi Gutmans <andi@php.net>

- Pretty much finish _clone() support


# 6435c3e9 16-Aug-2001 Andi Gutmans <andi@php.net>

- Remove bogus notice


# ea48c0c4 16-Aug-2001 Andi Gutmans <andi@php.net>

- Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).


# 76a7a5bc 11-Aug-2001 Andi Gutmans <andi@php.net>

- More work on making objects work


# 532677e7 11-Aug-2001 Andi Gutmans <andi@php.net>

- Fix some places which create objects. The fixes are ugly and will be
revised when things start working well


# 1751c4eb 11-Aug-2001 Andi Gutmans <andi@php.net>

- Fix UNIX build.


# 5af7770a 07-Aug-2001 Andi Gutmans <andi@php.net>

- Sync Engine2 CVS with latest Engine CVS