Commit Graph

8376 Commits

Author SHA1 Message Date
Dmitry Stogov
f71da39210 Use ZEND_HASH_FOEACH_* instead of zend_hash_apply_* 2014-04-21 13:55:25 +04:00
Dmitry Stogov
e9f4d822b0 Avoid useles copy ctor 2014-04-21 13:19:52 +04:00
Dmitry Stogov
54d9ad53f4 More ZEND_HASH_FOREACH_* related changes 2014-04-19 00:08:14 +04:00
Dmitry Stogov
7652a977a8 Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family. 2014-04-18 19:18:11 +04:00
Dmitry Stogov
ea2e1bb1eb Optimized zend_leave_helper() 2014-04-18 13:46:36 +04:00
Dmitry Stogov
e7b3b1132a Fixed support for references 2014-04-17 17:21:59 +04:00
Dmitry Stogov
5c02e0fc5f Cache op_array->run_time_cache in zend_execute_data for faster access 2014-04-17 16:36:04 +04:00
Dmitry Stogov
3cca67f740 Use local variables instead of opline operands to access cache_slots 2014-04-17 16:10:16 +04:00
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
dfaf8b6d28 Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2 2014-04-17 02:12:52 +04:00
Dmitry Stogov
6976eb2919 Fixed support for unspecialized and GOTO and SWITCH executor 2014-04-17 02:12:06 +04:00
Nikita Popov
f98937fa80 Don't copy in ZEND_CAST if type is already correct 2014-04-16 22:39:50 +02:00
Dmitry Stogov
5bb493c40b op_array->filename and op_array->filename may be kept in opcache SHM 2014-04-16 22:39:23 +04:00
Dmitry Stogov
2d62a12128 Prevented modification of constant arguments 2014-04-16 21:31:32 +04:00
Dmitry Stogov
54c338acc1 Fixed reference counting 2014-04-16 18:06:03 +04:00
Dmitry Stogov
533a8b65f8 Fixed typo 2014-04-16 16:35:41 +04:00
Dmitry Stogov
2f65090a38 Fixed reference counting 2014-04-16 12:33:25 +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
Nikita Popov
7a1a6092f6 Add functions for extracting long/double/string from zval
These function get the long / double / string value of a zval with
usual cast semantics, but without actually modifying the zval.

Didn't go on a killing spree for convert_to_* yet...
2014-04-15 20:32:47 +02: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
93d3a613d8 Fixed support for references 2014-04-15 11:13:23 +04:00
Xinchen Hui
a0690ff288 Fixed zend_object_get_t in simpleXML 2014-04-15 11:05:03 +08:00
Dmitry Stogov
460120c887 Fixed reference counting 2014-04-15 01:16:09 +04:00
Dmitry Stogov
cc50ebc487 Fixed memory leak 2014-04-14 23:53:25 +04:00
Dmitry Stogov
9629eea9e7 The test works out of the box 2014-04-14 22:43:33 +04:00
Dmitry Stogov
b0b54e8db4 Fixed nested GC calls (valgrind error in Zend/tests/gc_016.phpt) 2014-04-14 22:41:42 +04:00
Dmitry Stogov
5dc52e4880 Fixed interface constants inheritance.
Now we use IS_REFERENCE for inhereted class constants.
I might miss some edje cases.
2014-04-14 13:24:43 +04:00
Nikita Popov
4fc3d2d104 Copy varname before unset
Otherwise we get issues when the varname variable coincides with
the variable that is deleted.
2014-04-13 23:07:10 +02:00
Dmitry Stogov
b178992cd1 Temporary fix for Zend/tests/bug46238.phpt 2014-04-12 00:50:36 +04:00
Nikita Popov
2c6ee5dcb5 Fix argument unpacking 2014-04-11 19:53:14 +02:00
Dmitry Stogov
e27eca90a5 for some reason gcc -O2 compiled the previous code in unexpected way 2014-04-11 18:16:03 +04:00
Dmitry Stogov
13f0c8b18c Fixed double free 2014-04-11 16:48:38 +04:00
Dmitry Stogov
b6af031e52 Fixed support for references 2014-04-11 15:05:12 +04:00
Dmitry Stogov
f1f3e3c371 fixed persistent reaource destruction 2014-04-11 14:47:38 +04:00
Dmitry Stogov
ec4314f818 Fixed reference counting 2014-04-11 12:43:22 +04:00
Dmitry Stogov
aeb64f5447 Fixed support for references 2014-04-11 11:15:31 +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
98350cdcea Introduced API to close all resources at once 2014-04-11 02:21:06 +04:00
Dmitry Stogov
a9599c9512 Fixed memory leak 2014-04-10 23:36:16 +04:00
Dmitry Stogov
8eb8d123e0 Fixed suppor for multibyte encoding 2014-04-10 18:47:47 +04:00
Nikita Popov
f449b04713 Fix some ZTS issues and leaks 2014-04-10 13:50:25 +02: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
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