History log of /PHP-8.4/ext/opcache/jit/zend_jit.c (Results 251 – 275 of 293)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3958d5bd 19-Mar-2020 Dmitry Stogov

JIT for ECHO and variable string operands


# 282265bc 19-Mar-2020 Dmitry Stogov

JIT for SEND_FUNC_ARG


# 8e879b9f 18-Mar-2020 Dmitry Stogov

JIT for ZEND_CHECK_FUNC_ARG


Revision tags: php-7.3.18, php-7.4.4, php-7.2.29
# d35ce5d6 16-Mar-2020 Nikita Popov

Merge EX variants of RANGE macros

Only need to create the ssa_op variable in range inference...


# 44b3971b 16-Mar-2020 Nikita Popov

Merge zend_may_throw(_ex)

Explicitly pass ssa_op in the places that don't do so yet.


Revision tags: php-7.3.16
# 4bf2d09e 13-Mar-2020 Dmitry Stogov

Tracing JIT (it doesn't support register allocation yet)

Use opcache.jit=1255 to swith it on (the third digit 5 really matters)
Use opcache.jit_debug=0xff001 to see how it works and what

Tracing JIT (it doesn't support register allocation yet)

Use opcache.jit=1255 to swith it on (the third digit 5 really matters)
Use opcache.jit_debug=0xff001 to see how it works and what code it generates

show more ...


# 191451da 09-Mar-2020 Nikita Popov

Fix bug #79358: JIT miscompile in composer


Revision tags: php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1
# bc6bab6c 06-Dec-2019 Nikita Popov

Basic JIT support for verify return


# e8748112 24-Dec-2019 Dmitry Stogov

Build call graph before type inference


Revision tags: php-7.3.13RC1, php-7.2.26RC1
# f8f48ce8 29-Nov-2019 Dmitry Stogov

Refactor JIT to reduce back-end dependency from SSA representation.

This commit shouldn't change JIT behavior, but it adds asserts, that may catch wrong-cases occasionally passed before.


Revision tags: php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1
# 61ebce1f 01-Nov-2019 Dmitry Stogov

Don't skip RECV instuctions when function uses type hints


Revision tags: 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
# aef88361 13-Feb-2019 Nikita Popov

Don't check $this existence in object opcodes

We are now guaranteed that $this always exists inside methods, as
well as insides closures (if they use $this at all).

This removes

Don't check $this existence in object opcodes

We are now guaranteed that $this always exists inside methods, as
well as insides closures (if they use $this at all).

This removes checks for $this existence from the individual object
opcodes. Instead ZEND_FETCH_THIS is used in the cases where $this
is not guaranteed to exist, which is mainly the pseudo-main scope.

Closes GH-3822.

show more ...


# 0d55456d 15-Oct-2019 Dmitry Stogov

Use "const" qualifier


# 2958fecb 14-Oct-2019 Dmitry Stogov

Fixed incorrect JIT compilation


# 2068ce9a 11-Oct-2019 Dmitry Stogov

Use RT_CONSTANT() or CT_CONSTANT() macro depending on ZEND_ACC_DONE_PASS_TWO flag


# 3ad20f80 10-Oct-2019 Dmitry Stogov

Revert/redo pass_two only once


# f6f32f2c 09-Oct-2019 Dmitry Stogov

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruct

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruction, the same information is encoded into SMART BRANH result_type.

show more ...


# 7d7b20ea 26-Sep-2019 Dmitry Stogov

Don't generate useless stubs


# f43fe067 09-Sep-2019 Dmitry Stogov

Avoid hash value recalculation on each counter update


# 65fa6dac 30-Aug-2019 Nikita Popov

Add jit_bisect_limit

To help identify which function is being miscompiled.


# 3cc6dd9c 19-Jul-2019 Dmitry Stogov

Fixed JIT


# 7a1ca07a 21-Jun-2019 Nikita Popov

Don't try to exclude zreg_none

zreg_none has no representation in the regset, so this operation
doesn't make sense.


# bb940d99 19-Jun-2019 Nikita Popov

Avoid UB in overflow checks

Some of the overflow checks in zend_may_overflow were optimized
away by clang, causing JIT failures on release macos.


# b7a6430a 29-May-2019 Nikita Popov

Don't JIT functions with many blocks

Avoids a stack overflow in Zend/tests/runtime_compile_time_binary_operands.php
that happens in recursive RPO calculation. We could make that code

Don't JIT functions with many blocks

Avoids a stack overflow in Zend/tests/runtime_compile_time_binary_operands.php
that happens in recursive RPO calculation. We could make that code
non-recursive, but I don't think it makes sense to JIT this kind of
function in the first place.

show more ...


# 4d1d5bab 28-May-2019 Nikita Popov

Respect optimization_level when running JIT inference

Don't enable unsafe type inference by default -- we'll segfault on
some FFI tests.


1...<<1112