History log of /php-src/ext/opcache/jit/zend_jit_trace.c (Results 1 – 25 of 549)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 24d5912a 26-Sep-2024 Dmitry Stogov

Fix possible NULL dereference


# 654b787e 24-Sep-2024 Bob Weinand

Add API to exempt function from being traced in JIT (#15559)

Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist.
The functionality currently onl

Add API to exempt function from being traced in JIT (#15559)

Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist.
The functionality currently only affects tracing JIT, but may be extended to other JIT modes in future.

show more ...


# 98f07fcf 12-Sep-2024 Dmitry Stogov

Fix more issues reported in GH-15852

* Fix incorrect register allocation

* Avoid IR binding/spilling conflict

* Add missing type guard


# 4c11168f 09-Sep-2024 Dmitry Stogov

Fix GH-15656: php8.4beta4 JIT erronous results (#15732)

* Improve trace SSA construction and type inference

* Fix incorrect abstract stack maintenance

* Add missing regist

Fix GH-15656: php8.4beta4 JIT erronous results (#15732)

* Improve trace SSA construction and type inference

* Fix incorrect abstract stack maintenance

* Add missing register store

* Avoid IR binding for the dangerous case

* Fix access to possibly uninitilezed variable

* Improve trace SSA construction and type inference

* Fix IR constuction

Force load values into regesters before any branches to guarantee SSA
dominance property

show more ...


# eb87de1c 27-Aug-2024 Dmitry Stogov

Fix GH-15502: Crash with JIT and Excimer (#15601)


# a79c70f5 14-Aug-2024 Gina Peter Banyard

[RFC] Convert exit (and die) from language constructs to functions (#13483)

RFC: https://wiki.php.net/rfc/exit-as-function


# 780a8280 14-Jul-2024 Ilija Tovilo

[RFC] Property hooks (#13455)

RFC: https://wiki.php.net/rfc/property-hooks

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>


# 350af549 17-Jun-2024 Dmitry Stogov

Fix GH-14475: PHP 8.3.7 with JIT encounters infinite loop on specific paths (#14558)


# 48ae025c 28-May-2024 Dmitry Stogov

Fix incorrect conditions


# 58c281a6 23-May-2024 Dmitry Stogov

JIT: Add CPU registers support for ASSIGN_OBJ and ASSIGN_OBJ_OP (#14303)

* JIT: Add CPU registers support for ASSIGN_OBJ and ASSIGN_OBJ_OP

* Fix tests failures

* Fix tests

JIT: Add CPU registers support for ASSIGN_OBJ and ASSIGN_OBJ_OP (#14303)

* JIT: Add CPU registers support for ASSIGN_OBJ and ASSIGN_OBJ_OP

* Fix tests failures

* Fix tests failures

* Add missing GUARD

show more ...


# ace18f49 22-May-2024 Dmitry Stogov

JIT: Avoid IS_UNDEF check for ZEND_FETCH_DIM/OBJ_IS with a result type guard (#14298)


# 13d5c812 19-May-2024 Dmitry Stogov

JIT: Add CPU registers support for FETCH_OBJ_R (#14253)


# 600d591c 08-May-2024 Ilija Tovilo

Omit FETCH_THIS in closures

Non-static closures are guaranteed to have $this. The existing comment
highlights this, but fails to handle it correctly.

Closes GH-14181


# 7843e72f 15-May-2024 Dmitry Stogov

JIT: Avoid useless EG(exception) check in ASSIGN_DIM_OP (#14247)


# 5ef1824e 15-May-2024 Dmitry Stogov

JIT: Improve x86_64 code generated for PHP Array Bounds Checks (#14246)


# 0eb68eb8 15-May-2024 Dmitry Stogov

JIT: Fix incorrect deoptimization info

Fixes third recently introduced failure in "Nightly" "master_COMMUNUTY_asan" job


# 273c2de6 15-May-2024 Dmitry Stogov

JIT: Fix incorrect PHP register allocation

Fixes 2 of 3 recently introduced failures in "Nightly"
"master_COMMUNUTY_asan" job


# 446ff6a7 14-May-2024 Dmitry Stogov

JIT: Implement CPU register usage for ASSIGN_DIM_OP (#14236)


# 4a91c8a1 14-May-2024 Dmitry Stogov

JIT: Implement CPU register usage for ASSIGN_OP (#14235)


# c8920aaf 14-May-2024 Dmitry Stogov

JIT: JIT: Implement CPU register usage for ISSET_ISEMPTY_DIM (#14227)


# 64f4aca6 14-May-2024 Dmitry Stogov

IT: Implement CPU register usage for FETCH_DIM_W (#14225)


# bf7d4d7e 14-May-2024 Dmitry Stogov

JIT: Implement CPU register usage for ASSIGN_DIM (#14224)


# 89305574 13-May-2024 Dmitry Stogov

JIT: Improve CPU register usage in FETCH_DIM_R, FETCH_DIM_IS and FETCH_LIST_R (#14222)


# 11d3ded2 09-Apr-2024 Dmitry Stogov

Fix more "Applying non-zero offset XX to null pointer" warnings (See GH-13834)


# 00c6d538 01-Apr-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c (#13846)

* Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c

ssa_op can be NULL in func

Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c (#13846)

* Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c

ssa_op can be NULL in function JIT. Doing pointer arithmetic on a NULL
pointer is undefined behaviour. Undefined behaviour can be dangerous
because the optimizer may assume then that the variable is not actually
NULL.

To solve this:
1. Add ADVANCE_SSA_OP() to safely add an offset to ssa_op in zend_jit.c
2. For inference, add an extra offset argument to the helper functions.

To reproduce this, use Clang (not GCC) on a test like
sapi/cli/tests/gh12363.phpt (or other tests also work).

* Remove -fno-sanitize=pointer-overflow flag from CI

* Fix NULL pointer offsets added to the stack_map

* Fix an offset add on a potentially NULL ssa->ops

* Fix NULL pointer arithmetic in zend_range_info()

* Address review comments

show more ...


12345678910>>...22