History log of /php-src/Zend/zend_vm_handlers.h (Results 26 – 50 of 73)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 621842e3 20-Dec-2019 Dmitry Stogov

RECV opcode optimization

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
# 9c9a833f 09-Oct-2019 Nikita Popov

Actually remove the YIELD key specialization

I only adjusted the code before, without switching to TMPVAR.

# da3b2457 09-Oct-2019 Nikita Popov

Reduce YIELD_FROM specialization

Generator delegation is a complex compound operation, it does not
make a lot of sense to optimize refcounting here to this degree.

# 2aba10be 09-Oct-2019 Nikita Popov

Reduce ZEND_THROW specialization

Throwing is very expensive due to the need of gathering the backtrace,
so it makes little sense to optimize refcounting to this degree.

Revision tags: 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
# 853b426e 24-Jul-2019 Dmitry Stogov

Avoid over-specialization

Revision tags: php-7.4.0beta1
# 1eb70617 24-Jul-2019 Nikita Popov

Avoid references in TMP var

Make sure we deref the OBJ_IS result, because we store it in a TMP
var, which is not allowed to contain references and will cause
assertion failures in th

Avoid references in TMP var

Make sure we deref the OBJ_IS result, because we store it in a TMP
var, which is not allowed to contain references and will cause
assertion failures in the unspecialized VM.

This also partially reverts fd463a9a6078074f8f648982b42bdd14423fb614,
which merged the TMP and VAR specializations of COALESCE to work
around this bug.

An alternative would be to change the result type of OBJ_IS back
to VAR.

show more ...

# b30e4a5a 17-Jul-2019 Dmitry Stogov

Avoid extra specialization for cold opcodes

# 918f09f7 17-Jul-2019 Dmitry Stogov

Added specialization for comparison instructions and QM_ASSIGN

# 349a388b 16-Jul-2019 Dmitry Stogov

Slit INC/DEC opcodes into hot/cold parts and remove specialized versioins for LONG_OR_DOUBLE.

Revision tags: php-7.2.21RC1, php-7.3.8RC1
# 2e26b063 15-Jul-2019 Dmitry Stogov

Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
Fixed incorrect specialization (missed IS_INDIRECT handling)


# c5709801 15-Jul-2019 Dmitry Stogov

Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
Fixed incorrect specialization (missed IS_INDIRECT handling)


# ef1a1a06 11-Jul-2019 Dmitry Stogov

Separate "cold" parts of comparison instructions

# be94c0c3 11-Jul-2019 Dmitry Stogov

Separate "cold" parts of binary op instructions

# e1f418dd 09-Jul-2019 Dmitry Stogov

Remove duplicated code for (PRE|POST)_DEC_(OBJ|STATIC_PROP) opcodes

Revision tags: php-7.4.0alpha3
# 48ca5a1e 05-Jul-2019 Dmitry Stogov

Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP

# ef05eab4 04-Jul-2019 Dmitry Stogov

Improve zend_binary_assign_op helpers.
Reorder opcode numbers to make ADD-POW and ASSIGN_ADD-ASSIGN_POW opcodes sequencional.

Revision tags: php-7.3.7
# 56b8b165 03-Jul-2019 Dmitry Stogov

Optimization of INC/DEC helpers

Revision tags: php-7.2.20
# e8f1f701 25-Jun-2019 Dmitry Stogov

Reduce overhead of delayed early binding

Revision tags: 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
# 89b2d886 24-May-2019 Nikita Popov

Register class before fetching parent

We want the class declaration to be available while compiling the
parent class.

# 3f4dfe18 05-Jun-2019 Dmitry Stogov

Prevent generation of specialized ZEND_ASSIGN_OP_..._STATIC_PROP handlers, that call unspecialized helper, anyway.

# 1814308e 30-May-2019 Dmitry Stogov

Don't specialize "cold" handlers

# 4e567ed1 30-May-2019 Dmitry Stogov

Removed useless specialization. Specialized handlers called not specialized helpers.

Revision tags: 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
# e829d087 06-Oct-2018 CHU Zhaowei

Implement spread operator in arrays

RFC: https://wiki.php.net/rfc/spread_operator_for_array

Closes GH-3640.

# d4bef4ce 15-Feb-2019 Dmitry Stogov

Avoid useless code duplication, because of unused specialization

# a50198d0 15-Jan-2019 Nikita Popov

Implement ??= operator

RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree

Implement ??= operator

RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.

show more ...

123