Niels Dossche
de96b43d2a
Fix GH-16902: Set of opcache tests fail zts+aarch64 (8.2-8.3)
...
Closes GH-16925.
2024-11-25 19:49:33 +01:00
Dylan K. Taylor
ff3b4eca0e
Fix GH-16851: JIT_G(enabled) not set correctly on other threads
...
There doesn't seem to be a thread post-startup hook that runs after
zend_startup_cb() that could be used for this
this fix is similar to accel_startup_ok() as seen here: fc1db70f10/ext/opcache/ZendAccelerator.c (L2631-L2634)
Closes GH-16853.
2024-11-20 19:11:44 +01:00
Dmitry Stogov
ef5844a1ca
Use the immutable twin of temporary op_array ( #16861 )
2024-11-19 20:55:15 +03:00
Dmitry Stogov
6167c64782
Backport JIT fix: set valid EX(opline) before calling gc_possible_root() ( #16858 )
2024-11-19 18:03:54 +03:00
Dmitry Stogov
79aaeeafe5
Fix GH-16829: Segmentation fault with opcache.jit=tracing enabled on aarch64
2024-11-18 14:27:08 +03:00
Niels Dossche
cbb3b9371d
Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
...
When returning an UNDEF value, it actually becomes NULL.
The following code took this into account:
28344e0445/ext/opcache/jit/zend_jit_trace.c (L2196-L2199)
But the stack does not update the type to NULL, causing a mismatch.
Closes GH-16784.
Co-authored-by: Dmitry Stogov <dmitry@zend.com >
2024-11-14 22:33:06 +01:00
Dmitry Stogov
19809a526b
Fix incorrect handling of ZEND_ACC_FINAL flag in JIT ( #16778 )
2024-11-13 14:38:54 +03:00
Dmitry Stogov
fe513655dc
Fix GH-16499: [JIT] Undefined to null coercion issues for return
2024-10-21 14:50:50 +03:00
Dmitry Stogov
bf786d0d28
Fix GH-16393: Assertion failure in ext/opcache/jit/zend_jit.c:2897
2024-10-15 12:00:59 +03:00
Dmitry Stogov
24d5912a30
Fix possible NULL dereference
2024-09-26 15:43:42 +03:00
Dmitry Stogov
dc0987d154
Fix GH-15973: Segmentation fault in JIT mode 1135 ( #16006 )
2024-09-23 17:09:00 +03:00
Dmitry Stogov
5cf045d357
Fix GH-15820: Core dumped with jit.opcache=1245
2024-09-10 15:42:23 +03:00
Niels Dossche
c1ffd4b484
Fix GH-15658: Segmentation fault in Zend/zend_vm_execute.h
...
Implement a minimal ZEND_MATCH handler using a tail call.
Closes GH-15782.
2024-09-09 20:26:16 +02:00
Dmitry Stogov
1e78cf941c
Fix GH-15652: Segmentation fault in the Zend engine when JIT enabled ( #15717 )
2024-09-02 21:55:19 +03:00
Dmitry Stogov
eb87de1c87
Fix GH-15502: Crash with JIT and Excimer ( #15601 )
2024-08-27 21:12:29 +03:00
Niels Dossche
b44ad27a78
Fix GH-14550: No warning message when Zend DTrace is enabled that opcache.jit is implictly disabled
...
Closes GH-14847.
2024-07-07 13:18:01 +02:00
Dmitry Stogov
350af549a0
Fix GH-14475: PHP 8.3.7 with JIT encounters infinite loop on specific paths ( #14558 )
2024-06-17 09:37:44 +03:00
nielsdos
644d3628e3
Fix GH-11188: Error when building TSRM in ARM64
...
Although the issue mentioned FreeBSD, this is a broader problem:
the current ARM64 code to load the TLS offset assumes a setup with
the non-default TLS model. This problem can also apply on some
configurations on other platforms.
Closes GH-11236.
2024-06-03 20:28:55 +02:00
Arnaud Le Blanc
79862f24da
Fix TLS access in JIT on FreeBSD/amd64
...
DTV elements are 8 bytes in size a per ABI [1], and the index is offset by 1
on FreeBSD [2]
[1] http://people.redhat.com/drepper/tls.pdf
[2] bf56e8b9c8/libexec/rtld-elf/rtld.c (L5260)
Closes GH-13928
2024-05-28 15:42:57 +02:00
Dmitry Stogov
48ae025c33
Fix incorrect conditions
2024-05-28 08:37:20 +03:00
Ilija Tovilo
9506ca6001
Fix enabling of JIT at runtime
...
Fixes GH-14267
Closes GH-14294
2024-05-22 14:32:43 +02:00
Bob Weinand
ea927caffa
Fix exception IP in JIT ( #13929 )
2024-04-10 20:37:54 +02:00
Bob Weinand
af098acd6e
Always load EX(opline) into the current frame in JIT when observers are enabled
...
Fixes #13772 .
Closes #13776 .
2024-04-08 15:09:14 +02:00
Arnaud Le Blanc
0ea80126ea
Fix GH-13508: JITed QM_ASSIGN may be optimized out when op1 is null ( #13610 )
...
Co-authored-by: Dmitry Stogov <dmitry@zend.com >
2024-03-11 15:10:12 +01:00
Dmitry Stogov
728b81d92e
Prevent recording traces started from usupported VM instruction
2024-02-19 13:22:30 +03:00
Dmitry Stogov
94ba883e19
Fix TLS access in JIT with MUSL ( #13329 )
2024-02-12 08:13:23 +03:00
Niels Dossche
d417072ebe
Fix GH-13232: Segmentation fault will be reported when JIT is off but JIT_debug is still on
...
Closes GH-13234.
2024-01-24 17:47:40 +01:00
Dmitry Stogov
f120ac93a1
Fix GH-12481: PHP crash with JIT enabled
2024-01-22 15:56:12 +03:00
Dmitry Stogov
c67f6f449c
Fixed incorrect elimination of refcounted check in JIT for BIND_GLOBAL
...
Fixes oss-fuzz #65135
2023-12-18 11:27:55 +03:00
Ilija Tovilo
623da03845
Fix zend_jit_undefined_long_key overwriting dim when dim == result
...
Fixes oss-fuzz #64727
Closes GH-12900
2023-12-11 15:07:09 +01:00
Dmitry Stogov
ff22409082
JIT: Fix .debug_abbrev section in GDB JIT API.
2023-12-11 10:08:55 +03:00
Dmitry Stogov
39a813d9ca
Fixed GH-12812: Integer string in variable used as offset produces wrong undefined array key warning ( #12817 )
...
* Fixed GH-12812: Integer string in variable used as offset produces wrong undefined array key warning
* Fixed register names
2023-11-28 21:19:57 +03:00
Gina Peter Banyard
126a255d66
jit: fixed JIT "Attempt to assign property of non-object" warning emitted at the same time as Error is being thrown
2023-11-27 16:19:35 +00:00
Gina Peter Banyard
ed8b901869
jit: fixed "Uninitialized string offset" warning being emitted at the same time as invalid offset Error
2023-11-27 16:04:41 +00:00
Dmitry Stogov
2d65d714a3
Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error
2023-11-22 13:19:10 +03:00
Dmitry Stogov
db26aee801
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Backport fix for GH-12512: JIT Assertion `info & (1 << type)' failed (#12660 )
2023-11-13 13:27:11 +03:00
Dmitry Stogov
c60c2a0d67
Backport fix for GH-12512: JIT Assertion `info & (1 << type)' failed ( #12660 )
2023-11-13 13:26:17 +03:00
Dmitry Stogov
bbf2fc99a3
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Don't JIT after fatal errors
2023-11-02 14:14:48 +03:00
Dmitry Stogov
77a497d56a
Don't JIT after fatal errors
2023-11-02 14:14:12 +03:00
Dmitry Stogov
4b82ed4387
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Backport fix for incorrect assumption about in-memory zval type
2023-10-31 11:59:08 +03:00
Dmitry Stogov
455a967934
Backport fix for incorrect assumption about in-memory zval type
2023-10-31 11:56:01 +03:00
Dmitry Stogov
76724fc4ac
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed regression intoduced by 76c41d27f9
2023-10-25 15:15:39 +03:00
Dmitry Stogov
fbf4e196da
Fixed regression intoduced by 76c41d27f9
2023-10-25 15:15:13 +03:00
Dmitry Stogov
9668077f6b
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed GH-12482: Abortion with tracing JIT
2023-10-24 14:21:06 +03:00
Dmitry Stogov
76c41d27f9
Fixed GH-12482: Abortion with tracing JIT
2023-10-24 14:20:35 +03:00
Dmitry Stogov
ef91794264
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed GH-11917: primitives seem to be passed via reference instead of by value under some conditions when JIT is enabled on windows (#12451 )
2023-10-17 01:58:36 +03:00
Dmitry Stogov
89eb1c64a9
Fixed GH-11917: primitives seem to be passed via reference instead of by value under some conditions when JIT is enabled on windows ( #12451 )
2023-10-17 01:58:07 +03:00
Dmitry Stogov
0c6999cf94
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed GH-12428: Assertion with function/tracing JIT
2023-10-16 15:12:29 +03:00
Dmitry Stogov
dabced0fbb
Fixed GH-12428: Assertion with function/tracing JIT
2023-10-16 15:11:56 +03:00
Dmitry Stogov
70ff3c378d
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed possible use-after-free
2023-10-10 00:01:49 +03:00