1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

3971 Commits

Author SHA1 Message Date
Dmitry Stogov ac8a53cab1 JIT: Fix register allocator
Fixes oss-fuzz #44916
2022-02-28 13:48:53 +03:00
Dmitry Stogov 78c7289f69 Fixed incorrect DCE for FREE
Fixes oss-fuzz #44863
2022-02-28 11:44:22 +03:00
Christoph M. Becker ef80dcb80b Fix GH-8074: Wrong type inference of range() result
If either the first or second operand of `range()` may be a string, we
must not exclude the possibility that the result may be an array of
longs.

Closes GH-8131.
2022-02-22 10:14:54 +01:00
Dmitry Stogov 3198b8787b JIT: Fix register allocation
Fixes oss-fuzz #44689
2022-02-18 17:15:07 +03:00
Dmitry Stogov 8f5480e7eb Release lock and protect SHM before replaying warnings 2022-02-17 19:16:15 +03:00
Dmitry Stogov 912608d89b JIT: Fixed register clobbering during overflow handling
Fixes oss-fuzz #44535
2022-02-11 13:44:49 +03:00
Dmitry Stogov 7434909dc6 Fix type inference
Fixes oss-fuzz #44407
2022-02-11 13:03:36 +03:00
Dmitry Stogov 0d6b173532 JIT: Fix missed type store
Fizes oss-fuzz #44376
2022-02-11 12:05:57 +03:00
Dmitry Stogov d0f965d078 Tracing JIT: Fixed incorrect deoptimization info 2022-02-11 11:10:22 +03:00
Dmitry Stogov 82bb169a08 Tracing JIT: Fixed incorrect deoptimization info
Fixes oss-fuzz #44294
2022-02-11 11:08:19 +03:00
Dmitry Stogov 478448d271 JIT: Fix register alloction (missed store)
Fixes oss-fuzz #44242
2022-02-01 22:00:39 +03:00
Dmitry Stogov 54c952f11f JIT: Fix incorrect type store elimination
Fixes oss-fuzz #43737
2022-01-28 16:27:55 +03:00
Dmitry Stogov f711c9603d Fix incorrect register allocation
Fixes oss-fuzz #44006
2022-01-28 13:08:11 +03:00
Dmitry Stogov 965dafe3e1 Fix too aggressive DCE that leads to memory leak
Fixes oss-fuzz #43738
2022-01-28 12:17:46 +03:00
Dmitry Stogov ee8f9d75c0 JIT: Fix trace type inference
Fixes oss-fuzz #43597
2022-01-14 16:43:50 +03:00
Dmitry Stogov 079c5af9ec JIT: Fix register allocation
Fixes oss-fuzz #43598
2022-01-14 13:41:16 +03:00
Dmitry Stogov 522406c0ec JIT: Fix incorrect flag check
Fixes oss-fuzz #43538
2022-01-11 22:23:44 +03:00
Dmitry Stogov d8b0337cff Fix register allocation on x86
Fixes oss-fuzz #43119
2022-01-11 13:02:55 +03:00
Dmitry Stogov 1f58365438 Fix type inference
Fixes oss-fuzz #43367
2022-01-10 21:53:35 +03:00
Dmitry Stogov 698ac23711 Fixed NAN handling in SCCP
Fixes oss-fuzz #43341
2022-01-10 19:39:19 +03:00
Dmitry Stogov 71d6501346 Added test 2022-01-10 16:05:40 +03:00
Dmitry Stogov b80d30d821 Fix type inference for assign to string offset with invalid index.
Fixes oss-fuzz #43277
2022-01-10 16:03:54 +03:00
Dmitry Stogov 4170d41a66 JIT: Fix incorrect FETCH_THIS elimination
Fizex oss-fuzz #43159
2022-01-10 15:37:36 +03:00
Dmitry Stogov 206bcff50d iSeparate tests 2021-12-28 16:56:23 +03:00
Dmitry Stogov fd879e6fe4 JIT: Fix array clobbering by user error handler
Gixes oss-fuzz #43055
2021-12-28 16:51:03 +03:00
Dmitry Stogov de358f856f Fix reference contig inference
Fixes oss-fuzz #43032
2021-12-28 09:57:03 +03:00
Dmitry Stogov 2b81156f2a Fix memory leak in SCCP
Fixes oss-fuzz #42878
2021-12-24 13:10:22 +03:00
Dmitry Stogov cb10ac1d53 Fixed compilation warning 2021-12-21 00:02:45 +03:00
Dmitry Stogov 6d5922bed5 JIT: Fix incorrect JIT prologur size for CLANG/x86 build
Fixes oss-fuzz #42724
2021-12-20 23:52:46 +03:00
Dmitry Stogov e004e844f7 Fix incorrect optimization of ASSIGN_OP that may lead to memory leak
Fixes oss-fuzz #42506
2021-12-20 15:06:32 +03:00
Dmitry Stogov 7c674e1aa7 JIT: Fix register clobbering
Fixes oss-fuzz #42657
2021-12-20 12:48:48 +03:00
Dmitry Stogov f18bb2477f Fix type inference for INIT_ARRAY with invalid index
Fixes oss-fuzz #42568
2021-12-20 11:40:11 +03:00
Dmitry Stogov 66306030ad JIT: Fix incorrect type store elimination
Fixes oss-fuzz #42388
2021-12-17 12:31:48 +03:00
Christoph M. Becker 49380b59d2 Fix #81679: Tracing JIT crashes on reattaching
When a new process reattaches to OPcache, tracing JIT causes segfaults,
because each new process allocates its own `zend_jit_traces` and
`zend_jit_exit_groups` in SHM, although these need to be shared between
all processes.

