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
Dmitry Stogov
2297e8c143
Fixed possible use-after-free
2023-10-10 00:01:03 +03:00
Niels Dossche
5e1058b426
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-8996: DOMNode serialization on PHP ^8.1
Fix GH-12380: JIT+private array property access inside closure accesses private property in child class
2023-10-09 22:10:54 +02:00
Niels Dossche
fb6838770c
Fix GH-12380: JIT+private array property access inside closure accesses private property in child class
...
For private fields, the scope has to be taken into account, otherwise
the property info may come from the wrong ce.
Closes GH-12381.
2023-10-09 22:10:05 +02:00
Dmitry Stogov
5a276bf478
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest (#12394 )
2023-10-09 23:07:39 +03:00
Dmitry Stogov
36b2c5dc88
Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest ( #12394 )
2023-10-09 23:07:34 +03:00
Dmitry Stogov
176b79fe7f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix incorrect trace type inference
2023-10-09 22:58:21 +03:00
Dmitry Stogov
44a7016049
Fix incorrect trace type inference
...
Fixes GH-12365
2023-10-09 22:57:31 +03:00