History log of /PHP-8.4/ext/opcache/jit/zend_jit.c (Results 1 – 25 of 293)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 19809a52 13-Nov-2024 Dmitry Stogov

Fix incorrect handling of ZEND_ACC_FINAL flag in JIT (#16778)


# bf786d0d 15-Oct-2024 Dmitry Stogov

Fix GH-16393: Assertion failure in ext/opcache/jit/zend_jit.c:2897


# 82f70dba 03-Oct-2024 Arnaud Le Blanc

Use original op_array when JIT compiling a Closure

zend_jit() assumes that Closure op_arrays have no scope, but this is not true
when using the hot counters, first exec, or trace trigger

Use original op_array when JIT compiling a Closure

zend_jit() assumes that Closure op_arrays have no scope, but this is not true
when using the hot counters, first exec, or trace triggers as they use the
executed op_array, which is in case of Closures is a copy, with a scope.

In the tracing JIT this problem is avoided as we fetch the original op_array
when compiling a Closure. Here I replicate this for the hot counters and first
exec triggers.

Fixes GH-16186
Closes GH-16200

show more ...


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


# 5cf045d3 10-Sep-2024 Dmitry Stogov

Fix GH-15820: Core dumped with jit.opcache=1245


# 23db8953 09-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix merge into master


# c1ffd4b4 06-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-15658: Segmentation fault in Zend/zend_vm_execute.h

Implement a minimal ZEND_MATCH handler using a tail call.

Closes GH-15782.


# 6435bb5a 04-Sep-2024 Levi Morrison

Interrupt while internal frame is on the stack (#14627)

* Check VM interrupt while internal frame is on top

* Use tab instead of spaces

* fix frame used in interrupt and re

Interrupt while internal frame is on the stack (#14627)

* Check VM interrupt while internal frame is on top

* Use tab instead of spaces

* fix frame used in interrupt and refactor

* remove unused failures for zend_jit_check_timeout

* Fix JIT support

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>

* Fix the missing store to vm_interrupt

* Rename new functions

* Special case zend_interrupt_function in JIT code

* refactor to use ZEND_VM_SET_OPCODE_NO_INTERRUPT

* Split atomic exchange into load + store

It is difficult to determine performance of atomics sometimes. In this
case, the separate load+store is still correct, and a load does not
cause a modification, and might be faster for some platforms than an
exchange. A load+store is slower than an exchange, but we're fine
trading the penalty to the slow path and keeping the happy path faster.

---------

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


# 1e78cf94 02-Sep-2024 Dmitry Stogov

Fix GH-15652: Segmentation fault in the Zend engine when JIT enabled (#15717)


# f0f1724f 27-Aug-2024 Dmitry Stogov

Remove unintended ZEND_EXT_API usage (#15602)


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


# b44ad27a 06-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-14550: No warning message when Zend DTrace is enabled that opcache.jit is implictly disabled

Closes GH-14847.


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


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


# 9506ca60 22-May-2024 Ilija Tovilo

Fix enabling of JIT at runtime

Fixes GH-14267
Closes GH-14294


# 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


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


12345678910>>...12