History log of /PHP-7.3/ext/opcache/Optimizer/zend_inference.c (Results 151 – 175 of 176)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 82050dfd 01-Apr-2016 Dmitry Stogov

fixed type inference mistake (typo)


# 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
# 47391961 02-Mar-2016 Nikita Popov

Mark uses in UNSET_VAR op1 + FE_FETCH_R op2 as no_val


Revision tags: php-5.5.33, php-7.0.4
# a1c48d5e 27-Feb-2016 Nikita Popov

Various SSA-related tweaks

* Add FETCH_LIST to inference
* Restrict JMP_SET/COALESCE result type
* Fix typos in range inference
* Add const annotations in zend_ssa.h
* For pi

Various SSA-related tweaks

* Add FETCH_LIST to inference
* Restrict JMP_SET/COALESCE result type
* Fix typos in range inference
* Add const annotations in zend_ssa.h
* For pi statements dump the associated predecessor block
* If type can be both true and false, dump bool instead

show more ...


Revision tags: php-5.6.19RC1, php-7.0.4RC1
# 4095d5f2 09-Feb-2016 Dmitry Stogov

Cleanup OP_DATA usage. Now only first operand of OP_DATA is used for ASSIGN_DIM, ASSIGN_OBJ and ASSIGN_OP (DIM/OBJ) instructions.


# f4bec6e1 09-Feb-2016 Dmitry Stogov

After DFA pass result of FE_FETCH may be CV


Revision tags: php-5.6.18, php-7.0.3, php-5.5.32
# 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
# 5662d735 09-Jan-2016 Nikita Popov

Add support for Pi type constraints

Supports TYPE_CHECK and IS_IDENTICAL for now.


# a2ff3a46 19-Jan-2016 Dmitry Stogov

Use ZEND_FUNC_INDIRECT_VAR_ASSESS instead of ZEND_FUNC_TOO_DYNAMIC. Handle function with exceptions handlers and generators separately.


# 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 ...


# c602ac60 07-Jan-2016 Nikita Popov

Fix CE fetching for NEW object type inference

Create a common function for getting a class entry.


Revision tags: php-5.6.17, php-5.5.31, php-7.0.2
# 04dc5d74 02-Jan-2016 Nikita Popov

Range&type inference for JMP_SET


# 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.


# b3d01789 24-Dec-2015 Dmitry Stogov

Rearrange code to enable inner precedure inference


# 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".


# 83cd8284 22-Dec-2015 Dmitry Stogov

Make RC1/RCN inference more accurate (it's probably not 100% correct anyway)


Revision tags: php-7.0.2RC1
# d952eb75 21-Dec-2015 Dmitry Stogov

Get rid of MAY_BE_DEF


# ae303cf8 21-Dec-2015 Dmitry Stogov

Split MAY_BE_NULL from MAY_BE_UNDEF


# 0da1378a 19-Dec-2015 Nikita Popov

long -> zend_long in range inference


# 7cc3089d 18-Dec-2015 Nikita Popov

Clone cannot return reference


# 9044f491 16-Dec-2015 Dmitry Stogov

Use do_alloca() instead of alloca()


12345678