Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24 |
|
#
0fb2374e |
| 23-Oct-2020 |
Nikita Popov |
Make GC default threshold handling consistent While the initial threshold is set to 10001 roots, the threshold adjustment logic may then set it to 10000. The exact value really doesn
Make GC default threshold handling consistent While the initial threshold is set to 10001 roots, the threshold adjustment logic may then set it to 10000. The exact value really doesn't matter, but we should make it consistent.
show more ...
|
Revision tags: php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1 |
|
#
bb3d4456 |
| 15-Jun-2020 |
Dmitry Stogov |
Change GC_COLLECTABLE flag into GC_NOT_COLLECTABLE to simplify GC_MAY_LEAK() check
|
#
50c87e92 |
| 12-Jun-2020 |
Nikita Popov |
Use GC stack in nested data removal We should be doing this anyway to prevent stack overflow, but on master this is important for an additional reason: The temporary GC buffer provid
Use GC stack in nested data removal We should be doing this anyway to prevent stack overflow, but on master this is important for an additional reason: The temporary GC buffer provided for get_gc handlers may get reused if the scan is performed recursively instead of indirected via the GC stack. This fixes oss-fuzz #23350.
show more ...
|
#
4a7ec516 |
| 12-Jun-2020 |
Nikita Popov |
Move label to correct position
|
#
0949214a |
| 12-Jun-2020 |
Nikita Popov |
Fix null pointer UB in GC This is just plain stupid: In C, it is not permitted to add zero to a null pointer. In C++, it is permitted.
|
Revision tags: php-7.4.7, php-7.3.19 |
|
#
1b85e749 |
| 06-Jun-2020 |
twosee |
Fix warning of strict-prototypes Closes GH-5673.
|
Revision tags: php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1 |
|
#
48a34bc1 |
| 24-Apr-2020 |
Nikita Popov |
Add helper APIs for get_gc implementations get_gc() implementations that need to explore heterogeneous data currently work by computing how many GC entries they need, allocating a bu
Add helper APIs for get_gc implementations get_gc() implementations that need to explore heterogeneous data currently work by computing how many GC entries they need, allocating a buffer for that and storing it on the object. This is inefficient and wastes memory, because the buffer is retained after the GC run. This commit adds an API for a single global GC buffer, which can be reused by get_gc implementations (as only one get_gc call is ever active at the same time). The GC buffer will automatically grow during the GC run and be discarded at the end.
show more ...
|
Revision tags: php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25 |
|
#
b037fe5b |
| 20-Nov-2019 |
Tyson Andre |
Handle reallocated root buffer during GC destroy phase (v2) We no longer protect GC during the destroy phase, so we need to deal with buffer reallocation. Note that the implemen
Handle reallocated root buffer during GC destroy phase (v2) We no longer protect GC during the destroy phase, so we need to deal with buffer reallocation. Note that the implementation of spl_SplObjectStorage_free_storage will call the destructor of SplObjectStorage, and free the instance properties, which I think is what caused the root buffer to be reallocated. (`current` is a pointer for an index within the root buffer?) This fixes bug #78811 for me. Closes GH-4935
show more ...
|
#
500ba8b2 |
| 20-Nov-2019 |
Tyson Andre |
Handle reallocated root buffer during GC destroy phase (v2) We no longer protect GC during the destroy phase, so we need to deal with buffer reallocation. Note that the implemen
Handle reallocated root buffer during GC destroy phase (v2) We no longer protect GC during the destroy phase, so we need to deal with buffer reallocation. Note that the implementation of spl_SplObjectStorage_free_storage will call the destructor of SplObjectStorage, and free the instance properties, which I think is what caused the root buffer to be reallocated. (`current` is a pointer for an index within the root buffer?) This fixes bug #78811 for me. Closes GH-4935
show more ...
|
Revision tags: php-7.3.12 |
|
#
3f4a1511 |
| 15-Nov-2019 |
Nikita Popov |
Handle reallocated root buffer during GC destroy phase We no longer protect GC during the destroy phase, so we need to deal with buffer reallocation. Possible fix for bug #78811.
|
Revision tags: php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10 |
|
#
73115ef8 |
| 23-Sep-2019 |
Nikita Popov |
Fixed bug #78589 Don't protect GC while destroying zvals. We may need to add GC roots during this phase.
|
Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9 |
|
#
589542f5 |
| 26-Aug-2019 |
Nikita Popov |
Remove properties HT from nested GC data The properties HT may be a GC root itself, so we need to remove it. I'm not sure this issue actually applies to PHP 7.2, but committing it th
Remove properties HT from nested GC data The properties HT may be a GC root itself, so we need to remove it. I'm not sure this issue actually applies to PHP 7.2, but committing it there to be safe. As seen from the test case, the handling here is rather buggy on 7.2.
show more ...
|
Revision tags: php-7.4.0beta4 |
|
#
c238b5bb |
| 14-Aug-2019 |
Nikita Popov |
Fix reference printing in GC tracing
|
Revision tags: php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2 |
|
#
60a7e60b |
| 01-Aug-2019 |
Nikita Popov |
Fixed bug #72530 For objects with destructors, we will now only call the destructor in the initial GC run, and remove any nested data. The object is marked purple so it will be consi
Fixed bug #72530 For objects with destructors, we will now only call the destructor in the initial GC run, and remove any nested data. The object is marked purple so it will be considered a root for the next GC run, at which point it will be fully destroyed, if possible. GC counts change on a number of tests, as the objects now get destroyed later.
show more ...
|
#
72b7d99d |
| 13-Aug-2019 |
Nikita Popov |
Remove removed nested data from GC count
|
#
f0f3fe0b |
| 13-Aug-2019 |
Nikita Popov |
Don't include non-refcounted structures in GC count
|
#
7bd2b9d2 |
| 13-Aug-2019 |
Nikita Popov |
Generalize delref assertion The refcount should never become negative, not just during GC.
|
#
9b43e29d |
| 09-Aug-2019 |
Dmitry Stogov |
Fixed handling of references in nested data of objects with destructor
|
#
6b1cc125 |
| 09-Aug-2019 |
Dmitry Stogov |
Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)
|
#
2e2cd65d |
| 09-Aug-2019 |
Dmitry Stogov |
Added asserts to catch GC errors when refcount goes below zero.
|
#
38f10ff5 |
| 08-Aug-2019 |
Nikita Popov |
Fix GC tracing Due to the GC changes in 7.3 we stopped tracing most of the interesting coloring changes...
|
#
170a3f87 |
| 06-Aug-2019 |
Dmitry Stogov |
Don't set GC_HAS_DESTRUCTORS flag if destructors were already called
|
Revision tags: php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1 |
|
#
193f28c7 |
| 15-Jul-2019 |
Nikita Popov |
Fixed bug #78010 Prevent the gc_info from becoming all zero for a registered root by setting the top bit to one for compressed root addresses.
|
Revision tags: php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3 |
|
#
3d429869 |
| 19-Jun-2019 |
Nikita Popov |
Fix shift UB in constants We were shifting out the top bit of a signed integer.
|
Revision tags: php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1 |
|
#
231fecee |
| 10-Apr-2019 |
ROVAST |
fix a spell mistake possbile => possible
|