Revision tags: php-7.1.0RC3, php-5.6.27RC1, php-7.0.12RC1, php-5.6.26, php-7.1.0RC2, php-7.0.11, php-5.6.26RC1, php-7.1.0RC1, php-7.0.11RC1, php-7.1.0beta3, php-5.6.25, php-7.0.10, php-7.1.0beta2, php-5.6.25RC1, php-7.0.10RC1, php-7.1.0beta1, php-5.6.24, php-7.0.9, php-5.5.38, php-5.6.24RC1, php-7.1.0alpha3, php-7.0.9RC1, php-7.1.0alpha2, php-7.0.8 |
|
#
14331620 |
| 21-Jun-2016 |
Dmitry Stogov |
Fixed compilation warnings
|
Revision tags: php-5.6.23, php-5.5.37, php-5.6.23RC1, php-7.0.8RC1, php-7.1.0alpha1 |
|
#
b111da96 |
| 31-May-2016 |
Dmitry Stogov |
Split ZEND_SEND_VAR_NO_REF into ZEND_SEND_VAR_NO_REF and ZEND_SEND_VAR_NO_REF_EX (similar to ZEND_SEND_VAL) and remove ZEND_ARG_* flags.
|
#
c3495d5d |
| 28-May-2016 |
Xinchen Hui |
This is not a problem here if only for PHI placement, we may get rid of this `use` here. But as the comment said, it is useful if we are going to do code generation
|
Revision tags: php-5.6.22, php-5.5.36, php-7.0.7 |
|
#
e745b4ca |
| 18-May-2016 |
Nikita Popov |
Replace BB end with BB len And support empty blocks everywhere.
|
Revision tags: php-5.6.22RC1, php-7.0.7RC1, php-7.0.6, php-5.6.21, php-5.5.35 |
|
#
a5944f8d |
| 21-Apr-2016 |
Nikita Popov |
Merge def and gen sets For live-variable analysis it does not matter if def includes variables that are previously use in the same block, the data flow equations still have the same
Merge def and gen sets For live-variable analysis it does not matter if def includes variables that are previously use in the same block, the data flow equations still have the same result. As such there is no need to compute separate gen & def sets. I'm keeping the name "def", because use of "gen" in this context is pretty confusing (gen is usually the use set, not the def set).
show more ...
|
Revision tags: php-5.6.21RC1, php-7.0.6RC1 |
|
#
3444c1ae |
| 07-Apr-2016 |
Dmitry Stogov |
Use return type hints for type inference and eliminate useless VERIFY_RETRUN_TYPE opcodes.
|
#
f3c70f11 |
| 31-Mar-2016 |
Dmitry Stogov |
Manual CSE
|
Revision tags: php-5.6.20, php-5.5.34, php-7.0.5 |
|
#
fc49f1c4 |
| 17-Mar-2016 |
Kalle Sommer Nielsen |
Fix build
|
Revision tags: php-5.6.20RC1, php-7.0.5RC1, php-5.6.19, php-5.5.33, php-7.0.4, php-5.6.19RC1, php-7.0.4RC1 |
|
#
8c2d5596 |
| 11-Feb-2016 |
Dmitry Stogov |
Combine conditions
|
#
1544fec9 |
| 08-Feb-2016 |
Dmitry Stogov |
Removed wrong (old) code
|
Revision tags: php-5.6.18, php-7.0.3, php-5.5.32 |
|
#
319e8283 |
| 23-Jan-2016 |
Nikita Popov |
Remove dead code OP_DATA isn't used in that way anymore
|
#
c2fea2a4 |
| 23-Jan-2016 |
Nikita Popov |
Respect RC_INFERENCE during DFG construction To avoid inserting phis that are only relevant with rc inference enabled. Suprisingly, this affects only 0.8% of phis.
|
#
cf6aa46d |
| 22-Jan-2016 |
Nikita Popov |
Fix SSA for ZEND_YIELD Yield-by-ref defs a ref var, yield-by-var only defs an rc1/rcn var if rc inference is used. Also move BIND_LEXICAL where it belongs in DFG construction.
|
Revision tags: php-5.6.18RC1, php-7.0.3RC1 |
|
#
6579e484 |
| 12-Jan-2016 |
Dmitry Stogov |
Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL). In the future we may refer to static variable by index instead of name, to eliminate h
Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL). In the future we may refer to static variable by index instead of name, to eliminate hash lookup.
show more ...
|
#
c817ac4d |
| 09-Jan-2016 |
Nikita Popov |
Use worklist for DFG construction About 40x faster.
|
Revision tags: php-5.6.17, php-5.5.31, php-7.0.2 |
|
#
71c19800 |
| 01-Jan-2016 |
Lior Kaplan |
Happy new year (Update copyright to 2016)
|
#
65e456f3 |
| 29-Dec-2015 |
Nikita Popov |
Introduce BIND_LEXICAL This opcodes inserts a local CV into the closure static variable table. This replaces the previous mechanism of having static variables marked as LEXICAL, whic
Introduce BIND_LEXICAL This opcodes inserts a local CV into the closure static variable table. This replaces the previous mechanism of having static variables marked as LEXICAL, which perform a symtable lookup during copying. This means a) functions which contain closures no longer have to rebuild their symtable (better performance) and b) we can now track used variables in SSA.
show more ...
|
#
33870c52 |
| 26-Dec-2015 |
Nikita Popov |
Don't reuse SSA var in UNSET_VAR Instead use the SSA var that UNSET_VAR actually defines. Otherwise we get issues trying to DCE unsets.
|
Revision tags: php-7.0.2RC1 |
|
#
c88ffa9a |
| 15-Dec-2015 |
Dmitry Stogov |
Added e-SSA based DFA optimisation framework (incomplete)
|
#
f243aaf9 |
| 11-Dec-2015 |
Dmitry Stogov |
Added e-SSA based DFA optimisation framework (incomplete)
|