Dmitry Stogov
f65144fb74
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed abstract stack consistency for [QM_]ASSIGN of CV to itself
2021-11-15 23:26:36 +03:00
Dmitry Stogov
fc35a6b93c
Tracing JIT: Fixed abstract stack consistency for [QM_]ASSIGN of CV to itself
2021-11-15 23:25:16 +03:00
Dmitry Stogov
dca0112917
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed failure on non-optimized op_arrays (op_array->T may be above ssa->vars_count)
2021-11-15 14:45:33 +03:00
Dmitry Stogov
85066fd88e
Tracing JIT: Fixed failure on non-optimized op_arrays (op_array->T may be above ssa->vars_count)
2021-11-15 14:44:01 +03:00
Dmitry Stogov
fb582f4230
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed reference-counting inference
2021-11-15 10:40:35 +03:00
Dmitry Stogov
292d76d8a4
JIT: Fixed reference-counting inference
2021-11-15 10:39:58 +03:00
Dmitry Stogov
389b2a4463
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed test
2021-11-12 22:49:27 +03:00
Dmitry Stogov
64fde17042
Fixed test
2021-11-12 22:48:50 +03:00
Dmitry Stogov
dc3bd5562f
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect guard elimination
2021-11-12 21:01:44 +03:00
Dmitry Stogov
12d02e6227
Fixed incorrect guard elimination
2021-11-12 21:00:08 +03:00
Dmitry Stogov
efba3b6cac
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 21:22:47 +03:00
Dmitry Stogov
5380b415a2
JIT: Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 21:14:17 +03:00
Dmitry Stogov
4aa73bbfc4
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed incorrect MOD into BW_AND optimization
2021-11-10 21:18:15 +03:00
Dmitry Stogov
64915775a7
JIT: Fixed incorrect MOD into BW_AND optimization
2021-11-10 21:14:41 +03:00
Dmitry Stogov
cfde86a0b2
Fixed test
2021-11-10 20:21:07 +03:00
Dmitry Stogov
e4d0b012d5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed register allocation
2021-11-10 20:07:32 +03:00
Dmitry Stogov
3081423706
Tracing JIT: Fixed register allocation
...
In case of side exit on ADD/SUB/MUL overflow source registers must be kept unchanged
2021-11-10 20:04:25 +03:00
Dmitry Stogov
c699629916
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed incorrect assumption about in-memeory zval type
2021-11-10 16:46:25 +03:00
Dmitry Stogov
3dba5566ce
Tracing JIT: Fixed incorrect assumption about in-memeory zval type
2021-11-10 16:46:09 +03:00
Dmitry Stogov
10575b7bc1
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed memory leak
2021-11-10 12:50:14 +03:00
Dmitry Stogov
45683703f1
JIT: Fixed memory leak
2021-11-10 12:49:20 +03:00
Dmitry Stogov
936c6df022
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed incorrect tracing type inference
2021-11-10 11:13:48 +03:00
Dmitry Stogov
203c1b807e
Tracing JIT: Fixed incorrect tracing type inference
...
There are some cases when IS_VAR/IS_TMP_VAR variables are set to IS_UNDEF.
TODO: It would be better to switch to IS_NULL in master.
2021-11-10 11:10:44 +03:00
Dmitry Stogov
eda9d7ac22
Tracing JIT: Fixed missed type store in deoptimization code
2021-11-09 00:55:40 +03:00
Dmitry Stogov
9bd490dc33
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect reference counter inference
2021-11-08 20:54:45 +03:00
Dmitry Stogov
535a0553e8
Fixed incorrect reference counter inference
2021-11-08 20:54:17 +03:00
Dmitry Stogov
9db900926c
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed incorrect guard elimination
2021-11-08 20:09:01 +03:00
Dmitry Stogov
8fe808207f
JIT: Fixed incorrect guard elimination
2021-11-08 20:08:39 +03:00
Nikita Popov
53df29bc29
Drop pi nodes for both old/new pred in replace_predecessor
...
We also need to drop pi nodes for new_pred here, as the pi node
restriction for new_pred is not necessarily true for control
coming from old_pred as well.
Fixes oss-fuzz #40782 .
2021-11-08 14:56:42 +01:00
Dmitry Stogov
03f149799a
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Don't call _zend_hash_index_find() for packed arrays
2021-11-08 13:13:48 +03:00
Dmitry Stogov
e868ded6ef
Don't call _zend_hash_index_find() for packed arrays
2021-11-08 13:13:23 +03:00
Dmitry Stogov
b1b6440d84
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed incorrect guard elimination
2021-11-08 12:29:03 +03:00
Dmitry Stogov
7bf63243e1
JIT: Fixed incorrect guard elimination
2021-11-08 12:28:36 +03:00
Dmitry Stogov
5e39ed08e1
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed incorrect guard elimination
2021-11-03 23:37:29 +03:00
Dmitry Stogov
34d22acc7e
Tracing JIT: Fixed incorrect guard elimination
2021-11-03 23:37:00 +03:00
Dmitry Stogov
22a171a0b5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed type inference for FETCH_DIM_W without use
2021-11-03 19:45:30 +03:00
Dmitry Stogov
66d93c63ff
Fixed type inference for FETCH_DIM_W without use
2021-11-03 19:44:38 +03:00
Dmitry Stogov
c2079802b5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed reference counting when escape because of IS_UNDEF element (test)
2021-11-01 22:19:28 +03:00
Dmitry Stogov
2605911272
Tracing JIT: Fixed reference counting when escape because of IS_UNDEF element (test)
2021-11-01 22:19:10 +03:00
Dmitry Stogov
8c9bfa13a9
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed reference counting when escape because of IS_UNDEF element
2021-11-01 22:17:17 +03:00
Dmitry Stogov
d7ac39b02d
Tracing JIT: Fixed reference counting when escape because of IS_UNDEF element
2021-11-01 22:14:12 +03:00
Dmitry Stogov
d4a7e4d1ff
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect assumption about reference counting
2021-11-01 20:28:33 +03:00
Dmitry Stogov
5c43e0c0ee
Fixed incorrect assumption about reference counting
2021-11-01 20:28:05 +03:00
Dmitry Stogov
8262329924
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed numeric string index handling
2021-11-01 18:52:50 +03:00
Dmitry Stogov
f1e6a7d83d
JIT: Fixed numeric string index handling
2021-11-01 18:50:32 +03:00
Dmitry Stogov
be8c9b9476
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed register allocation in case of integer overflow
2021-11-01 16:48:44 +03:00
Dmitry Stogov
cd32b47235
JIT: Fixed register allocation in case of integer overflow
2021-11-01 16:46:41 +03:00
Nikita Popov
2e29817005
Handle FETCH_DIM_R after FETCH_DIM_FUNC_ARG in inference
...
This can happen if a call is optimized, but FETCH_DIM_FUNC_ARG
cannot be converted to FETCH_DIM_R because it uses an UNUSED op2,
which is not supported by FETCH_DIM_R.
Fixes oss-fuzz 6144185837682688.
2021-11-01 14:26:36 +01:00
Nikita Popov
3d38960979
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix range inference hang
2021-11-01 12:32:04 +01:00
Nikita Popov
f8ec5a1d4c
Fix range inference hang
...
We shouldn't switch from range to no range for ZEND_DIV and instead
explicitly return an overflowing range. Otherwise the range will
not actually get updated during widening, and we'll perform
essentially infinite narrowing.
Fixes oss-fuzz #40566 .
2021-11-01 12:31:34 +01:00