Commit Graph

89612 Commits

Author SHA1 Message Date
Nikita Popov
018bcc6388 Use temporary debug_info for closures 2015-04-16 15:33:47 +02:00
Nikita Popov
6c98024f87 Drop unused is_self member 2015-04-16 15:33:47 +02:00
Dmitry Stogov
2ca2d0938b Micro optimizations for the more frequently paths 2015-04-16 14:46:54 +03:00
Dmitry Stogov
e38ed4c28f Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc().
The actual reallocation routiones are seprated from inlined code to reduce code size.
2015-04-16 14:45:08 +03:00
Dmitry Stogov
05232cc810 Revert "Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc()." That commit significantly increased the code size because of intensive inlining and more expensive reallocation code.
This reverts commit 5275e5560b.
2015-04-16 13:11:54 +03:00
Dmitry Stogov
5275e5560b Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc(). 2015-04-16 12:32:56 +03:00
Dmitry Stogov
a759967dd1 Mark call frames to closures with ZEND_CALL_CLOSURE flag to avoid expensive check at zend_leave_helper() 2015-04-16 12:16:03 +03:00
Xinchen Hui
ec8671d429 Remove duplicated assignment 2015-04-16 11:58:50 +08:00
Nikita Popov
685ccd61c2 Add list of reserved classes to UPGRADING 2015-04-15 22:38:50 +02:00
Nikita Popov
5c214fc10d Add test for recursive __debugInfo()
This also got fixed by switching to object apply count.
2015-04-15 22:38:50 +02:00
Bob Weinand
7c2fbdf58d Remove some redundant exception checking/continuing VM instructions 2015-04-15 22:18:05 +02:00
Nikita Popov
86152b18a3 Add GC support to SPL heap and PQ
ctor/dtor are now no longer called for insert/delete_top operations,
only for cloning and freeing of the object. Otherwise elements will
have a minimum rc of 2 and GC won't be able to free them.
2015-04-15 22:00:12 +02:00
Nikita Popov
dc764bf644 Use object apply count in var_dump / print_r
Instead of using the array apply count on the debug_info array, use
the object apply count for recursion detection when dumping. This
handles recursion in a more generic way and does not require each
debug_info handler to deal with this.

This allows returning a temporary debug_info array, instead of
having to store it in the object (thus delaying destruction of the
values).

Switch SPL debug_info handlers to use a temporary array.
2015-04-15 22:00:12 +02:00
Bob Weinand
3dcad2eea2 Fix bug #69458 2015-04-15 21:56:11 +02:00
Bob Weinand
4e76d58b2b Fix object leak for yield from (added proper refcounting) 2015-04-15 21:42:27 +02:00
Bob Weinand
27033f9818 Forgot to transform some errors to engine exceptions 2015-04-15 21:42:26 +02:00
Nikita Popov
eed18f0ee8 Return null on zpp failure in Array::exchangeArray()
Method was still returning a value despite zpp failing previously...
2015-04-15 20:43:41 +02:00
Nikita Popov
e10be0d0fd Remove unnecessary retval members in SPL
This is what the rv params are for. Avoid holding onto values
longer than necessary.
2015-04-15 20:39:08 +02:00
Ferenc Kovacs
47590aba9b Merge branch 'PHP-5.6'
* PHP-5.6:
  this was reverted
2015-04-15 20:04:47 +02:00
Ferenc Kovacs
60830f49c0 this was reverted 2015-04-15 20:04:03 +02:00
Nikita Popov
b4b872f4c9 Fix leak in RecursiveRegexIterator::getChildren() 2015-04-15 20:03:15 +02:00
Ferenc Kovacs
26d995fa8e Merge branch 'PHP-5.6'
* PHP-5.6:
  66550 will be part of 5.6.8
  66550 will be part of 5.5.24
2015-04-15 20:01:13 +02:00
Dmitry Stogov
92f2ee0973 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix leaks in recursive iterator construction
2015-04-15 20:55:38 +03:00
Ferenc Kovacs
4ddb92be45 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  66550 will be part of 5.5.24
2015-04-15 19:54:30 +02:00
Ferenc Kovacs
ef5f4ef81f 66550 will be part of 5.6.8 2015-04-15 19:54:25 +02:00
Ferenc Kovacs
b75e30c667 66550 will be part of 5.5.24 2015-04-15 19:53:38 +02:00
Dmitry Stogov
d5d2032898 eliminate unnecessary EX(opline) <-> opline reloading 2015-04-15 20:53:27 +03:00
Nikita Popov
7605e02e3b Fix leaks in recursive iterator construction 2015-04-15 19:51:02 +02:00
Ferenc Kovacs
08e1174139 Merge branch 'PHP-5.6'
* PHP-5.6:
  reorder entries, Core is always the first block
2015-04-15 18:53:39 +02:00
Ferenc Kovacs
272805c898 reorder entries, Core is always the first block 2015-04-15 18:53:22 +02:00
Ferenc Kovacs
481b3338ca Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entry
  add missing space to the NEWS entries to align properly
2015-04-15 18:39:30 +02:00
Ferenc Kovacs
ad5723acf2 add missing NEWS entry 2015-04-15 18:39:16 +02:00
Ferenc Kovacs
a07f3ed2a6 add missing space to the NEWS entries to align properly 2015-04-15 18:38:48 +02:00
Ferenc Kovacs
a03089ac45 Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing space to the NEWS entries to align properly
2015-04-15 18:37:20 +02:00
Ferenc Kovacs
7abb318beb add missing space to the NEWS entries to align properly 2015-04-15 18:36:52 +02:00
Anatol Belski
b9732a37c5 fix possible int overflow 2015-04-15 17:57:27 +02:00
Anatol Belski
7a88cfe44d fix datatype mismatches 2015-04-15 17:57:26 +02:00
Anatol Belski
0c6753bf6b optimize structs 2015-04-15 17:57:25 +02:00
Anatol Belski
a01e8c1fe9 fix data type and 64-bit compat 2015-04-15 17:57:23 +02:00
Remi Collet
c48bf6e55c Merge branch 'PHP-5.6'
* PHP-5.6:
  bump zip release to match pecl version
2015-04-15 17:38:01 +02:00
Remi Collet
60b3526bfb bump zip release to match pecl version 2015-04-15 17:37:12 +02:00
Dmitry Stogov
6aee1ee4a1 Optimization of stack-frame construction 2015-04-15 17:02:21 +03:00
Julien Pauli
696c64503c Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-04-15 14:41:41 +02:00
Julien Pauli
d3d5e3db2c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-04-15 14:40:33 +02:00
Julien Pauli
8827a56cb4 Updated NEWS 2015-04-15 14:40:00 +02:00
Dmitry Stogov
ec077328fd Make valgrind happy 2015-04-15 14:20:59 +03:00
Dmitry Stogov
8144795133 Avoid double refcounting 2015-04-15 13:34:23 +03:00
Anatol Belski
b816266223 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix dir separator in test
2015-04-15 11:10:29 +02:00
Anatol Belski
e53947609a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix dir separator in test
2015-04-15 11:09:54 +02:00
Anatol Belski
8947c7aa0d fix dir separator in test 2015-04-15 11:07:13 +02:00