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