Dmitry Stogov
2ed8a17045
Refactored run_time_cache usage in object handlers
2014-07-07 20:54:31 +04:00
Xinchen Hui
d85e39cf4a
Fixed invalid read in ext/pdo/tests/pdo_025.phpt(pgsql)
2014-05-16 19:11:38 +08:00
Dmitry Stogov
5864ce8a44
Fixed compilation warnings
2014-04-22 17:46:34 +04:00
Dmitry Stogov
e96073b1e4
Moved zend_literal->cache_slot right into zval.
...
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Dmitry Stogov
d8a0c6c6ab
typo
2014-04-10 00:22:13 +04:00
Dmitry Stogov
7402af380b
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.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
d8099d0468
Changed data layout to allow more efficient operations
2014-04-02 14:34:44 +04:00
Dmitry Stogov
ea85451b65
Refactored data structures to keep zend_object* instead of a whole zval in some places
2014-03-28 02:11:22 +04:00
Dmitry Stogov
5db78476e3
Mark objects that are going to be deleted
2014-03-19 23:50:50 +04:00
Dmitry Stogov
b7938ab1bd
Refactored GC (incomplete)
2014-03-19 17:00:28 +04:00
Dmitry Stogov
1c3ba95bb5
Refactored read_property() and read_dimension() handlers
2014-02-27 15:40:13 +04:00
Dmitry Stogov
51d7c4828a
Fixed tests/run-test/test009.phpt
2014-02-21 15:48:56 +04:00
Xinchen Hui
cc15eb500e
Fixed segfault in Zend/tests/008.phpt
2014-02-20 16:21:41 +08:00
Xinchen Hui
b917458490
Fixed segfault (Zend/tests/026.phpt now pass)
2014-02-20 15:39:46 +08:00
Dmitry Stogov
110e01a21e
Fixed object destruction
2014-02-18 22:35:54 +04:00
Dmitry Stogov
be82a07776
Use better data structures (incomplete)
2014-02-12 18:08:11 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Xinchen Hui
7da6498342
Fixed bug #60598 (cli/apache sapi segfault on objects manipulation)
2013-08-30 11:20:24 +08:00
Dmitry Stogov
f9e8678dd3
Fixed bug #63882 (zend_std_compare_objects crash on recursion)
2013-01-09 11:30:50 +04:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Dmitry Stogov
e8c87c6d21
- Fixed bug #52773 (Proxy objects have an inadequate destroy_object store callback)
...
- Fixed bug #52774 (Proxy object's store free callback calls zval_ptor_dtor on already freed data)
2010-10-04 07:15:30 +00:00
Dmitry Stogov
94dd83722b
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
2010-04-20 10:57:45 +00:00
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Antony Dovgal
4e2c0bc905
MFH: fix bug #47353 (crash when creating a lot of objects in object destructor)
2009-02-11 09:58:23 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Marcus Boerger
ce2f9bb0cf
- MFH Fix issue with destruction of overloaded objects
2008-08-24 16:49:19 +00:00
Felipe Pena
cf7384aa40
- MFH: Constness (Added const qualifier to several function parameters)
2008-08-12 17:20:25 +00:00
Dmitry Stogov
caee59b856
everted (this part was committed by mistake)
2008-02-19 17:05:41 +00:00
Dmitry Stogov
a4b872a6d8
iFixed memory leak
2008-02-19 12:00:53 +00:00
Dmitry Stogov
71592cec06
Added garbage collector
2008-01-22 09:27:48 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Yiduo (David) Wang
4b4d634cb9
MFH: Added macros for managing zval refcounts and is_ref statuses
2007-10-07 05:22:07 +00:00
Jani Taskinen
226c56fe76
MFH: Fixed compiler warnings
2007-07-21 00:35:15 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Dmitry Stogov
6a8f267db6
Fixed bug #39602 (Invalid session.save_handler crashes PHP)
2006-11-23 08:07:05 +00:00
Dmitry Stogov
f5543a428d
Fixed bug #38287 (static variables mess up global vars)
2006-08-07 15:15:22 +00:00
Dmitry Stogov
51e52e20ef
Support for nested exceptions and fatal errors in destructors
2006-05-31 12:59:31 +00:00
Marcus Boerger
637a40423c
- 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)
2006-05-09 23:53:23 +00:00
Antony Dovgal
1fa58ec003
initialize bucket #0 with nulls (normally it shouldn't be used at all, but if it is - we don't want any memory issues, do we?)
2006-03-28 21:58:01 +00:00
Dmitry Stogov
b8360c376b
Fixed bug #36006 (Problem with $this in __destruct())
2006-01-16 10:12:36 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Dmitry Stogov
5519008169
Fixed call to __destruct() for objects of classes delivered from internal ones those use zend_objects_store_put(obj, NULL, ...
2005-11-15 12:41:31 +00:00
Ilia Alshanetsky
58a0906bf9
MFH: Fixed bug #34802 (Fixed crash on object instantiation failure).
2005-10-10 14:31:12 +00:00
Dmitry Stogov
386a3b9305
Fixed bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called)
2005-09-27 18:07:41 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
ce23692663
Fixed bug #32799 (crash: calling the corresponding global var during the destruct)
2005-06-06 10:38:43 +00:00
Marcus Boerger
237cd7e511
- We cannot provide this fallback becuase it requires zend_object ptr's.
...
# Found that out after discussing with Stas. As a consequence still every
# extension that provides specialised class types is responsible for
# calling its __destruct. This is currently not done for several exts.
2005-02-22 14:53:57 +00:00
Marcus Boerger
93e13aff05
- Force calling of dtors unless otherwise specified (fixes several __destruct bugs)
2005-02-22 11:43:05 +00:00
Stanislav Malyshev
3755c03291
fix crash when dtor is fialing on shutdown
2004-09-17 10:13:52 +00:00
Marcus Boerger
f5cf052225
- Fix bug #29368 : The destructor is called when an exception is thrown from the constructor
2004-07-25 17:25:44 +00:00
Andi Gutmans
0b0c5d3fac
- Fix problem with object being destroyed more than once
2004-05-23 20:33:09 +00:00
Wez Furlong
3a4f33e31f
As discussed with Andi, add this helper API for setting the object pointer from
...
within the constructor.
Please read the comment for notes about how to use it; in general, you don't
need it, so don't use it.
2004-05-17 11:27:16 +00:00
Wez Furlong
d056b25c3f
Add count_elements handler for overloaded objects.
2004-05-04 15:03:28 +00:00
Ilia Alshanetsky
bf997c3eb3
Removed unused variable.
2004-04-04 18:28:59 +00:00
Stanislav Malyshev
7cf92e79ed
return zval *, to make it useful for read_property
2004-03-21 18:27:58 +00:00
Stanislav Malyshev
b372b86b89
update to new API
2004-03-21 18:21:46 +00:00
Andi Gutmans
a87cc63aaa
- Real fix for bug #27535 (Dmitry)
2004-03-11 13:40:19 +00:00
Andi Gutmans
aa472500e1
- Attempt to fix bug #27535
2004-03-11 13:27:18 +00:00
Andi Gutmans
1c180ba3e8
- Fix crash:
...
<?
class foo {
function __destruct() {
foreach ($this->x as $x);
}
}
new foo();
echo 'OK';
?>
2004-03-03 09:58:58 +00:00
Marcus Boerger
ccef2cfb67
As Andi found out the dtor may increase the refcount.
2004-02-25 21:39:59 +00:00
Marcus Boerger
b0529e5485
Fix object destruction/free in shutdown
...
- set destructor_called even when no dtor is given
- use free_storage even when no dtor hat to be called
2004-02-25 08:16:54 +00:00
Marcus Boerger
98f725b0e0
Checking once for dtor is enough
2004-02-25 07:47:56 +00:00
Andi Gutmans
8a129bfc47
- Check if free_storage exists
2004-02-08 17:08:11 +00:00
Zeev Suraski
5c3e03a2ff
The valid bit was necessary after all - restored
2004-02-04 12:30:48 +00:00
Zeev Suraski
6584dca194
Fixlets
2004-02-04 12:17:57 +00:00
Zeev Suraski
f5f7d569a0
Change destructor implementation (details will follow on internals@)
2004-02-04 09:56:20 +00:00
Zeev Suraski
3be75ceda2
Remove more garbage - valid bit was not really necessary
2004-02-03 15:49:15 +00:00
Zeev Suraski
c5a7b668cd
- Clean garbage (delete was nuked a long time ago)
2004-02-03 15:37:37 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Marcus Boerger
296529b886
Split isset/isempty for object property and object dimension hooking.
2003-11-10 16:14:44 +00:00
Zeev Suraski
3f5acc73a5
Remove redundant callback, simplify API
2003-10-05 07:52:28 +00:00
Marcus Boerger
ca9c03b504
Add missing entry
2003-08-13 07:17:16 +00:00
Zeev Suraski
6a50660cfe
Fix isset()/empty() for non-trivial object elements
...
(API change - read_property now accepts an extra element)
Fixes bug #24436
2003-07-22 13:49:33 +00:00
Marcus Boerger
c9c1fcc026
More informative errors here and these are real core errors
2003-07-20 17:50:23 +00:00
Zeev Suraski
3cfa6a68f4
Add get_dim callback
2003-07-07 10:53:27 +00:00
Zeev Suraski
65f8bafb29
Fix & whitespace
2003-07-07 09:08:33 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Zeev Suraski
f660d28143
- read_property cleanup
...
- Implement unset/isset/empty for PPP
2003-02-05 14:27:30 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Stanislav Malyshev
683cf733bd
extra safety
2003-01-29 14:27:40 +00:00
Sterling Hughes
d3f04d8ecc
fix by phanto to the cloning
2003-01-21 00:00:38 +00:00
Harald Radi
5795ed62f4
make std_object_handlers struct available for shared modules
2003-01-17 21:16:12 +00:00
Andi Gutmans
94e6eb06dd
- Don't check if the handle is bogus. We should crash.
2003-01-13 04:55:34 +00:00
Stanislav Malyshev
0ccbd37df7
validate handle
2003-01-12 12:56:04 +00:00
Andi Gutmans
43139dc755
- WS - Always use "if (" and not "if("
2002-09-15 07:45:26 +00:00
Stanislav Malyshev
11fb07a360
Add ZEND_API to functions
2002-08-08 17:53:32 +00:00
Andi Gutmans
1b5ac1386e
- Path which should improve previous fix.
2002-07-07 19:59:37 +00:00
Andi Gutmans
4271895222
- First try at solving problem with different objects being allocated the
...
- same id.
2002-07-07 19:34:34 +00:00
Andi Gutmans
e8fe69884f
- Fix copy&paste problem where we allocated according to an old structure
...
- decleration and not the new one.
2002-06-15 08:47:11 +00:00
Andi Gutmans
006c46e920
- Fix build (one more coming up)
2002-05-31 15:34:12 +00:00
Stanislav Malyshev
f75f3cff82
Generalize object storage and reference bookkeeping
2002-05-31 12:09:19 +00:00