Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix garbage marking in gc_collect_roots() | Nikita Popov | 2018-03-07 | 1 | -5/+4 |
| | | | | | | | | gc_collect_white() will mark white nodes as black and add them as garbage, but only if it's not buffered yet. The already buffered roots are instead marked as garbage in gc_collect_roots() directly. However, if gc_collect_white() marked a (buffered) root as black through recursion, it would not subsequently be marked as garbage. | ||||
* | Fixed bug #76050 | Dmitry Stogov | 2018-03-06 | 1 | -3/+3 |
| | |||||
* | Typo | Dmitry Stogov | 2018-03-05 | 1 | -1/+1 |
| | |||||
* | Reverted e6d6fcedf71a658c49b7c2eb55305cf5970ec681 and overdesign introduced ↵ | Dmitry Stogov | 2018-03-05 | 1 | -124/+114 |
| | | | | | | in ae64dd6d566de448d20232436e1aba25c611357c. Now we have just indexex, pointers and linked list od unused buffers. | ||||
* | Fix incorrect GC_NUM2ADDR usage | Nikita Popov | 2018-03-05 | 1 | -1/+1 |
| | | | | | Both first_unused and GC_MAX_UNCOMPRESSED are addresses, so we should compare them directly. | ||||
* | Switch to better GC address representation | Dmitry Stogov | 2018-03-02 | 1 | -8/+8 |
| | |||||
* | Make distinct between indexes/numbers, GC addresses and pointers to ↵ | Dmitry Stogov | 2018-03-02 | 1 | -96/+116 |
| | | | | | | gc_root_buffers. Perform conversion through macros. | ||||
* | GC API cleanup | Dmitry Stogov | 2018-03-02 | 1 | -7/+22 |
| | |||||
* | Switch to siple "commpression" scheme | Dmitry Stogov | 2018-03-02 | 1 | -50/+24 |
| | |||||
* | micro-optimization | Dmitry Stogov | 2018-03-02 | 1 | -1/+2 |
| | |||||
* | Cleanup | Dmitry Stogov | 2018-03-02 | 1 | -10/+3 |
| | |||||
* | Tunning for fast paths | Dmitry Stogov | 2018-03-01 | 1 | -56/+71 |
| | |||||
* | Cleanup | Dmitry Stogov | 2018-03-01 | 1 | -37/+32 |
| | |||||
* | Improve GC color checks | Dmitry Stogov | 2018-03-01 | 1 | -20/+24 |
| | |||||
* | Implemented simple adaptive GC threshold selection. | Dmitry Stogov | 2018-03-01 | 1 | -7/+27 |
| | |||||
* | GC improvement | Dmitry Stogov | 2018-03-01 | 1 | -348/+436 |
| | |||||
* | Tunning for new GC_TYPE_INFO layout | Dmitry Stogov | 2018-02-28 | 1 | -76/+100 |
| | |||||
* | typo | Dmitry Stogov | 2018-02-28 | 1 | -1/+1 |
| | |||||
* | Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to ↵ | Dmitry Stogov | 2018-02-28 | 1 | -27/+31 |
| | | | | GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited) | ||||
* | Completely hide GC implementation details into zend_gc.c | Dmitry Stogov | 2018-02-27 | 1 | -7/+103 |
| | |||||
* | Use OBJ_FLAGS() macro to access object flags (even if they are currently ↵ | Dmitry Stogov | 2018-01-22 | 1 | -9/+9 |
| | | | | stored together with GC_FLAGS) | ||||
* | year++ | Xinchen Hui | 2018-01-02 | 1 | -1/+1 |
| | |||||
* | Encapsulate reference-counting primitives. | Dmitry Stogov | 2017-10-27 | 1 | -21/+21 |
| | | | | | | Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-counting (disabled for now). These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads. | ||||
* | further sync for vim mode lines | Anatol Belski | 2017-07-04 | 1 | -0/+2 |
| | |||||
* | Removed deprecated checks. | Dmitry Stogov | 2017-06-27 | 1 | -26/+15 |
| | |||||
* | Merge branch 'PHP-7.1' | Nikita Popov | 2017-03-07 | 1 | -3/+6 |
|\ | |||||
| * | Merge branch 'PHP-7.0' into PHP-7.1 | Nikita Popov | 2017-03-07 | 1 | -3/+6 |
| |\ | |||||
| | * | Fix out of bounds access in gc_find_additional_buffer() | Nikita Popov | 2017-03-07 | 1 | -3/+6 |
| | | | |||||
* | | | Merge branch 'PHP-7.1' | Xinchen Hui | 2017-02-13 | 1 | -52/+71 |
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | * PHP-7.1: Update NEWS Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite) Conflicts: Zend/zend_gc.c | ||||
| * | | Merge branch 'PHP-7.0' into PHP-7.1 | Xinchen Hui | 2017-02-13 | 1 | -52/+71 |
| |\ \ | | |/ | | | | | | | | | | * PHP-7.0: Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite) | ||||
| | * | Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite) | Xinchen Hui | 2017-02-13 | 1 | -52/+71 |
| | | | |||||
* | | | Merge branch 'PHP-7.1' | Xinchen Hui | 2017-02-11 | 1 | -2/+2 |
|\ \ \ | |/ / | | | | | | | | | | * PHP-7.1: Fixed typo | ||||
| * | | Merge branch 'PHP-7.0' into PHP-7.1 | Xinchen Hui | 2017-02-11 | 1 | -2/+2 |
| |\ \ | | |/ | | | | | | | | | | * PHP-7.0: Fixed typo | ||||
| | * | Fixed typo | Xinchen Hui | 2017-02-11 | 1 | -2/+2 |
| | | | |||||
| | * | Update copyright headers to 2017 | Sammy Kaye Powers | 2017-01-04 | 1 | -1/+1 |
| | | | |||||
| * | | Update copyright headers to 2017 | Sammy Kaye Powers | 2017-01-04 | 1 | -1/+1 |
| | | | |||||
* | | | Replace redundand checks with ZEND_ASSERT. We shouldn't get IS_OBJECTs ↵ | Dmitry Stogov | 2017-02-03 | 1 | -68/+61 |
| | | | | | | | | | | | | without object_storage. | ||||
* | | | Enable HT RC assertions with escape-hatch | Nikita Popov | 2017-01-23 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | HT functions that modify the array now assert that rc=1. As we don't respect this COW constraint everywhere, either for a good reason or because fixing it would take more work, we provide an escape hatch in the form of HT_ALLOW_COW_VIOLATION(ht). If this macro is called assertions on this ht are disabled. The macro is a no-op in release mode. | ||||
* | | | Update copyright headers to 2017 | Sammy Kaye Powers | 2017-01-02 | 1 | -1/+1 |
|/ / | |||||
* | | Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1 | Bob Weinand | 2016-07-27 | 1 | -0/+1 |
|\ \ | |/ | |||||
| * | Fixed a potential segfault in zend_objects_store_free_object_storage() | Bob Weinand | 2016-07-27 | 1 | -0/+1 |
| | | | | | | | | | | Under the special circumstance where a garbage collected objects bucket slot was not reused until the end of the script, we get access into freed memory... No test added as it usually is valgrind-only, and only sometimes when the memory happens to have changed (i.e. (GC_FLAGS(obj) & IS_OBJ_FREE_CALLED) == 0), it actually *may* segfault | ||||
* | | Fixed bug #71818 (Memory leak when array altered in destructor) | Dmitry Stogov | 2016-07-14 | 1 | -3/+0 |
| | | |||||
* | | Add document for zend_gc_collect_cycles | c9s | 2016-07-11 | 1 | -0/+52 |
| | | |||||
* | | Reimplemented Bob's commit bac6fdb0c52c924e726c5a78de8858bf27b6586b without ↵ | Dmitry Stogov | 2016-05-06 | 1 | -1/+1 |
| | | | | | | | | insignificant renaming and white-space changes | ||||
* | | Revert "Refactor zval cleanup into single function" | Dmitry Stogov | 2016-05-06 | 1 | -1/+1 |
| | | | | | | | | This reverts commit bac6fdb0c52c924e726c5a78de8858bf27b6586b. | ||||
* | | Refactor zval cleanup into single function | Bob Weinand | 2016-05-05 | 1 | -1/+1 |
|/ | | | | Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor() | ||||
* | bump year which is missed in rev 49493a2 | Xinchen Hui | 2016-01-02 | 1 | -1/+1 |
| | |||||
* | Fixed bug #70805 (Segmentation faults whilst running Drupal 8 test suite) | Xinchen Hui | 2015-11-03 | 1 | -0/+7 |
| | |||||
* | Fixed return without value | Dmitry Stogov | 2015-05-06 | 1 | -1/+1 |
| | |||||
* | Fixed bug #69534 (Cycle leaks through declared properties on internal classes) | Dmitry Stogov | 2015-05-06 | 1 | -28/+113 |
| |