History log of /PHP-7.4/ext/opcache/Optimizer/zend_dump.c (Results 26 – 50 of 73)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-7.0.25RC1
# ec3ea308 06-Oct-2017 Rasmus Lerdorf

Add line numbers to Optimizer debug output


# 9fe6b293 06-Oct-2017 Rasmus Lerdorf

Add line numbers to Opcache's zend_dump_op() debug output


# e70618af 04-Oct-2017 Dmitry Stogov

Changed the way VM accesses constant operands in 64-bit builds.


# 9fd33c1f 29-Sep-2017 Xinchen Hui

Fixed bug #75267 (possible &/&& mixup)


Revision tags: php-7.1.10, php-7.2.0RC3, php-7.0.24
# b7d683c5 13-Sep-2017 Dmitry Stogov

Added debug output


Revision tags: php-7.2.0RC2, php-7.1.10RC1, php-7.0.24RC1, php-7.1.9, php-7.2.0RC1, php-7.0.23
# 3cb6407e 22-Aug-2017 Dmitry Stogov

Initial implementation of Escape Analysis (disabled yet).


Revision tags: php-7.1.9RC1, php-7.2.0beta3, php-7.0.23RC1, php-7.1.8, php-7.2.0beta2, php-7.0.22, php-7.1.8RC1, php-7.2.0beta1, php-7.0.22RC1
# 1180d8c8 17-Jul-2017 Dmitry Stogov

Separate ISSET_ISEMPTY_CV/UNSET_CV from ISSET_ISEMPTY_VAR/UNSET_VAR


Revision tags: php-5.6.31, php-7.0.21, php-7.1.7, php-7.2.0alpha3, php-7.1.7RC1, php-7.0.21RC1, php-7.2.0alpha2, php-7.1.6, php-7.2.0alpha1, php-7.0.20, php-7.1.6RC1, php-7.0.20RC1, php-7.1.5, php-7.0.19, php-7.0.19RC1, php-7.1.5RC1, php-7.1.4, php-7.0.18, php-7.1.4RC1, php-7.0.18RC1
# ad865281 17-Mar-2017 Nikita Popov

Implement jumptable optimization


Revision tags: php-7.1.3, php-7.0.17, php-7.1.3RC1, php-7.0.17RC1, php-7.1.2, php-7.0.16, php-7.0.16RC1, php-7.1.2RC1, php-5.6.30, php-7.0.15, php-5.6.30RC1, php-7.1.1RC1, php-7.0.15RC1
# dac6c639 04-Jan-2017 Sammy Kaye Powers

Update copyright headers to 2017


# 9e29f841 02-Jan-2017 Sammy Kaye Powers

Update copyright headers to 2017


Revision tags: php-7.1.1, php-5.6.29, php-7.0.14, php-7.1.0, php-5.6.29RC1, php-7.0.14RC1, php-7.1.0RC6, php-5.6.28, php-7.0.13, php-5.6.28RC1, php-7.1.0RC5, php-7.0.13RC1
# 565ce0d4 19-Oct-2016 Dmitry Stogov

Fixed typo


Revision tags: php-7.1.0RC4, php-5.6.27, php-7.0.12, 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
# 94fbcbe1 29-Aug-2016 Dmitry Stogov

Allow optional splitting of basic blocks at RECV/RECV_INIT opcodes.


Revision tags: 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
# 04688951 07-Jun-2016 Nikita Popov

Add support for "instanceof" pi nodes


# 9877d8f0 07-Jun-2016 Nikita Popov

Use union for pi constraints

This will make it easier to extend pi constraints without impacting
structure sizes.


Revision tags: 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.


Revision tags: php-5.6.22, php-5.5.36, php-7.0.7
# 2ae21abd 24-May-2016 Dmitry Stogov

Fixed bug #72213 (Finally leaks on nested exceptions).

Squashed commit of the following:

