History log of /PHP-8.1/ext/opcache/jit/zend_jit.c (Results 1 – 25 of 260)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 77a497d5 02-Nov-2023 Dmitry Stogov

Don't JIT after fatal errors


# fb683877 07-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-12380: JIT+private array property access inside closure accesses private property in child class

For private fields, the scope has to be taken into account, otherwise
the property

Fix GH-12380: JIT+private array property access inside closure accesses private property in child class

For private fields, the scope has to be taken into account, otherwise
the property info may come from the wrong ce.

Closes GH-12381.

show more ...


# b3e28e22 12-Mar-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix module shutdown crash during ZTS JIT shutdown

Commit a21195650e53 fixed a leak by adding a TSRM destructor for the
JIT globals in ZTS mode. In case the main thread shuts down the TSR

Fix module shutdown crash during ZTS JIT shutdown

Commit a21195650e53 fixed a leak by adding a TSRM destructor for the
JIT globals in ZTS mode. In case the main thread shuts down the TSRM, it
will call all the destructors. The JIT globals destructor will be
invoked, but will always access the main thread globals using JIT_G.
This means that instead of freeing the JIT globals in the different
threads, the one in the main thread is freed repeatedly over and over,
crashing PHP. Fix it by always passing the pointer instead of relying on
JIT_G.

Closes GH-10835.

show more ...


# 131b862a 07-Feb-2023 Max Kellermann

ext/opcache/zend_jit: call TSRM dtor before unloading opcache.so (#10533)

Commit a21195650e53e added a TSRM destructor, but that destructor
will get called by tsrm_shutdown(), which is a

ext/opcache/zend_jit: call TSRM dtor before unloading opcache.so (#10533)

Commit a21195650e53e added a TSRM destructor, but that destructor
will get called by tsrm_shutdown(), which is after opcache.so has
already been unloaded, resulting in a shutdown crash, e.g.:

#0 0x00007fad01737500 in ?? ()
#1 0x000055ac54e723c4 in tsrm_shutdown () at TSRM/TSRM.c:194
#2 0x000055ac54c42180 in main (argc=80, argv=0x55ac57bc14d0) at sapi/cli/php_cli.c:1388

By calling ts_free_id() before opcache.so gets unloaded, we can easily
fix this crash bug.

show more ...


# afbb28df 07-Feb-2023 Max Kellermann

ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527)

* ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types

Regression by commit a2119

ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527)

* ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types

Regression by commit a21195650e53e34266806a8c379dd5a91f0dbb61

* TSRM/win32: fix ts_allocate_dtor cast

The dtor was casted to ts_allocate_ctor; luckily, ts_allocate_dtor and
ts_allocate_ctor just happen to be the same type.

show more ...


# a2119565 06-Feb-2023 Dmitry Stogov

Fix possible exit_counters memory leak in ZTS build


# d3a6eedf 21-Dec-2022 Max Kellermann

ext/opcache/jit/zend_jit: fix inverted bailout value in zend_runtime_jit() (#10144)

In the "catch" block, do_bailout must be set to true, not false, or
else zend_bailout() never gets cal

ext/opcache/jit/zend_jit: fix inverted bailout value in zend_runtime_jit() (#10144)

In the "catch" block, do_bailout must be set to true, not false, or
else zend_bailout() never gets called.

show more ...


# 61e563ca 17-Oct-2022 Dmitry Stogov

Reset JIT for dynamic functions on opcache restrart


# cefb228e 17-Oct-2022 Dmitry Stogov

Discard disasm symbols on opcache restart


# c5364b85 11-Oct-2022 Dmitry Stogov

Fix crashes after opcache restart


# 2568db28 27-Sep-2022 Dmitry Stogov

Wrap JIT compiler with zend_try to recover in case of memory overflow


# af75eab0 29-Jun-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix incorrect condition introdused in 7cf6f173831caea9952a84b9e4a93594aac8ba00


# d66d477d 29-Jun-2022 Dmitry Stogov

Fix incorrect condition introdused in 7cf6f173831caea9952a84b9e4a93594aac8ba00

# b7693360 29-Jun-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

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


# 7cf6f173 29-Jun-2022 Dmitry Stogov

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

Revision tags: php-8.1.7RC1, php-8.1.4RC1
# afbb9b9a 18-Feb-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
JIT: Fix register allocation


# 3198b878 18-Feb-2022 Dmitry Stogov

JIT: Fix register allocation

Fixes oss-fuzz #44689

Revision tags: php-8.1.3
# bf515beb 11-Feb-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
JIT: Fix missed type store


# 0d6b1735 11-Feb-2022 Dmitry Stogov

JIT: Fix missed type store

Fizes oss-fuzz #44376

# f4a38686 28-Jan-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix incorrect register allocation


# f711c960 28-Jan-2022 Dmitry Stogov

Fix incorrect register allocation

Fixes oss-fuzz #44006

Revision tags: php-8.1.2RC1
# 5910e1d6 15-Dec-2021 Christoph M. Becker

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix #81679: Tracing JIT crashes on reattaching


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

# 0314f40c 13-Dec-2021 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Tracing JIT: Fix reference counting


# 1f03debb 13-Dec-2021 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
JIT: Fix crash during compilation of function with incompletely constructed SSA


1234567891011