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 |
|
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
|
dccd97d347
|
Avoid unnecessary zval separations
|
2014-04-01 23:44:42 +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
|
7eff369ba9
|
Store constant flags
|
2014-04-01 16:30:13 +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 |
|