History log of /php-src/ext/opcache/jit/zend_jit_ir.c (Results 1 – 25 of 69)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 7130a174 10-Jun-2024 Gina Peter Banyard

ext/opcache/jit: Fix -Wundef warning for HAVE_CAPSTONE

All other times this symbol is references #ifdef is used


# 84a0da15 09-Jun-2024 Peter Kokot

Sync #if/ifdef/defined (#14508)

This syncs CPP macro conditions:
- _WIN32
- _WIN64
- HAVE_ALLOCA_H
- HAVE_ALPHASORT
- HAVE_ARPA_INET_H
- HAVE_CONFIG_H
- HAVE_DIRE

Sync #if/ifdef/defined (#14508)

This syncs CPP macro conditions:
- _WIN32
- _WIN64
- HAVE_ALLOCA_H
- HAVE_ALPHASORT
- HAVE_ARPA_INET_H
- HAVE_CONFIG_H
- HAVE_DIRENT_H
- HAVE_DLFCN_H
- HAVE_GETTIMEOFDAY
- HAVE_LIBDL
- HAVE_POLL_H
- HAVE_PWD_H
- HAVE_SCANDIR
- HAVE_SYS_FILE_H
- HAVE_SYS_PARAM_H
- HAVE_SYS_SOCKET_H
- HAVE_SYS_TIME_H
- HAVE_SYS_TYPES_H
- HAVE_SYS_WAIT_H
- HAVE_UNISTD_H
- PHP_WIN32
- ZEND_WIN32

These are either undefined or defined to 1 in Autotools and Windows.

Follow up of GH-5526 (-Wundef).

show more ...


# 89c4e4c4 04-Jun-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-11188: Error when building TSRM in ARM64 (for IR JIT) (#14459)

This is GH-11236 for IR JIT.


# cc6d9523 28-May-2024 Arnaud Le Blanc

Merge branch 'PHP-8.3'

* PHP-8.3:
Fix TLS access in JIT on FreeBSD/amd64


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

# 896517e2 21-May-2024 Dmitry Stogov

JIT: Fix missing register store

Fixes master_COMMUNITY_asan "nightly" failure introduced by 13d5c812e061468b2e2eac45aba261a6ebc12c2d

# 13d5c812 19-May-2024 Dmitry Stogov

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

# 5e7baaaa 16-May-2024 Dmitry Stogov

JIT: Remove old restriction. FETCH_DIM_R supports regs for indexes.

This affects only function JIT.

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

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

# 8aec95e2 04-May-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix build on Clang 18 (#14136)

Clang 18 only allows counted_by to work on real flexible array members,
not ones with a zero size. Otherwise you get errors like:
```
ext/opcache/j

Fix build on Clang 18 (#14136)

Clang 18 only allows counted_by to work on real flexible array members,
not ones with a zero size. Otherwise you get errors like:
```
ext/opcache/jit/zend_jit_ir.c:149:12: error: 'counted_by' only applies to C99 flexible array members
```

show more ...

# 91b84571 11-Apr-2024 Arnaud Le Blanc

Fix TLS access in JIT with Musl (#13927)

ABI specifies that each DTV element is 8 bytes in size on x86-64. The factor 16
was defined in 71cccc0bcc5f083ae6022face1c2514b5240b96a, but it's

Fix TLS access in JIT with Musl (#13927)

ABI specifies that each DTV element is 8 bytes in size on x86-64. The factor 16
was defined in 71cccc0bcc5f083ae6022face1c2514b5240b96a, but it's probably
a merge error of 94ba883e195613d5a01be07b6ca9a73024b5575b, which used the right
value.

show more ...

# 13c8d931 08-Apr-2024 Bob Weinand

Merge branch 'PHP-8.3'


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

# 2d6bd164 28-Mar-2024 Paul Ripke

Fixed GH-13581: threaded mod_php fails on NetBSD with No space available for Thread Local Storage.

Close GH-13832

# fa512dc4 20-Mar-2024 Dmitry Stogov

Use new abilities or ir_save()

# 71cccc0b 12-Feb-2024 Dmitry Stogov

Merge branch 'PHP-8.3'

* PHP-8.3:
Fix TLS access in JIT with MUSL (#13329)


# 631bc816 06-Feb-2024 Ilija Tovilo

Implement stackless internal function calls

Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12461

123