History log of /php-src/ext/opcache/jit/zend_jit.c (Results 26 – 50 of 327)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3
# 0b1d750d 11-Aug-2022 Ilija Tovilo

Allow arbitrary expressions in static variable initializer

Closes GH-9301


# 6bd54646 15-May-2023 Sara

Cacheline demote to improve performance (#11101)

Once code is emitted to JIT buffer, hint the hardware to
demote the corresponding cache lines to more distant level
so other CPUs can

Cacheline demote to improve performance (#11101)

Once code is emitted to JIT buffer, hint the hardware to
demote the corresponding cache lines to more distant level
so other CPUs can access them more quickly.
This gets nearly 1% performance gain on our workload.

Signed-off-by: Xue,Wang <xue1.wang@intel.com>
Signed-off-by: Tao,Su <tao.su@intel.com>
Signed-off-by: Hu,chen <hu1.chen@intel.com>

show more ...


# f127e658 02-May-2023 yang yuhan

JIT: Align JIT stubs (#11149)

Fixed phpGH-11120

Signed-off-by: PeterYang12 <yuhan.yang@intel.com>


# 87922411 25-Mar-2023 Michael Orlitzky

Use capstone explicitly, drop oprofile (GH 10876) (#10918)

* ext/opcache/config.m4: new --with-opcache-capstone flag.

Until now, libcapstone has been detected "automagically" and us

Use capstone explicitly, drop oprofile (GH 10876) (#10918)

* ext/opcache/config.m4: new --with-opcache-capstone flag.

Until now, libcapstone has been detected "automagically" and used for
JIT disassembly whenever it is available on the system used to compile
PHP. This can have some unintended consequences, however: many users
have capstone installed for some other purpose, and are surprised to
find that PHP breaks when capstone is later uninstalled.

To address this, we have introduced a new --with-opcache-capstone flag
that is disabled by default, and that makes the user's preference
explicit. It is ignored unless the JIT is enabled.

* ext/opcache: drop support for the oprofile JIT profiler.

Recently we have replaced the "automagic" detection of capstone at
build time with a --with-opcache-capstone flag. The detection of
oprofile causes similar problems and would likely have the same
solution; however, it was suggested that we might remove oprofile
altogether. So, this commit removes it:

* Remove the detection bits from ext/opcache/config.m4.
* Drop HAVE_OPROFILE ifdef blocks.
* Delete ext/opcache/jit/zend_jit_oprofile.c.
* Undefine the ZEND_JIT_DEBUG_OPROFILE constant.

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


# d5c649b3 23-Feb-2023 Max Kellermann

zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621)

`zend_uchar` suggests that the value is an ASCII character, but here,
it's about very small integers. This is misleadi

zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621)

`zend_uchar` suggests that the value is an ASCII character, but here,
it's about very small integers. This is misleading, so let's use a
C99 integer instead.

On all architectures currently supported by PHP, `zend_uchar` and
`uint8_t` are identical. This change is only about code readability.

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


# 6676f5d3 20-Jan-2023 Dmitry Stogov

Delay debug JIT op_array dump until actual JIT-ing

Previously function JIT for the whole script (opcache.jit=1205) dumped
all op_arrays before JIT-ing the first functon. This complicated

Delay debug JIT op_array dump until actual JIT-ing

Previously function JIT for the whole script (opcache.jit=1205) dumped
all op_arrays before JIT-ing the first functon. This complicated debugging
of particular JIT-ed function and leaded to usage of opcache.jit=1204.
Now both options should produce similar op_array/disasm interlived
output.

show more ...


# c8955c07 16-Jan-2023 Christoph M. Becker

Revert GH-10220

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit ecc880f491d66081298a16634629f149459706a9.
This reverts commit 588a07

Revert GH-10220

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit ecc880f491d66081298a16634629f149459706a9.
This reverts commit 588a07f7371ee2b5fac17de147926780e427fae6.
This reverts commit f377e15751d3aa48b69cd9bcc366ede7803d511f.
This reverts commit b4ba16fe189b109144aff669e11d81365160104b.
This reverts commit 694ec1deea36e366b28b6349a52be49824e1a1a8.
This reverts commit 6b34de8eba9f66882ae16e6073af28783670ac53.
This reverts commit aa1cd02a4367834026ea2205ea13a2f904455aa1.
This reverts commit 308fd311ea6fcf3094b448df7f2b264f08e4fe4f.
This reverts commit 16203b53e1822a37b6ba6f2ab198bb435d05fdad.
This reverts commit 738fb5ca5412f5e833a7fab82b11519e635a3357.
This reverts commit 9fdbefacd3c382d731aa175b7bdc002ec9cb2b30.
This reverts commit cd4a7c1d90562ebb5f89caf94d00d579631b9fbe.
This reverts commit 928685eba2b2f0ded90e7f78fd806ea164002f6e.
This reverts commit 01e5ffc85cd4357fd7b5b7ceefa29f2d10ca26b7.

show more ...


# 308fd311 04-Jan-2023 Max Kellermann

ext/{standard,json,random,...}: add missing includes


# 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


# e787d9a0 18-Aug-2022 David CARLIER

GH-9370: Fix opcache jit protection bits.

Allow mprotect to occur, pthread_jit_write_np are just to allow mprotect
flags to be used.

Closes #9371.

Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1
# 14169615 16-Apr-2022 David CARLIER

opcache JIT support improvements attempts on macOs.

for cases when shared segments switch b/w R/W/X and R/X bits.

Closes #8382.

# e01586ac 29-Jun-2022 Dmitry Stogov

Merge branch 'PHP-8.1'

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


# 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

# 7e320333 29-Jun-2022 Dmitry Stogov

Merge branch 'PHP-8.1'

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


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

12345678910>>...14