Commit Graph

608 Commits

Author SHA1 Message Date
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
fb4e0a6364 Removed invalid STR_RELEASE() 2014-04-16 12:28:20 +04:00
Dmitry Stogov
e99e6958bc Cleanup 2014-04-16 01:45:40 +04:00
Dmitry Stogov
f9b26bc39a Cleanup (2-nd round) 2014-04-15 21:56:30 +04:00
Dmitry Stogov
050d7e38ad Cleanup (1-st round) 2014-04-15 15:40:40 +04:00
Dmitry Stogov
91ed685e26 Close all files and resources before before destroying object storage, because resources may point to objects. (THIS CHANGE MAY BE DANGEROUS) 2014-04-11 02:22:00 +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
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
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
6b2ed577fd Avoid unnecessry reallocations 2014-04-01 22:36:17 +04:00
Dmitry Stogov
70b7950a75 Exclude interned flags from constant flags 2014-04-01 14:20:10 +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
9a8fbdf2f4 Use CV variable offset instead of CV variable number 2014-03-27 16:00:25 +04:00
Dmitry Stogov
c6cba55454 Use ZVAL_DEREF() macro 2014-03-27 13:39:09 +04:00
Dmitry Stogov
f53c31265f Fixed symbol table detaching 2014-03-27 00:04:50 +04:00
Dmitry Stogov
887189ca31 Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing 2014-03-26 18:07:31 +04:00
Dmitry Stogov
ef6919e6f2 Fixed static data cleanup 2014-03-21 13:51:18 +04:00
Dmitry Stogov
6123deb30f Fixed refcounting (proper fix) 2014-03-21 01:08:26 +04:00
Dmitry Stogov
cce7d5a1ec Fixed refcounting 2014-03-21 00:34:26 +04:00
Dmitry Stogov
36cd92a7d3 Fixed passing argument by refefence from internal functions 2014-03-20 17:03:32 +04:00
Dmitry Stogov
da9a2872b0 Fixed cleanup on request shutdown 2014-03-18 14:52:54 +04:00
Dmitry Stogov
aa5f55306b Refactored EG(active_symbol_table) to be zend_array* instead of HashTable* 2014-03-17 23:15:22 +04:00
Dmitry Stogov
d708d3c596 Fixed passing arguments by reference from internal functions 2014-03-11 22:33:28 +04:00
Xinchen Hui
53e312c663 Review ended
Revert "An demo(for review) to show how to fix the problem(symbol table resize)"

This reverts commit 60c354510b.
2014-03-11 14:23:14 +08:00
Xinchen Hui
60c354510b An demo(for review) to show how to fix the problem(symbol table resize) 2014-03-10 16:25:05 +08:00
Xinchen Hui
80625f20e5 Revert "An demo(for review) to show how to fix the problem we meet"
This reverts commit 4aeae15706.
2014-03-10 16:24:35 +08:00
Xinchen Hui
4aeae15706 An demo(for review) to show how to fix the problem we meet 2014-03-10 11:29:28 +08:00
Xinchen Hui
4b40e40ad0 Fixed memleak while sending IS_REFERENCE 2014-03-09 11:48:09 +08:00
Dmitry Stogov
6b303a6bd6 Fixed refcounting 2014-03-07 01:33:33 +04:00
Dmitry Stogov
8d2fb9d479 Internal functions may return (e.g. on wrong arguments) keeping the original return_value. So we have to initialize return_value as IS_NULL. 2014-03-06 13:32:43 +04:00
Dmitry Stogov
f3b4b16883 Fixed passing reference by value in call_user_func() 2014-03-06 01:04:28 +04:00
Dmitry Stogov
018be97c0d Fixed support for undefined constants in RECV_INIT 2014-03-06 00:15:56 +04:00
Dmitry Stogov
84c092f6d6 Fixed by reference parameter passing from internal functions 2014-03-05 16:17:00 +04:00
Dmitry Stogov
3733737328 Handle interned strings as non-refcounted scalars 2014-03-05 13:55:56 +04:00
Dmitry Stogov
19670c2bbc Fixied calling object closures from internal functions 2014-03-05 01:54:21 +04:00
Dmitry Stogov
3810b4ab4a Fixed constant expressions in array indeces handling 2014-02-27 16:41:41 +04:00
Dmitry Stogov
3696e038e5 Various fixes related to read_property(), read_dimension() and iterators refactoring 2014-02-27 16:07:36 +04:00
Dmitry Stogov
78fc6b3570 Fixed refcounting 2014-02-26 01:09:34 +04:00
Dmitry Stogov
77abd35b78 Fixed memory leak 2014-02-25 16:20:42 +04:00
Dmitry Stogov
639e4e1afa Changes zend_is_callable() to use zend_string* instead of char* 2014-02-25 16:03:34 +04:00
Xinchen Hui
499b553c18 Fixed NULL pointer dereference 2014-02-25 18:14:22 +08:00
Dmitry Stogov
789eb6dfc3 Fixed create_function() 2014-02-24 16:35:55 +04:00
Dmitry Stogov
595fc4d901 More constant related fixes 2014-02-24 15:49:15 +04:00
Dmitry Stogov
abb57cc1c2 Merge branch 'refactoring2' of github.com:zend-dev/php into refactoring2 2014-02-24 15:25:43 +04:00
Dmitry Stogov
f4c2810ab4 fixed support for constant expressions 2014-02-24 15:25:24 +04:00
Xinchen Hui
479b82c0d4 Fixed invalid write in vsprintf tests 2014-02-24 17:26:09 +08:00
Dmitry Stogov
23c9d3eb01 Fixed zend_rebuild_symbol_table() using IS_INDIRECT 2014-02-24 11:31:46 +04:00
Dmitry Stogov
008a42e7c8 Fixed error messages 2014-02-21 20:53:09 +04:00
Dmitry Stogov
52bd62eca8 Fixed assertions 2014-02-21 20:35:40 +04:00