History log of /PHP-8.1/ext/opcache/jit/zend_jit_x86.dasc (Results 1 – 25 of 659)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# fbf4e196 25-Oct-2023 Dmitry Stogov

Fixed regression intoduced by 76c41d27f9277eb8210d0058f19d0a7cfa7d7a66


# 76c41d27 24-Oct-2023 Dmitry Stogov

Fixed GH-12482: Abortion with tracing JIT


# 89eb1c64 16-Oct-2023 Dmitry Stogov

Fixed GH-11917: primitives seem to be passed via reference instead of by value under some conditions when JIT is enabled on windows (#12451)


# 36b2c5dc 09-Oct-2023 Dmitry Stogov

Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest (#12394)


# 5a8f96b0 09-Oct-2023 Dmitry Stogov

Fixed GH-12382: JIT Index invalid or out of range error


# ed0b593c 02-May-2023 Dmitry Stogov

Fixed GH-11127 (JIT fault)

* Fixed GH-11127 (JIT fault)

* Added test

* Add new line


# 25ad171f 02-May-2023 Dmitry Stogov

JIT: Fixed inaccurate range inference usage for UNDEF/NULL/FALSE

Fixes oss-fuzz #58459


# 1015f1ff 13-Mar-2023 Bob Weinand

Add test, fix x86 JIT

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>


# c53e8d3e 10-Mar-2023 Bob Weinand

Handle zend_execute_internal in JIT


# 70ff10af 21-Feb-2023 Dmitry Stogov

Fix GH-10635: ARM64 function JIT causes impossible assertion (#10638)


# 08e75912 20-Feb-2023 Dmitry Stogov

Fix (at lease part of the) #GH-10635: ARM64 function JIT causes impossible assertion


# 7d68f912 19-Jan-2023 Dmitry Stogov

Fix incorrect compilation of FE_FETCH with predicted empty array

Fixes ext/opcache/tests/sccp_loop_var_free.phpt with opcache.jit=1205
and opcache.optimization_level=0


# 42eed7bb 16-Jan-2023 Dmitry Stogov

Fix GH-10271: Incorrect arithmetic calculations when using JIT


# a8bd3423 14-Nov-2022 Dmitry Stogov

Fix memory leak

Fizes oss-fuzz #53143


# 261a08af 24-Oct-2022 Dmitry Stogov

JIT: Fix incorrect EX(opline) override

Fixes oss-fuzz #52674


# 5ca41133 03-Oct-2022 Dmitry Stogov

Fix abstract trace consisency for FE_FETCH instruction


# aa179bf3 29-Sep-2022 Dmitry Stogov

Force exit to VM


# 52f4ed16 20-Sep-2022 wxue1

Indirect call reduction for Jit code

Changing indirect call to direct call for Jit code
benefits the branch prediction, which gets 1% performance
gain in our workload.
Similarly,

Indirect call reduction for Jit code

Changing indirect call to direct call for Jit code
benefits the branch prediction, which gets 1% performance
gain in our workload.
Similarly, we change indirect jump to direct jump.

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

show more ...


# 466e4dc2 09-Sep-2022 Arnaud Le Blanc

Check return value of zend_jit_trace_get_exit_addr() (#9097)


# ce42dcf4 29-Aug-2022 Dmitry Stogov

Fix ext/opcache/tests/jit/inc_obj_004.phpt failure introduced by fd74ee7e909c66f09d8d904a5438b275a13e8738

This should fix GH-9445


# fd74ee7e 22-Aug-2022 Dmitry Stogov

JIT: Make code generation to be consistent with register allocation

Fixes ext/opcache/tests/jit/add_014.phpt with opcache.jit=1205


# 44b86aee 25-Jul-2022 Dmitry Stogov

Fix memory leak

Fixes oss-fuzz #49272


# f2381ae4 18-Jul-2022 Arnaud Le Blanc

Fix JIT crash with large number of match/switch arms (#8961)

Switch statements may generate a large number of exit points. Once the max
number of exit points is reached, get_exit_addr()

Fix JIT crash with large number of match/switch arms (#8961)

Switch statements may generate a large number of exit points. Once the max
number of exit points is reached, get_exit_addr() returns NULL. This was not
checked, and this resulted in a jump table with some 0 addresses.

show more ...


# d8de067b 28-Jun-2022 Chen, Hu

JIT: Add IBT support (#8774)

Indirect Branch Tracking (IBT) is part of Intel's Control-Flow
Enforcement Technology (CET). IBT is hardware based, forward edge
Control-Flow-Integrity m

JIT: Add IBT support (#8774)

Indirect Branch Tracking (IBT) is part of Intel's Control-Flow
Enforcement Technology (CET). IBT is hardware based, forward edge
Control-Flow-Integrity mechanism where any indirect CALL/JMP must target
an ENDBR instruction or suffer #CP.

This commit adds IBT support for JIT:
1. Add endbr32/64 instruction in Dynasm.
2. Insert endbr32/64 in indirect branch target for jitted code.

gcc support CET since v8.1 and set it to default since gcc 11. With this
commit, endbr is inserted in jitted code if PHP is compiled with "gcc
-fcf-protection=full/branch".

Signed-off-by: Chen, Hu <hu1.chen@intel.com>

show more ...


# b40ae808 07-Jun-2022 George Peter Banyard

Convert iterable into an internal alias for Traversable|array (#7309)

This does a compile time transformation of ``iterable`` into ``Traversable|array`` which simplifies some of the LSP vari

Convert iterable into an internal alias for Traversable|array (#7309)

This does a compile time transformation of ``iterable`` into ``Traversable|array`` which simplifies some of the LSP variance handling.

The arginfo generation script from stubs is updated to produce a union type when it encounters the type ``iterable``
Extension functions which do not regenerate the arginfo, or write them manually are still supported by mimicking the compile time transformation while registering the function.

Type Reflection is preserved for single ``iterable`` (and ``?iterable``) to produce a ReflectionNamedType with name ``iterable``, however usage of ``iterable`` in union types will be converted to ``array|Traversable``

show more ...


12345678910>>...27