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
Dmitry Stogov
b38c57b4fc
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed GH-12382: JIT Index invalid or out of range error
2023-10-09 11:20:36 +03:00
Dmitry Stogov
5a8f96b0bb
Fixed GH-12382: JIT Index invalid or out of range error
2023-10-09 11:20:18 +03:00
Dmitry Stogov
8fcffa666f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed tracing JIT support for CALLABLE_CONVERT (#12156 )
2023-09-08 18:27:31 +03:00
Dmitry Stogov
be0245c756
Fixed tracing JIT support for CALLABLE_CONVERT ( #12156 )
2023-09-08 18:27:13 +03:00
Dmitry Stogov
e50ed0f1a2
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed incorrect VM stack overflow checks elimination
2023-06-20 12:00:20 +03:00
Dmitry Stogov
1a96d64828
Fixed incorrect VM stack overflow checks elimination
2023-06-20 11:59:36 +03:00
Dmitry Stogov
724e64fbda
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed deoptimization info for interrupt handler
2023-06-06 13:30:21 +03:00
Dmitry Stogov
8f06febedf
Fixed deoptimization info for interrupt handler
2023-06-06 13:29:55 +03:00
Ilija Tovilo
5b033b0def
Fix zend_jit_stop_counter_handlers() performance issues with protect_memory=1
...
The function repeatedly calls mprotect() which is extremely slow. In our
community build, the Laravel tests went from ~6 minutes to ~4 hours. This issue
only occurs with opcache.protect_memory=1.
Closes GH-11323
2023-05-26 10:55:11 +02:00
Dmitry Stogov
c155949905
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed GH-11127 (JIT fault)
2023-05-02 20:33:19 +03:00
Dmitry Stogov
ed0b593c11
Fixed GH-11127 (JIT fault)
...
* Fixed GH-11127 (JIT fault)
* Added test
* Add new line
2023-05-02 20:32:48 +03:00
Dmitry Stogov
7e50735140
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
JIT: Fixed inaccurate range inference usage for UNDEF/NULL/FALSE
2023-05-02 12:04:03 +03:00
Dmitry Stogov
25ad171f63
JIT: Fixed inaccurate range inference usage for UNDEF/NULL/FALSE
...
Fixes oss-fuzz #58459
2023-05-02 12:02:20 +03:00
Dmitry Stogov
e14ac1caee
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties (#11048 )
2023-04-10 23:25:08 +03:00