History log of /PHP-7.1/ext/opcache/Optimizer/zend_cfg.c (Results 1 – 25 of 40)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1, php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2, php-7.1.14RC1, php-7.2.2RC1, php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27
# ccd4716e 02-Jan-2018 Xinchen Hui

year++


Revision tags: php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, php-7.0.26, php-7.1.12RC1, php-7.2.0RC6, php-7.0.26RC1, php-7.1.11, php-5.6.32, php-7.2.0RC5, php-7.0.25, php-7.1.11RC1, php-7.2.0RC4, php-7.0.25RC1, php-7.1.10, php-7.2.0RC3, php-7.0.24, php-7.2.0RC2, php-7.1.10RC1, php-7.0.24RC1, php-7.1.9, php-7.2.0RC1, php-7.0.23, 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, 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
# abf16c18 17-Apr-2017 Nikita Popov

Fix loop identification

When assigning loop headers, we should treat already detected
loops as collapsed to their loop header, instead of ignoring them.

This fixes the loop head

Fix loop identification

When assigning loop headers, we should treat already detected
loops as collapsed to their loop header, instead of ignoring them.

This fixes the loop header of BB2 in mandel2 if live-range CFG
splitting is enabled.

show more ...


Revision tags: php-7.1.4, php-7.0.18
# e656455e 07-Apr-2017 Xinchen Hui

Remove unused var


Revision tags: php-7.1.4RC1, php-7.0.18RC1
# ccc35d19 16-Mar-2017 Sebastian Bergmann

Fugbix typo


# f1f68b60 16-Mar-2017 Nikita Popov

Optimize DJ spanning tree back-edge check

Instead of walking the DJ spanning tree upwards, record entry and
exit times during the DFS and use these to determine whether CJ
edges are

Optimize DJ spanning tree back-edge check

Instead of walking the DJ spanning tree upwards, record entry and
exit times during the DFS and use these to determine whether CJ
edges are sp-back edges.

show more ...


# 6633e849 16-Mar-2017 Nikita Popov

Sort blocks in loop identification

The previous implementation was doing O(blocks*levels) iterations,
which for a linear-ish domtree is O(blocks^2). Avoid this by sorting
the blocks

Sort blocks in loop identification

The previous implementation was doing O(blocks*levels) iterations,
which for a linear-ish domtree is O(blocks^2). Avoid this by sorting
the blocks by decreasing level upfront.

show more ...


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


Revision tags: php-7.1.1
# 8250b3fc 08-Dec-2016 Xinchen Hui

Fixed possible false assertion failure


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


# caf890b2 22-Aug-2016 Dmitry Stogov

Fixed CFG construction for stackless execution (split basic blocks after calls)


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, php-7.0.8RC1, php-7.1.0alpha1
# 70f05468 05-Jun-2016 Nikita Popov

Don't optimize special dynamic calls to non-dynamic

As it drops the warning. This is more problematic with constant
propagation, as tests would fail.

Extract a zend_optimizer_cl

Don't optimize special dynamic calls to non-dynamic

As it drops the warning. This is more problematic with constant
propagation, as tests would fail.

Extract a zend_optimizer_classify_function() function, as its now
needed by zend_cfg and update_opN.

show more ...


# 4935c032 27-May-2016 Xinchen Hui

Revert "assert won't cause indrect var access if it's disabled"

in the other hand, it should not be there if it's disabled...

This reverts commit 27f40676e6f506f353ad8d679dd9b21aa87

Revert "assert won't cause indrect var access if it's disabled"

in the other hand, it should not be there if it's disabled...

This reverts commit 27f40676e6f506f353ad8d679dd9b21aa87b828e.

show more ...


# 27f40676 27-May-2016 Xinchen Hui

assert won't cause indrect var access if it's disabled


Revision tags: php-5.6.22, php-5.5.36, php-7.0.7
# a19eb8e3 18-May-2016 Nikita Popov

Ensure no entry predecessors for SSA construction


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


# fa956662 21-May-2016 Nikita Popov

Fix reachability detection if live ranges aren't split

Even if we don't split, we still want to keep the same logic for
reachibility detection.


# b65b15c6 17-May-2016 Nikita Popov

Mark assert() as INDIRECT_VAR_ACCESS

I don't like this... we may want to detect "obviously not string"
operands by checking for the result of a comparison instruction.


# ccf18da4 12-May-2016 Dmitry Stogov

Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers.
This slightly improves calls to regular function and method calls in cost of a bit slower

Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers.
This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization.
Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction.

show more ...


Revision tags: php-5.6.22RC1, php-7.0.7RC1, php-7.0.6, php-5.6.21, php-5.5.35, 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
# 8e5b1397 12-Mar-2016 Nikita Popov

Evaluate arguments of new for classes without ctor

ML: http://markmail.org/message/4b3mk7jid64zvz34


# fc49f1c4 17-Mar-2016 Kalle Sommer Nielsen

Fix build


Revision tags: php-5.6.19, php-5.5.33, php-7.0.4
# 8d758e7b 27-Feb-2016 Nikita Popov

Fix dominator tree construction

The used dominator intersection algorithm assumes a postorder
numbering of the CFG. The reversal of our natural numbering is
quite similar to postorde

Fix dominator tree construction

The used dominator intersection algorithm assumes a postorder
numbering of the CFG. The reversal of our natural numbering is
quite similar to postorder, but not the same.

In the future we should precompute both preorder/postorder
numberings and orderings, as these are useful in many places.

show more ...


Revision tags: php-5.6.19RC1, php-7.0.4RC1
# 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 ...


Revision tags: php-5.6.18, php-7.0.3, php-5.5.32
# 949aaea6 23-Jan-2016 Nikita Popov

Don't insert duplicate predecessors

Otherwise we'll get corrupt phis


12