commit 8461b0407fc9eab0869d43b84e6a92ba2fe06997
Author: Dmitry Stogov <dmitry@zend.com>

Fixed bug #72213 (Finally leaks on nested exceptions).

Squashed commit of the following:

commit 8461b0407fc9eab0869d43b84e6a92ba2fe06997
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:34:42 2016 +0300

Rmoved zend_try_catch_element.parent and walk through op_array.try_catch_array backward from the current try_cacth_offset.

commit 0c71e249649bed178bfbef30bb3e63c57f07af05
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:04:53 2016 +0300

Move SAVE_OPLINE() to its original place

commit 111432a4df738fcd65878a42f23194dc3c4983a2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:01:10 2016 +0300

Separate the common part of ZEND_HANDLE_EXCEPTION and FAST_RET into zend_dispatch_try_catch_finally_helper.

commit 4f21c06c2ec17819a708bc037f318784554a6ecd
Author: Nikita Popov <nikic@php.net>
Date: Tue May 24 14:55:27 2016 +0200

Improve finally fix

commit da5c7274997b8308e682b5bf280124e3a1483086
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 10:36:08 2016 +0300

Fixed Zend/tests/try/bug70228_3.phpt and Zend/tests/try/bug70228_4.phpt

commit cfcedf2fb4f4fc1f7de9f7d53a3037fed7795f19
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 02:59:27 2016 +0300

Added test

commit 4c6aa93d43da941eb4fda15b48154bfb104bdc04
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 00:38:20 2016 +0300

Added tests

commit 8a8f4704b0eca2e460d42c1f253a363b0db8e510
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon May 23 23:27:34 2016 +0300

Fixed bug #72213 (Finally leaks on nested exceptions)

show more ...


# e745b4ca 18-May-2016 Nikita Popov

Replace BB end with BB len

And support empty blocks everywhere.


# 0d62dfdf 21-May-2016 Nikita Popov

Improve previous fix

Do not mark loop var free blocks as reachable after all -- as we
can't construct SSA for unreachable blocks, this would cause
issues down the line.

Inst

Improve previous fix

Do not mark loop var free blocks as reachable after all -- as we
can't construct SSA for unreachable blocks, this would cause
issues down the line.

Instead add an extra UNREACHABLE_FREE flag and retain only the
FREE instruction during NOP removal. (If we retain all
instructions in the BB we might leave a jump instruction that goes
into the nowhere.)

show more ...


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, php-5.6.20, php-5.5.34, php-7.0.5, php-5.6.20RC1, php-7.0.5RC1, php-5.6.19, 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 ...


# 9a45e920 27-Feb-2016 Nikita Popov

Support dropping rc1/rcn from dumps

For non-JIT we're not interested in rc inference.


Revision tags: php-5.6.19RC1, php-7.0.4RC1
# 8c2d5596 11-Feb-2016 Dmitry Stogov

Combine conditions


# 5faedf5b 05-Feb-2016 Nikita Popov

Remove EXT_TYPE_UNUSED in favor of IS_UNUSED

This means we no longer allocate an unused VAR for the retval of
instructions that support unused results.

Nearly all instructions a

Remove EXT_TYPE_UNUSED in favor of IS_UNUSED

This means we no longer allocate an unused VAR for the retval of
instructions that support unused results.

Nearly all instructions already used the result variable only if
it was used. The only exception to this was the return value
variable for internal function call results. I've adjusted the code
to use a stack zval for the unused return case now. As we have
retval specialization now, we know that it doesn't matter.

show more ...


# 7174af40 09-Feb-2016 Nikita Popov

Support CFG construction without live range splitting

We must not split at live range boundaries for SSA constructions,
otherwise an OP_DATA instruction may be separated into new block

Support CFG construction without live range splitting

We must not split at live range boundaries for SSA constructions,
otherwise an OP_DATA instruction may be separated into new block
and not picked up during renaming.

It's also unnecessary for this use case and only blows up the CFG.

show more ...


123