We solve that by only allocating these structs for the first process,
and store the pointers in `accel_shared_globals`, so we can reassign
them when a new process reattaches.

Closes GH-7776.
2021-12-15 15:37:23 +01:00
Dmitry Stogov cd8e6f5f7b Preloading: don't remove INCLUDE_OE_EVAL nstructions with used result 2021-12-14 11:36:33 +03:00
Dmitry Stogov fe320e83ae Tracing JIT: Fix reference counting
Fixes oss-fuzz #42225
2021-12-13 16:28:45 +03:00
Dmitry Stogov cbc0b1afeb Fix array clobering by user error handler
Fixes oss-fuzz #42234
2021-12-13 14:59:30 +03:00
Dmitry Stogov 230de7721f Fix incorrect optimization that leads to memory leak
Fixes oss-fuzz #42221
2021-12-13 13:08:05 +03:00
Dmitry Stogov e79dbe1124 JIT: Fix crash during compilation of function with incompletely constructed SSA
Fixes oss-fuzz #42200
2021-12-13 11:49:51 +03:00
Christoph M. Becker 0b3a937670 Fix GH-7759: Incorrect return types for hash() and hash_hmac()
`hash()` and `hash_hmac()` never return `false`; only `hash_file()` and
`hash_hmac_file()` return `false` in case the data cannot be read.

Closes GH-7760.
2021-12-12 15:39:55 +01:00
Dmitry Stogov 6f42c073cf Remove range inference for booleans.
Range inference for bolleans and longs comparison was incorrect.

Fizes oss-fuzz #fuzz-42161.php
2021-12-10 14:32:47 +03:00
Dmitry Stogov 0ac3d78d7d Fix incorrect JMP optimization
Fixes oss-fuzz #42155
2021-12-10 01:39:28 +03:00
Dmitry Stogov 7b629afe4e Fixed incorrect DCE of a constructor call
Fixez oss-fuzz #42049
2021-12-06 15:59:30 +03:00
Dmitry Stogov c29f6baaee JIT: Fix incorrect elimination of type store
Fixes oss-fuzz #41995
2021-12-06 14:22:07 +03:00
Dmitry Stogov aa7280264e Fix refcount inferemce ($a += $a returns old array with RCN)
Fixes oss-fuzz #41670
2021-12-06 11:30:03 +03:00
Dmitry Stogov c9901aa594 Add missing "return" 2021-12-03 13:52:10 +03:00
Dmitry Stogov 4a5c05a49d ws 2021-12-03 13:40:01 +03:00
Dmitry Stogov 1d054b3fa7 Fix array object clobbering by user error handler
Fixes oss-fuss #41605 and #41610
2021-12-03 13:35:28 +03:00
Dmitry Stogov 2515e788bc JIT: Fix register clobbering
Fixes oss-fuzz #41621
2021-12-03 11:13:50 +03:00
Dmitry Stogov c4ee66856e Tracing JIT: Fixed Zend/tests/str_offset_008.phpt failure 2021-12-02 23:47:36 +03:00