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