History log of /PHP-8.0/ext/opcache/jit/zend_jit.c (Results 1 – 25 of 179)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# cefb228e 17-Oct-2022 Dmitry Stogov

Discard disasm symbols on opcache restart


# d66d477d 29-Jun-2022 Dmitry Stogov

Fix incorrect condition introdused in 7cf6f173831caea9952a84b9e4a93594aac8ba00


# 7cf6f173 29-Jun-2022 Dmitry Stogov

Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)


# 3198b878 18-Feb-2022 Dmitry Stogov

JIT: Fix register allocation

Fixes oss-fuzz #44689


# 0d6b1735 11-Feb-2022 Dmitry Stogov

JIT: Fix missed type store

Fizes oss-fuzz #44376


# f711c960 28-Jan-2022 Dmitry Stogov

Fix incorrect register allocation

Fixes oss-fuzz #44006


# 49380b59 15-Dec-2021 Christoph M. Becker

Fix #81679: Tracing JIT crashes on reattaching

When a new process reattaches to OPcache, tracing JIT causes segfaults,
because each new process allocates its own `zend_jit_traces` and

Fix #81679: Tracing JIT crashes on reattaching

When a new process reattaches to OPcache, tracing JIT causes segfaults,
because each new process allocates its own `zend_jit_traces` and
`zend_jit_exit_groups` in SHM, although these need to be shared between
all processes.

We solve that by only allocating these structs for the first process,
and store the pointers in `accel_shared_globals`, so we can reassign
them when a new process reattaches.

Closes GH-7776.

show more ...


# e79dbe11 13-Dec-2021 Dmitry Stogov

JIT: Fix crash during compilation of function with incompletely constructed SSA

Fixes oss-fuzz #42200


# c29f6baa 06-Dec-2021 Dmitry Stogov

JIT: Fix incorrect elimination of type store

Fixes oss-fuzz #41995


# d9554151 29-Nov-2021 Dmitry Stogov

JIT: Fix named arguments handling

Fixes oss-fuzz #41486


# 297117bb 29-Nov-2021 Dmitry Stogov

Disable type narrowing optimization when we contruct SSA for JIT

This also revets incorrect fix introduced in f9518c3850982aca41fac22b87a1e11096eb1643


# 17a99f2b 22-Sep-2021 Dmitry Stogov

Check for zend_shared_alloc() failures


# d46b1029 17-Sep-2021 Nikita Popov

Don't jit FE_RESET_R with undef operand

The implementation currently assumes that the operand is always
an array, but this did not account for a possibly undef operand.


# 8c3d33a0 09-Sep-2021 Nikita Popov

Also make sure binary op operands can't be undef

Otherwise we will end up passing undef to xyz_function etc, which
is not permitted.


# bac054db 08-Sep-2021 Nikita Popov

Check whether expected types are present for compound op jit

zend_jit_long_math_helper() implicitly assumes that the operands
MAY_BE_LONG (but can also have additional types). It will no

Check whether expected types are present for compound op jit

zend_jit_long_math_helper() implicitly assumes that the operands
MAY_BE_LONG (but can also have additional types). It will normally
only be called if this is guaranteed. However, for compound
array/object assignment ops this was not check. Generalize the
existing check for assign_op to apply to these as well.

Of course, we could also make the code support this correctly,
but I don't think it makes sense to JIT these if the type we're
specializing for is not present.

Closes GH-7481.

show more ...


# 053c56f5 21-Jul-2021 Dmitry Stogov

Fixed bug #81226 (Integer overflow behavior is different with JIT enabled)


# ef77d3c8 17-Jul-2021 Christoph M. Becker

Fix #81206: Multiple PHP processes crash with JIT enabled

We need to avoid resetting the JIT for all SAPIs, but we need to
initialize the JIT handlers even when only reattaching on Windo

Fix #81206: Multiple PHP processes crash with JIT enabled

We need to avoid resetting the JIT for all SAPIs, but we need to
initialize the JIT handlers even when only reattaching on Windows.

Closes GH-7208.

show more ...


# 11a7310b 21-May-2021 Dmitry Stogov

Disable ASSIGN + SEND_VAL fusion for cases when destroying of old value may throw an exception.


# e96b9840 12-May-2021 Dmitry Stogov

Fixed JIT on first function execution (opcache.jit=1215) with CALL VM


# d4a206b2 16-Apr-2021 twosee

Backport "ignore some opcodes in the JIT check"

This is a backport of fc64a7bef4c53f1948ced1043debd2024fd20f6f to the PHP-8.0 branch so that extensions don’t have to bypass the JIT check in

Backport "ignore some opcodes in the JIT check"

This is a backport of fc64a7bef4c53f1948ced1043debd2024fd20f6f to the PHP-8.0 branch so that extensions don’t have to bypass the JIT check in a hacky way.

show more ...


# 7f68a7af 17-Feb-2021 Dmitry Stogov

Fixed bug #80745 (JIT produces Assert failure and UNKNOWN:0 var_dumps in code involving bitshifts)


# 872f302b 11-Jan-2021 Dylan K. Taylor

Keep JIT region executable under ZTS

When one thread tries to compile a script, another thread may
already be executing JITed code. In this case we can't make the
memory non-executab

Keep JIT region executable under ZTS

When one thread tries to compile a script, another thread may
already be executing JITed code. In this case we can't make the
memory non-executable.

This violates the W^X principle, but doesn't seem to be avoidable
for ZTS builds for now. The same problem does not exist for NTS,
as it's a different process executing there, which has it's own
memory protection mapping.

Closes GH-6595.

show more ...


# 23bbff2b 24-Dec-2020 Dmitry Stogov

Eliminate redundand comparison insructions


# 724e241c 02-Dec-2020 Ayesh Karunaratne

JIT: Update invalid opcache.jit INI value message to include "tracing" and "function" values

`opcache.jit` accepts `tracing` and `function` as aliases, but they were not mentioned in the sta

JIT: Update invalid opcache.jit INI value message to include "tracing" and "function" values

`opcache.jit` accepts `tracing` and `function` as aliases, but they were not mentioned in the start-up INI warning message.
This updates the error message to include all possible values.

Closes GH-6490.

show more ...


# e9f9e9f8 09-Dec-2020 Dmitry Stogov

Perform early guard type check for result of FETCH_CONSTANT


12345678