1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 18:23:26 +02:00
Commit Graph

8333 Commits

Author SHA1 Message Date
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
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 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 816f8dfefb Fixed macro 2014-04-09 22:23:22 +04:00
Dmitry Stogov 8732f5e5d7 Removed useless code 2014-04-09 17:55:40 +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 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 5c912a805b Use "fast" comparison function 2014-04-02 00:48:26 +04:00
Dmitry Stogov 60961bba3d Avoid useless memset() 2014-04-01 23:56:45 +04:00
Dmitry Stogov 4456bfaa72 Avoid unnecessry reallocations 2014-04-01 23:27:51 +04:00
Dmitry Stogov 6b2ed577fd Avoid unnecessry reallocations 2014-04-01 22:36:17 +04:00
Dmitry Stogov 8ddda2f649 Avoid unnecessry reallocation 2014-04-01 21:19:44 +04:00
Dmitry Stogov 8dedaf8512 Use interned strings for one character strings 2014-04-01 18:06:50 +04:00
Dmitry Stogov 042c937f69 Use STR_COPY() instead of STR_DUP() where possible 2014-04-01 17:10:15 +04:00
Dmitry Stogov a25a1ba0ef STR_DUP() doesn't duplicate interned strings anymore. In case new string is required STR_INIT() or STR_ALLOC() should be used. 2014-04-01 16:31:03 +04:00
Dmitry Stogov 9799542ffa Fixed parameter passing 2014-04-01 14:42:04 +04:00
Dmitry Stogov 015e5dc43b In case the string can't be interned it must not be released 2014-04-01 14:35:34 +04:00
Dmitry Stogov 70b7950a75 Exclude interned flags from constant flags 2014-04-01 14:20:10 +04:00
Dmitry Stogov 9b196ca6e8 Added check for interned strings 2014-04-01 14:19:43 +04:00
Dmitry Stogov 98ca90c910 Fixed char*/zend_string* mess 2014-04-01 13:57:23 +04:00
Dmitry Stogov 47fdb9eae3 fixed craches at request shutdown and memory leaks 2014-03-31 16:09:45 +04:00
Dmitry Stogov 5324f22f59 ext/opcache refactoring (incomplete) 2014-03-28 23:34:49 +04:00
Xinchen Hui 3647fc6fcc Refactor session (incompleted) 2014-03-28 18:46:25 +08: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 68385716a4 Fixed support for references & cleanup 2014-03-27 18:14:57 +04:00
Dmitry Stogov 8bfd9a0e57 Fixed memory leak 2014-03-27 16:43:40 +04:00