Nikita Popov
1ea58832e2
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix bug #81472 : Support large device major/minor number
2021-09-24 09:58:29 +02:00
Nikita Popov
2b0288b220
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix bug #81472 : Support large device major/minor number
2021-09-24 09:58:22 +02:00
Lin Yang
9ad8fadcbb
Fix bug #81472 : Support large device major/minor number
...
Latest linux kernel use large number (12 bits for major device, 20
bits for minor device). Current code only supports previous standard
(5 chars), which means 8 bits for major and 8 bits for minor device.
It will fail if device number is out of that range. So this patch
increases device number read from /proc/self/maps file.
Closes GH-7512.
2021-09-24 09:57:32 +02:00
Dmitry Stogov
fd5b3ab3ea
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed typo
2021-09-24 09:21:14 +03:00
Dmitry Stogov
92d0abd075
Fixed typo
2021-09-24 09:20:57 +03:00
Dmitry Stogov
f024119718
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Fixed possible incorrect megamorphic call from a trait
2021-09-23 23:41:35 +03:00
Dmitry Stogov
c7c7620918
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed possible incorrect megamorphic call from a trait
2021-09-23 23:41:11 +03:00
Dmitry Stogov
3e6919cfb3
Tracing JIT: Fixed possible incorrect megamorphic call from a trait
2021-09-23 23:38:03 +03:00
Dmitry Stogov
eb7734c91d
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fixed register clobbering
2021-09-23 15:04:42 +03:00
Dmitry Stogov
a0bea10e5b
JIT: Fixed register clobbering
2021-09-23 15:04:05 +03:00
Dmitry Stogov
adc03652dd
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Remove incorrect assertion
2021-09-23 12:15:16 +03:00
Dmitry Stogov
5eb3e30867
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Remove incorrect assertion
2021-09-23 12:15:05 +03:00
Dmitry Stogov
430454268f
Tracing JIT: Remove incorrect assertion
2021-09-23 12:14:33 +03:00
Dmitry Stogov
f6282a60fc
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Fixed possible stack-buffer-overflow.
2021-09-23 10:52:26 +03:00
Dmitry Stogov
757c1277eb
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed possible stack-buffer-overflow.
2021-09-23 10:52:17 +03:00
Dmitry Stogov
08100e81e5
Tracing JIT: Fixed possible stack-buffer-overflow.
2021-09-23 10:51:20 +03:00
Dmitry Stogov
760cfaade1
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed use-after-free introduced in f2ceb639b8
2021-09-23 10:38:12 +03:00
Dmitry Stogov
0f084387f8
Fixed use-after-free introduced in f2ceb639b8
2021-09-23 10:37:25 +03:00
Dmitry Stogov
ac2d85da4d
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Remove weird condition
2021-09-23 01:13:39 +03:00
Dmitry Stogov
4317da35d3
Remove weird condition
2021-09-23 01:12:49 +03:00
Dmitry Stogov
2da8e00d4f
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Check for zend_shared_alloc() failures
2021-09-23 01:02:28 +03:00
Dmitry Stogov
114a0ffd19
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Check for zend_shared_alloc() failures
2021-09-23 01:01:26 +03:00
Dmitry Stogov
17a99f2b11
Check for zend_shared_alloc() failures
2021-09-23 01:00:50 +03:00
Dmitry Stogov
7764d05c87
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fixed possible memory leak
2021-09-22 22:59:43 +03:00
Dmitry Stogov
b9f12d628f
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed possible memory leak
2021-09-22 22:58:57 +03:00
Dmitry Stogov
09d4037a17
JIT: Fixed possible memory leak
2021-09-22 22:57:57 +03:00
Nikita Popov
aa285a015f
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix ASSIGN_STATIC_PROP_REF type inference
2021-09-22 15:55:57 +02:00
Nikita Popov
2dc8c7b3a7
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix ASSIGN_STATIC_PROP_REF type inference
2021-09-22 15:55:42 +02:00
Nikita Popov
983a4fc4a3
Fix ASSIGN_STATIC_PROP_REF type inference
...
We were not inferring anything for the ASSIGN_STATIC_PROP_REF
result type at all, leaving it as an empty type. In the test
case this results in a live range being incorrectly eliminated,
but this could break in all kinds of other ways as well..
2021-09-22 15:55:25 +02:00
Dmitry Stogov
59c3a7fbd9
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fixed memory leak when opperand of ADD IS_VAR and IS_REFERENCE
2021-09-22 16:37:58 +03:00
Dmitry Stogov
c77c79a093
JIT: Fixed memory leak when opperand of ADD IS_VAR and IS_REFERENCE
2021-09-22 16:37:48 +03:00
Nikita Popov
0007c68202
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix JIT typed property inc/dec
2021-09-22 15:33:09 +02:00
Nikita Popov
560dafb50f
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix JIT typed property inc/dec
2021-09-22 15:32:59 +02:00
Nikita Popov
770879702a
Fix JIT typed property inc/dec
...
This was leaking memory for pre-inc/dec of a refcounted typed
property if the result was not used.
The code to do this was unnecessarily complicated, we can base
this on the zend_jit_inc/dec_typed_prop() helper and copy to the
result afterwards.
2021-09-22 15:32:19 +02:00
Dmitry Stogov
dd73e5a0b6
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed type inference
2021-09-22 15:32:24 +03:00
Dmitry Stogov
cffba945e5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed type inference
2021-09-22 15:32:16 +03:00
Dmitry Stogov
e588f24276
Fixed type inference
2021-09-22 15:30:30 +03:00
Dmitry Stogov
8d55998eb5
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fixed JIT for FETCH_OBJ when op1 is a reference of non-object
2021-09-22 14:55:14 +03:00
Dmitry Stogov
5860a390d5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed JIT for FETCH_OBJ when op1 is a reference of non-object
2021-09-22 14:55:02 +03:00
Dmitry Stogov
7a93a8a6fd
JIT: Fixed JIT for FETCH_OBJ when op1 is a reference of non-object
2021-09-22 14:52:25 +03:00
Dmitry Stogov
41d2b7410c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Record information about types of defined object properties and use it to optimize code for ASSIGN_OBJ_OP, PRE/POST_INC/DEC_OBJ and FETCH_OBJ_R/IS
2021-09-22 14:10:26 +03:00
Dmitry Stogov
f2ceb639b8
Tracing JIT: Record information about types of defined object properties and use it to optimize code for ASSIGN_OBJ_OP, PRE/POST_INC/DEC_OBJ and FETCH_OBJ_R/IS
2021-09-22 14:08:31 +03:00
Dmitry Stogov
e69fb48ea3
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Fixed FETCH_DIM_R with packed array and negative key
2021-09-22 02:06:40 +03:00
Dmitry Stogov
4d4a175dc0
Tracing JIT: Fixed FETCH_DIM_R with packed array and negative key
2021-09-22 02:05:05 +03:00
Dmitry Stogov
984f9c4fef
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Fixed bug in register allocator.
2021-09-22 00:47:00 +03:00
Dmitry Stogov
a86ed2df4f
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fixed bug in register allocator.
2021-09-22 00:46:45 +03:00
Dmitry Stogov
19854371ed
Tracing JIT: Fixed bug in register allocator.
...
Type of variable might need to be checked (using type guard) before loading to register.
2021-09-22 00:43:56 +03:00
Nikita Popov
2067388fe6
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix range() return type inference for undef operand
2021-09-21 17:04:12 +02:00
Nikita Popov
a846547ed4
Fix range() return type inference for undef operand
...
This results in a long range.
2021-09-21 17:03:18 +02:00
Nikita Popov
e05f36651b
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Don't unconditionally add array value type for undef
2021-09-21 14:54:42 +02:00