Dmitry Stogov
9044f491cc
Use do_alloca() instead of alloca()
2015-12-16 04:59:05 +03:00
Dmitry Stogov
e797871319
Fallbuck to simple dump format if CFG wasn't constructed
2015-12-16 04:57:51 +03:00
Dmitry Stogov
c88ffa9a56
Added e-SSA based DFA optimisation framework (incomplete)
2015-12-16 00:49:44 +03:00
Sebastian Bergmann
29a2c64339
Fugbix typo
2015-12-15 09:16:46 +01:00
Bob Weinand
6694ecdb9d
Fix live_range updates on ZEND(_FE)_FREE opcodes in block_pass
2015-12-14 23:40:28 +01:00
Rasmus Lerdorf
a63f33b282
Support uwsgi sapi in opcache
2015-12-14 06:11:00 -08:00
Nikita Popov
d5597fa01f
Merge branch 'PHP-7.0'
2015-12-14 00:29:57 +01:00
Nikita Popov
7dc5bc5063
Do not swap operands in array addition
...
As we support constant array operands nowadays, the original check
didn't work anymore.
2015-12-14 00:29:05 +01:00
Dmitry Stogov
1fdb63fbd9
ws fixes
2015-12-11 17:40:23 +03:00
Dmitry Stogov
21ba287c3c
dos2unix
2015-12-11 17:29:42 +03:00
Dmitry Stogov
f243aaf985
Added e-SSA based DFA optimisation framework (incomplete)
2015-12-11 17:24:55 +03:00
Dmitry Stogov
061a90f8d1
Describe special meaning of IS_UNUSED oprerand
2015-12-11 02:31:28 +03:00
Dmitry Stogov
dc36810993
Use more compact description encoding schema to free some bits
2015-12-11 01:45:26 +03:00
Dmitry Stogov
cba1a8498c
Improve Optimizer debugging facility (print the meaning of extended_value)
2015-12-11 00:47:02 +03:00
Nikita Popov
3d4a2d2002
Merge branch 'PHP-7.0'
...
Conflicts:
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2015-12-10 18:24:29 +01:00
Nikita Popov
798d168d73
Make update_opN_const implementation symmetric
...
So the main structure is the same...
2015-12-10 18:18:10 +01:00
Nikita Popov
37f3425263
Fix Foo::${42} and similar
...
Fixes segfault on direct use, segfault on opcache evaluated use,
leak on temporary use.
Fixes analogeous segfault for ${42} on opcache eval as well.
2015-12-10 18:14:40 +01:00
Dmitry Stogov
3b5c844757
Initialize bitset before processing the seconf BB (we skip the first one)
2015-12-10 11:29:53 +03:00
Dmitry Stogov
fd20e6cee6
Apply local optimizatons to extended bacic block (this allows some optimizarions across few following BBs).
2015-12-10 01:17:35 +03:00
Dmitry Stogov
7fd7734e58
Explain the disabled optimization pattern
2015-12-09 22:22:07 +03:00
Dmitry Stogov
4fd30c9565
Improve debugging of non-local variables
2015-12-09 17:21:57 +03:00
Dmitry Stogov
d2597ad20b
Improved optimizer dubugging facility
2015-12-09 14:52:00 +03:00
Dmitry Stogov
78fb8118ec
Merge branch 'PHP-7.0'
...
* PHP-7.0:
More verbose error messages
2015-12-09 13:35:31 +03:00
Dmitry Stogov
4b16082e94
More verbose error messages
2015-12-09 13:34:45 +03:00
Dmitry Stogov
d6f3d4b50c
Fixed formating
2015-12-09 13:27:31 +03:00
Dmitry Stogov
44c5fbbc07
Fixed other issues with empty block handling
2015-12-09 10:58:42 +03:00
Xinchen Hui
245a8c3cdf
end is unsigned, this was broken if start == end == 0
2015-12-09 12:18:25 +08:00
Dmitry Stogov
404e003cf1
Delete empty live-ranges
2015-12-09 05:16:30 +03:00
Dmitry Stogov
2cc2396f84
Fixed compilation with enabled internal debuging
2015-12-08 18:12:02 +03:00
Bob Weinand
a11805a4d9
PHP_MD5_CTX is now always used due to fix for #71204
2015-12-08 15:23:14 +01:00
Bob Weinand
d7928aae0a
PHP_MD5_CTX is now always used due to fix for #71204
2015-12-08 15:22:25 +01:00
Dmitry Stogov
a75c195000
Implemented the RFC Support Class Constant Visibility
.
...
Squashed commit of the following:
commit f11ca0e7a5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Dec 8 12:38:42 2015 +0300
Fixed test expectation
commit 211f873f54
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Dec 8 12:28:38 2015 +0300
Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags
commit 51deab84b2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Dec 7 11:18:55 2015 +0300
Fixed issues found by Nikita
commit 544dbd5b47
Author: Dmitry Stogov <dmitry@zend.com>
Date: Sat Dec 5 02:41:05 2015 +0300
Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility
@reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.
2015-12-08 12:40:42 +03:00
Anatol Belski
4aec8bcfa9
Merge branch 'PHP-7.0'
...
* PHP-7.0:
update NEWS
Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
2015-12-07 22:55:24 +01:00
Anatol Belski
7c981192eb
Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
2015-12-07 22:53:35 +01:00
Dmitry Stogov
3d8fdd5d6e
Fixed potential memory leaks
2015-12-07 18:25:25 +03:00
Xinchen Hui
badce8c49a
Merge branch 'PHP-7.0'
2015-12-01 10:35:48 +08:00
Xinchen Hui
ed4b887cf6
Fixed bug #70991 (zend_file_cache.c:710: error: array type has incomplete element type)
2015-12-01 10:35:32 +08:00
Xinchen Hui
cb5af748b1
Merge branch 'PHP-7.0'
2015-11-27 19:12:37 -08:00
Xinchen Hui
5af61aa1cc
Space
2015-11-27 19:12:26 -08:00
Xinchen Hui
f9a56e00f6
Merge branch 'PHP-7.0'
2015-11-27 07:31:19 -08:00
Xinchen Hui
e9a8d7ff1d
Fixed bug #70977 , #70973 (Segmentation fault with opcache.huge_code_pages=1)
2015-11-27 07:30:37 -08:00
Dmitry Stogov
2e6cf2710a
Fixed compilation warning
2015-11-26 11:27:24 +03:00
Xinchen Hui
07a05836de
Merge branch 'PHP-7.0'
2015-11-25 20:20:51 +08:00
Xinchen Hui
9376e8213c
ZEND_SPACESHIP supports
2015-11-25 20:20:05 +08:00
Xinchen Hui
1e9fcb49ac
conflicts variable name
2015-11-20 19:03:18 -08:00
Dmitry Stogov
4d49736155
cleanup
2015-11-21 01:19:45 +03:00
Dmitry Stogov
02fad0414b
Fixed wrong BB.flags initialization
2015-11-20 23:32:27 +03:00
Dmitry Stogov
b3393baa5d
Refactored CFG based optimization using new CFG representation.
...
Squashed commit of the following:
commit 907533390678f58eac738040ef62a40788048bef
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 21:25:28 2015 +0300
cleanup
commit 82f7e6f5bb434f12e9fdf45f597be351527f383c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 21:22:01 2015 +0300
Update build system
commit 8fd83d843fde3f486692de4e2c6b7d64d4192704
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 20:50:32 2015 +0300
Reachable blocks can't be empty
commit 5822a36269833930a35cb3547222357118b11310
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 19:11:02 2015 +0300
added missing constraints
commit 2d0c00b243479924de0260ae8d80d624c36994a3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 19:03:12 2015 +0300
optimization
commit 29d1e5eb210c51b052cac4d6c232aaa2c724dbbb
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 18:34:11 2015 +0300
Added missing optimization patterns
commit 38dd3b3f2459f5193c742633213f41d78326ea28
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 17:47:06 2015 +0300
zend_optimize_block() refactoring
commit 3dc97bd1f6d433dff0617338382347b6d0c08f84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 14:30:32 2015 +0300
We don't use CFG back-references anymore
commit 2242c9e0aa741d287146ad43179650796f199f2d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 14:16:03 2015 +0300
Consistent naming
commit 64f2856716069390ed7703ac88905cebf5e04023
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 13:29:32 2015 +0300
Optimization and separate building of direct CFG from predecessrs calculation
commit 9389be4869b13ec45df5dbd443015d2ac539a347
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 10:44:19 2015 +0300
Use CFG without back references (incomplete, but works)
commit 3d3ecd4b883959cf7b86c33622183295f913924e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 20 00:50:09 2015 +0300
Fixed iteration in reverse order
commit 52f7fde0c3dfa4b4591519828ebdb238c2377936
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 19 18:35:09 2015 +0300
Separate debugging code into zend_dump.c
commit 4193a039ea96bae41baf97c6e458f419e8dbf9c5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 19 17:22:04 2015 +0300
Remove unused code
commit 4228fdc57d8d120e1dad4e4d44045fa1a6f06fe0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 19 17:21:20 2015 +0300
Remove dead live-ranges only on assembling basic blocks
commit 9a4a7966edf19b92678876f85565700694205598
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 19 15:26:29 2015 +0300
New CFG representation (incomplete)
2015-11-20 22:06:36 +03:00
Dmitry Stogov
d6308afce9
Proper optmisation of "goto" into the middle of "try" block.
2015-11-19 11:19:06 +03:00
Dmitry Stogov
df63ec564e
minor fixes
2015-11-18 23:03:20 +03:00