1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 01:18:19 +02:00
Commit Graph

4562 Commits

Author SHA1 Message Date
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