History log of /PHP-7.4/ext/opcache/Optimizer/zend_ssa.c (Results 76 – 92 of 92)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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)


1234