#
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.
|
#
28a016a6 |
| 23-Dec-2015 |
Dmitry Stogov |
Fixed SSA construction for CFG with unreachable BB
|
#
fdfbeeb2 |
| 22-Dec-2015 |
Nikita Popov |
Always create ARRAY_ELEM ssa var for ELEM_REF
|
#
a75c6d5f |
| 22-Dec-2015 |
Dmitry Stogov |
Skip "useless" SSA variables for INIT_ARRAY, ADD_ARRAY_ELEMENT, FE_RESET_R
|
#
b4b6d589 |
| 22-Dec-2015 |
Dmitry Stogov |
Add ability to prevent "useless" SSA variable creation for "refcounting inference".
|
Revision tags: php-7.0.2RC1 |
|
#
420ff42b |
| 20-Dec-2015 |
Nikita Popov |
Protect against overflows in pi constraints
|
#
0da1378a |
| 19-Dec-2015 |
Nikita Popov |
long -> zend_long in range inference
|
#
549d7d48 |
| 19-Dec-2015 |
Nikita Popov |
Fix Pi constraint for -LONG_MIN adjustments -LONG_MIN == LONG_MIN so bad things will happen. Example of JIT miscompile: function test($n) { if ($n + PHP_INT_MIN
Fix Pi constraint for -LONG_MIN adjustments -LONG_MIN == LONG_MIN so bad things will happen. Example of JIT miscompile: function test($n) { if ($n + PHP_INT_MIN == 0) { $n2 = (int) ($n + PHP_INT_MAX); var_dump($n2); } } test(PHP_INT_MAX + 1);
show more ...
|
#
c9ea8fef |
| 19-Dec-2015 |
Nikita Popov |
Extrace find_adjusted_tmp_var() function This code was duplicated for op1 and op2
|
#
fc680944 |
| 19-Dec-2015 |
Nikita Popov |
Simplify bf/bt computation in pi placement The meaning of the successors is well-defined, no need to check it.
|
#
d7424a5b |
| 19-Dec-2015 |
Nikita Popov |
Fix typo in pi placement
|
#
74daa989 |
| 16-Dec-2015 |
Dmitry Stogov |
Added simple DFA optimisation pattern (just to prove the concept)
|
#
9044f491 |
| 16-Dec-2015 |
Dmitry Stogov |
Use do_alloca() instead of alloca()
|
#
c88ffa9a |
| 15-Dec-2015 |
Dmitry Stogov |
Added e-SSA based DFA optimisation framework (incomplete)
|
#
1fdb63fb |
| 11-Dec-2015 |
Dmitry Stogov |
ws fixes
|
#
f243aaf9 |
| 11-Dec-2015 |
Dmitry Stogov |
Added e-SSA based DFA optimisation framework (incomplete)
|