1
0
mirror of https://github.com/php/php-src.git synced 2026-04-13 19:14:16 +02:00
Commit Graph

1467 Commits

Author SHA1 Message Date
Dmitry Stogov
7ff71a0a55 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Tracing: Prevent recording types of variables used to pass zend_class_entry
2022-08-01 17:03:56 +03:00
Dmitry Stogov
2758ff2a77 Tracing: Prevent recording types of variables used to pass zend_class_entry 2022-08-01 17:02:53 +03:00
Dmitry Stogov
69c10aed58 Fix incorrect guard motion out of the loop
Fixes oss-fuzz #49579
2022-08-01 15:32:49 +03:00
Dmitry Stogov
e70d282077 JIT: Fix missing type stote
Fixes oss-fuzz #49402
2022-07-25 15:24:26 +03:00
Dmitry Stogov
cc465ba0bb Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix memory leak
2022-07-25 12:08:00 +03:00
Dmitry Stogov
44b86aee31 Fix memory leak
Fixes oss-fuzz #49272
2022-07-25 12:04:46 +03:00
Arnaud Le Blanc
f2381ae4ba Fix JIT crash with large number of match/switch arms (#8961)
Switch statements may generate a large number of exit points. Once the max
number of exit points is reached, get_exit_addr() returns NULL. This was not
checked, and this resulted in a jump table with some 0 addresses.
2022-07-18 12:34:20 +02:00
Dmitry Stogov
af75eab0ef Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:09:14 +03:00
Dmitry Stogov
d66d477d6f Fix incorrect condition introdused in 7cf6f17383 2022-06-29 13:08:18 +03:00
Dmitry Stogov
b7693360cb Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:13:03 +03:00
Dmitry Stogov
7cf6f17383 Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file) 2022-06-29 12:10:46 +03:00
Dmitry Stogov
7e23c838e2 Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT 2022-06-27 16:41:53 +03:00
Dmitry Stogov
971b07ea60 JIT: Fix incorrect reference-counting
This fixes oss-fuzz #47937
2022-06-14 15:03:50 +03:00
Dmitry Stogov
70e0e1ada6 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix missing register store
2022-06-14 13:59:47 +03:00
Dmitry Stogov
1cd8074743 JIT: Fix missing register store
This fixes oss-fuzz #48023
2022-06-14 13:57:44 +03:00
Dmitry Stogov
7ebda198ea Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix memory leak
2022-05-30 11:39:10 +03:00
Dmitry Stogov
3a8912fb7c Fix memory leak
This fixes oss-fuzz #47648
2022-05-30 11:32:17 +03:00
Arnaud Le Blanc
69d263e2a1 Add JIT guards for INIT_METHOD_CALL when the method may be modified (#8600)
Non-polymorphic methods can be modified from one request to an other due to recompilation or conditional declaration.

Fixes GH-8591

Co-authored-by: Oleg Stepanischev <Oleg.Stepanischev@tatar.ru>
2022-05-27 13:15:15 +02:00
Dmitry Stogov
6c25413183 Add JIT guards for INIT_FCALL instructions and functions that may be modified
For methods we reuse mechanism of polymorphic calls.
For regular function we invalidate the whole root trace.

This fixes https://github.com/php/php-src/issues/8461
2022-05-12 18:44:12 +03:00
Dmitry Stogov
c3a30544ad JIT: Fixed incorrect guard
Fixes oss-fuzz #46704
2022-04-18 11:34:18 +03:00
Dmitry Stogov
8633893330 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix memory lek
2022-04-11 12:21:02 +03:00
Dmitry Stogov
3aaf2f6f89 JIT: Fix memory lek
Fixes oss-fuzz #46462
2022-04-11 12:17:05 +03:00
Dmitry Stogov
69bcd93190 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Tracing JIT: Fixed incorrect assumption about stack slot type
2022-04-11 11:42:56 +03:00
Dmitry Stogov
5b048dd05c Tracing JIT: Fixed incorrect assumption about stack slot type
Fixes oss-fuzz #46404
2022-04-11 11:42:01 +03:00
Dmitry Stogov
33704be5f2 Trcing JIT: remove unchecked type guards om ROPE_* instructions
Fixes oss-fuzz #46209
2022-04-04 15:06:35 +03:00
Dmitry Stogov
24bb178310 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fixed incorrect code generation
2022-04-04 14:24:10 +03:00
Dmitry Stogov
0d44bbd212 JIT: Fixed incorrect code generation
Fixes oss-fuzz #46328
2022-04-04 14:20:45 +03:00
Dmitry Stogov
7aac1c11ee Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fixed memory leak
2022-03-25 16:55:37 +03:00
Dmitry Stogov
aa352c2c54 JIT: Fixed memory leak
Fixes oss-fuzz #45981
2022-03-25 16:54:50 +03:00
Dmitry Stogov
62a1c068fe Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix register clobbering
2022-03-21 16:13:04 +03:00
Dmitry Stogov
cf83bdd925 JIT: Fix register clobbering
Fixes oss-fuzz #45590
2022-03-21 16:08:52 +03:00
Dmitry Stogov
21b0da8cdf Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix missing type store
2022-03-21 14:07:34 +03:00
Dmitry Stogov
e9fc81a2f8 JIT: Fix missing type store
Fixes oss-fuzz #45604
2022-03-21 13:34:46 +03:00
Dmitry Stogov
2198493f12 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix memory leak
2022-03-21 12:51:10 +03:00
Dmitry Stogov
7051dc3372 JIT: Fix memory leak
Fixes oss-fuzz #45658
2022-03-21 12:50:30 +03:00
Dmitry Stogov
83ab9cf871 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix missing exception handling
2022-03-18 18:56:02 +03:00
Dmitry Stogov
3d6a7e2bd5 JIT: Fix missing exception handling
Fixes oss-fuzz #45649
2022-03-18 18:54:47 +03:00
Dmitry Stogov
2bed115336 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix register allocation
2022-03-14 11:47:27 +03:00
Dmitry Stogov
e20f955e44 JIT: Fix register allocation
Fixes oss-fuzz #45487
2022-03-14 11:46:45 +03:00
Dmitry Stogov
2862553de7 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix type store
2022-03-14 09:51:49 +03:00
Dmitry Stogov
9792f0db76 JIT: Fix type store
Fixes oss-fuzz #45190
2022-03-14 09:48:58 +03:00
Christoph M. Becker
0b1bca6b9c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-8160: ZTS support on Alpine is broken
2022-03-11 14:41:46 +01:00
Michael Voříšek
2b2aeb989e Fix GH-8160: ZTS support on Alpine is broken
We need to export `__MUSL__` so that phpize builds can see the proper
macro, and also need to fix "_tsrm_ls_cache" usage for musl.

Closes GH-8180.
2022-03-11 14:39:39 +01:00
Dmitry Stogov
f7608df78d Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Tracing JIT: Eliminate useless guards for CONCAT
2022-03-11 12:40:25 +03:00
Dmitry Stogov
6c3816cee5 Tracing JIT: Eliminate useless guards for CONCAT
Fixes oss-fuzz #45285
2022-03-11 12:39:10 +03:00
Dmitry Stogov
f67986a921 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix memory leak
2022-02-28 15:52:25 +03:00
Dmitry Stogov
70f7e7d83f JIT: Fix memory leak
Fixes oss-fuzz #44920
2022-02-28 15:43:03 +03:00
Dmitry Stogov
0a5162b2b6 Allow setting full type info 2022-02-28 13:55:25 +03:00
Dmitry Stogov
2ae1e7a2a3 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fix register allocator
2022-02-28 13:52:16 +03:00
Dmitry Stogov
ac8a53cab1 JIT: Fix register allocator
Fixes oss-fuzz #44916
2022-02-28 13:48:53 +03:00