Commit graph

691 commits

Author SHA1 Message Date
Nikita Popov
272a9f29f5 Merge branch 'PHP-7.1' 2017-06-23 17:33:36 +02:00
Nikita Popov
5b5a92b8b6 Fixed bug #74623 2017-06-23 17:32:45 +02:00
Nikita Popov
4948da178a Make inference robust against infinite loop
Right now, if narrowing occurs on non-debug builds, inference can
easily go into an infinite loop. Prevent this, and add a pointer
that this should be reported as a bug.
2017-06-23 17:07:44 +02:00
Dmitry Stogov
68dc754998 Avoid string reallocations in html_entity_decode() and htmlspecialchars_decode() 2017-06-06 16:09:26 +03:00
Dmitry Stogov
81a6ee9aa4 Avoid string reallocations in preg_quote() 2017-06-06 13:56:19 +03:00
Dmitry Stogov
a0cc6d426f New optimization pattern 2017-05-31 09:53:10 +03:00
Dmitry Stogov
da01fa3897 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed wrong condition
  ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap)
  ext/ldap: Allow default host from ldap.conf to work.
2017-05-31 00:41:12 +03:00
Dmitry Stogov
316aaca155 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed wrong condition
2017-05-31 00:40:57 +03:00
Dmitry Stogov
77cbf8a657 Fixed wrong condition 2017-05-31 00:40:33 +03:00
Dmitry Stogov
6043f76ad7 Added ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement corresponding builtin functions.
Special optimisation for "array_slice(INT, func_get_args())" pattern.
2017-05-30 13:23:17 +03:00
Dmitry Stogov
f00d1c72b4 Added ZEND_GET_CLASS, ZEMD_GET_CALLED_CLASS, ZEND_GET_TYPE instructions, to implement corresponding builtin functions. 2017-05-25 18:41:28 +03:00
Dmitry Stogov
cd953269d3 Added ZEND_COUNT instruction, to implement corresponding builtin. 2017-05-25 12:52:34 +03:00
Dmitry Stogov
89b3c9f647 Optimizer support for ZEND_IN_ARRAY 2017-05-24 23:37:35 +03:00
Dmitry Stogov
372397f518 Updated func info 2017-05-18 19:24:30 +03:00
Dmitry Stogov
a151d614ba Added missing "successors_count" update. 2017-05-17 12:52:36 +03:00
Xinchen Hui
8cd870a9e0 Fixed hash val calculating 2017-04-19 17:15:34 +08:00
Xinchen Hui
187f42149d Improve fix for #74456 2017-04-18 12:47:53 +08:00
Xinchen Hui
0a27a5ba8c Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  Fix loop identification
2017-04-17 20:27:07 +08:00
Xinchen Hui
1837eea66d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74456 (Segmentation error while running a script in CLI mode)
2017-04-17 20:26:57 +08:00
Xinchen Hui
d6315c2fbb Fixed bug #74456 (Segmentation error while running a script in CLI mode)
Instead of make update_op1_by_const supports FETCH_LIST(CASE), I think
disable it is more safe for 7.1
2017-04-17 20:24:39 +08:00
Nikita Popov
4cd5e6816b Drop dead zend_optimizer_lookup_cv() function 2017-04-17 12:20:25 +02:00
Nikita Popov
88c85cbd5c Merge branch 'PHP-7.1' 2017-04-17 12:19:46 +02:00
Nikita Popov
abf16c18c7 Fix loop identification
When assigning loop headers, we should treat already detected
loops as collapsed to their loop header, instead of ignoring them.

This fixes the loop header of BB2 in mandel2 if live-range CFG
splitting is enabled.
2017-04-17 12:17:32 +02:00
Nikita Popov
7cd7305b1b Merge branch 'PHP-7.1' 2017-04-15 12:36:02 +02:00
Nikita Popov
00c6ce0e00 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-15 12:35:53 +02:00
Nikita Popov
0beccc51f1 Fix compact_literals of INIT_METHOD_CALL with CONST op1 2017-04-15 12:35:09 +02:00
Nikita Popov
7f5d47dfd1 Merge branch 'PHP-7.1' 2017-04-15 01:40:59 +02:00
Nikita Popov
6c2222796b Improve fix for bug #74442
Make the check less conservative to be consistent with the other
cases.
2017-04-15 01:39:33 +02:00
Nikita Popov
feb828ffb0 Merge branch 'PHP-7.1' 2017-04-14 22:20:48 +02:00
Nikita Popov
2f22dffd1a Fixed bug #74442 2017-04-14 22:20:32 +02:00
Nikita Popov
81b4bfcb96 Merge branch 'PHP-7.1' 2017-04-14 22:04:07 +02:00
Nikita Popov
3ffe2cd251 Fixed bug #74431
If the last instruction in a block is a NOP, then `new_opline`
here won't be a copy of `opline`, it will be a copy of the last
non-NOP opline. Avoid performing a spurious update by explicitly
checking for NOP.
2017-04-14 22:03:06 +02:00
Nikita Popov
07fe8616e6 Set flags on the right block 2017-04-11 00:04:07 +02:00
Nikita Popov
a4c7c55c0b Move call/recv splitting into correct branch 2017-04-10 23:51:27 +02:00
Nikita Popov
ad8652818a Implement jumptable optimization 2017-04-10 22:23:14 +02:00
Nikita Popov
d1a012b602 Support more than two successors in opcache CFG 2017-04-10 22:18:24 +02:00
Nikita Popov
eeb6cdf810 Merge branch 'PHP-7.1' 2017-04-10 22:12:05 +02:00
Nikita Popov
1df3099f2f Merge branch 'PHP-7.0' into PHP-7.1 2017-04-10 22:11:47 +02:00
Nikita Popov
6f950e83eb Fix JMPZ+JMP => NOP+JMP optimization 2017-04-10 22:09:34 +02:00
Xinchen Hui
36848f6e08 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Remove unused var
  Fix invalid free of persistent results on error/connection loss in mysqlnd (bug 74376)
2017-04-07 15:21:57 +08:00
Xinchen Hui
e656455eae Remove unused var 2017-04-07 15:21:19 +08:00
Dmitry Stogov
bd78dc578e Expose zend_ssa_is_no_val_use() 2017-04-03 16:57:29 +03:00
Thomas Punt
9f08aff3fd Remove superfluous allocation checks around ZMM-based functions 2017-04-02 00:58:19 +02:00
Dmitry Stogov
f07e4c033c Allow SSA construction with source information about CV used as result (DFG fix) 2017-03-30 21:24:29 +03:00
Dmitry Stogov
6af1ffb57d Allow SSA construction with source information about CV used as result 2017-03-30 20:14:01 +03:00
Nikita Popov
d6f70f0ee3 Disable block pass for large functions
(Backport of 7ea261685f to 7.0.)
2017-03-28 22:07:37 +02:00
Nikita Popov
d3aac6f810 Merge branch 'PHP-7.1' 2017-03-17 12:54:11 +01:00
Nikita Popov
7ea261685f Disable block pass for large functions
This is the last fix for bug #74250.
2017-03-17 12:49:20 +01:00
Sebastian Bergmann
6d748b43ae Merge branch 'PHP-7.1' 2017-03-16 19:10:23 +01:00
Sebastian Bergmann
ccc35d1903 Fugbix typo 2017-03-16 19:10:07 +01:00