Commit Graph

78982 Commits

Author SHA1 Message Date
Dmitry Stogov
0ae14f3a1d Fixed access to uninitialized data 2014-04-10 10:38:40 +04:00
Dmitry Stogov
eb69fd9b0b Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2 2014-04-10 03:22:06 +04:00
Nikita Popov
a6be32f59a IS_INTERNED is not always 0 in ZTS
The current implementation chooses to intern "" in ZTS. Either that
should be removed or IS_INTERNED needs to actually check the flag.
2014-04-09 23:54:03 +02:00
Dmitry Stogov
6ee5e813ab var_push_dtor_no_addref() is useles (var_push_dtor() doesn't work properly as well) 2014-04-10 01:49:26 +04:00
Nikita Popov
19ccd79942 Fix copying of constants for ZTS
Just a quick hack, should probably add an internal_copy_ctor
function for this.
2014-04-09 23:41:17 +02:00
Nikita Popov
3ce96eabc0 Fix function copying in ZTS
Still doesn't entirely work :/
2014-04-09 23:41:16 +02:00
Nikita Popov
20f2e5986e Fix ZTS build
This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.
2014-04-09 23:41:16 +02:00
Dmitry Stogov
2016e72111 Temporary refcounting fix 2014-04-10 01:08:52 +04:00
Dmitry Stogov
d8a0c6c6ab typo 2014-04-10 00:22:13 +04:00
Dmitry Stogov
29f068779f Fixed ext/spl/tests/iterator_035.phpt 2014-04-09 23:49:58 +04:00
Dmitry Stogov
a938b24607 Fixed resource to integer conversion 2014-04-09 22:31:40 +04:00
Dmitry Stogov
816f8dfefb Fixed macro 2014-04-09 22:23:22 +04:00
Dmitry Stogov
b1d2efcc2d Fixed reference counting 2014-04-09 18:11:18 +04:00
Dmitry Stogov
8732f5e5d7 Removed useless code 2014-04-09 17:55:40 +04:00
Dmitry Stogov
9b276c7a0c Fixed error reporting 2014-04-09 17:08:52 +04:00
Dmitry Stogov
b7e6c8d0f8 Fixed reference counting 2014-04-09 17:02:13 +04:00
Dmitry Stogov
79b27dc096 Fixed reference counting 2014-04-09 16:48:03 +04:00
Dmitry Stogov
d9f6068fd3 Fixed GC 2014-04-09 15:26:45 +04:00
Dmitry Stogov
22ec682e77 Fixed reference counting 2014-04-09 15:05:22 +04:00
Dmitry Stogov
085be9d618 Fixed ArrayObject::sort() family 2014-04-09 14:25:35 +04:00
Dmitry Stogov
39d2cede74 Fixed support for IS_INDIRECT and IS_REFERENCE 2014-04-09 13:23:28 +04:00
Dmitry Stogov
ad524d2818 Use proper size 2014-04-09 12:16:21 +04:00
Dmitry Stogov
48d3b95aee Fixed NULL pointer dereferencing 2014-04-09 11:56:48 +04:00
Dmitry Stogov
98ab24f1af Fixed NULL pointer dereferencing 2014-04-09 11:39:39 +04:00
Dmitry Stogov
abbb1c0f00 Unset CV before calling zval_ptr_dtor(), because its destructor may bailout and stay CV value in inconsistet state 2014-04-09 10:47:24 +04:00
Dmitry Stogov
c99b767537 Fixed generator destruction 2014-04-09 10:47:03 +04:00
Dmitry Stogov
479f520d14 Fixed store of "shared" zend_strings 2014-04-09 09:43:42 +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
0e7d30e8d3 Optimized ASSIGN_OP 2014-04-08 02:25:49 +04:00
Dmitry Stogov
3d0b32b3db IS_CONST can't be a reference 2014-04-08 00:52:07 +04:00
Dmitry Stogov
f3c57716f7 Optimized ZEND_FETCH_R and family 2014-04-08 00:38:54 +04:00
Dmitry Stogov
3d17219cd8 Refactored zend_hash_* iteration API zend_hash_fove_forward_ex(ht, pos) and family require second argument to be real pointer.
&(ht)->nInternalPointer should be passed instead of NULL.
zend_hash_update_current_key() may work only with internal pointer.
2014-04-07 23:14:17 +04:00
Dmitry Stogov
3167b49ce9 Allocate HashTable->arData and HashTable->arHash at once 2014-04-07 18:22:03 +04:00
Dmitry Stogov
66b3b907c2 Cleanup 2014-04-07 16:50:41 +04:00
Dmitry Stogov
bf35b22af5 Optimized ISSET_ISEMPTY_DIM_OBJ 2014-04-07 14:56:34 +04:00
Dmitry Stogov
3485b11499 "incremental" hash bucket initialization 2014-04-07 13:31:44 +04:00
Dmitry Stogov
df7293b072 don't use memset() for array of zval initialization 2014-04-07 12:14:44 +04:00
Dmitry Stogov
8b2bb30137 Use macros 2014-04-07 10:57:58 +04:00
Dmitry Stogov
a94923d5cb Avoid double zval copying in ZEND_SEND_VAL and zend_send_by_var_helper 2014-04-05 02:14:17 +04:00
Dmitry Stogov
a80e945835 Optimized ZEND_FETCH_DIM_* 2014-04-05 01:56:51 +04:00
Dmitry Stogov
c11dc75b4e Refactored IS_INDIRECT IS_VAR passing between opcodes to avoid reference counting 2014-04-04 19:01:53 +04:00
Dmitry Stogov
cea26aa2eb Tergets of ASSIGN and ASSIGN_REF don't have to be initialized 2014-04-04 15:22:41 +04:00
Dmitry Stogov
eaeb3c39b4 Optimized RECV_* opcodes 2014-04-04 14:36:34 +04:00
Dmitry Stogov
3bc8810b1e Constant duplication optimization
Argument receiving optimization
2014-04-04 03:55:27 +04:00
Dmitry Stogov
58f0f2503c Various VM optimizations 2014-04-04 02:52:53 +04:00
Dmitry Stogov
58871730c8 ASSIGN_REF optimization 2014-04-03 16:53:30 +04:00
Dmitry Stogov
76cc99fe60 Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc) 2014-04-03 15:26:23 +04:00
Dmitry Stogov
d8099d0468 Changed data layout to allow more efficient operations 2014-04-02 14:34:44 +04:00
Dmitry Stogov
3b25faa4aa Fixed 0 index handling 2014-04-02 12:09:05 +04:00
Dmitry Stogov
7240b4ec4d Avoid unnecessary zval separations 2014-04-02 01:56:16 +04:00