1
0
mirror of https://github.com/php/php-src.git synced 2026-04-03 14:12:38 +02:00
Commit Graph

1841 Commits

Author SHA1 Message Date
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
Dmitry Stogov
0c65b396d6 Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties (#11048) 2023-04-10 23:19:17 +03:00
Dmitry Stogov
962aac698e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Tracing JIT: Fixed incorrect code generation fofr SEND-ing of result of ASSIGN to typed reference
2023-04-03 18:15:46 +03:00