1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00
Commit Graph

8325 Commits

Author SHA1 Message Date
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
Dmitry Stogov 9a8fbdf2f4 Use CV variable offset instead of CV variable number 2014-03-27 16:00:25 +04:00
Dmitry Stogov d83d34ba6d Cleanup 2014-03-27 14:55:52 +04:00
Dmitry Stogov c6cba55454 Use ZVAL_DEREF() macro 2014-03-27 13:39:09 +04:00
Dmitry Stogov 54d559d893 Replaced (Z_TYPE(x) == IS_REFERENCE) with (Z_ISREF(x)) 2014-03-27 11:50:45 +04:00
Dmitry Stogov e2e99b0670 Typo 2014-03-27 11:40:59 +04:00
Dmitry Stogov 36f24c512e Inlined "slow" CV lookup code (now it's cheap)
Removed expectations for undefined CV acess for BP_VAR_W and BP_VAR_IS modes
2014-03-27 11:19:34 +04:00
Dmitry Stogov 92aef5279a Fixed support for references 2014-03-27 00:05:06 +04:00
Dmitry Stogov f53c31265f Fixed symbol table detaching 2014-03-27 00:04:50 +04:00