Dmitry Stogov
f844d40fdc
GC API cleanup
2018-03-02 11:02:21 +03:00
Dmitry Stogov
06c6c632c3
Switch to siple "commpression" scheme
2018-03-02 10:01:08 +03:00
Dmitry Stogov
8b5e76c790
micro-optimization
2018-03-02 01:53:59 +03:00
Dmitry Stogov
5c78bb80cc
Cleanup
2018-03-02 01:42:42 +03:00
Dmitry Stogov
26e0ebffac
Tunning for fast paths
2018-03-01 17:38:32 +03:00
Dmitry Stogov
165dadace3
Cleanup
2018-03-01 15:51:50 +03:00
Dmitry Stogov
5994b8ac95
Improve GC color checks
2018-03-01 11:55:26 +03:00
Dmitry Stogov
077d227500
Implemented simple adaptive GC threshold selection.
2018-03-01 11:04:28 +03:00
Dmitry Stogov
fd348ec43f
GC improvement
2018-03-01 03:17:21 +03:00
Dmitry Stogov
4631a5e2e1
Tunning for new GC_TYPE_INFO layout
2018-02-28 13:25:29 +03:00
Dmitry Stogov
31e5c34542
typo
2018-02-28 10:16:51 +03:00
Dmitry Stogov
6f483dc94c
Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited)
2018-02-28 00:52:12 +03:00
Dmitry Stogov
baa9890112
Completely hide GC implementation details into zend_gc.c
2018-02-27 21:08:26 +03:00
Dmitry Stogov
b3e22da745
Use OBJ_FLAGS() macro to access object flags (even if they are currently stored together with GC_FLAGS)
2018-01-22 15:57:00 +03:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Dmitry Stogov
49ea143bbd
Encapsulate reference-counting primitives.
...
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.
2017-10-27 01:28:58 +03:00
Anatol Belski
bc5811f361
further sync for vim mode lines
2017-07-04 18:12:45 +02:00
Dmitry Stogov
c0be77aa75
Removed deprecated checks.
2017-06-27 13:12:09 +03:00
Nikita Popov
361b7159e7
Merge branch 'PHP-7.1'
2017-03-07 13:18:04 +01:00
Nikita Popov
8a6281455e
Merge branch 'PHP-7.0' into PHP-7.1
2017-03-07 13:17:33 +01:00
Nikita Popov
549a30d2cd
Fix out of bounds access in gc_find_additional_buffer()
2017-03-07 13:16:06 +01:00
Xinchen Hui
00e5ea7b76
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Update NEWS
Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite)
Conflicts:
Zend/zend_gc.c
2017-02-13 19:24:00 +08:00
Xinchen Hui
9df7cc3e68
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite)
2017-02-13 19:17:09 +08:00
Xinchen Hui
3917350531
Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite)
2017-02-13 19:16:17 +08:00
Xinchen Hui
cad92c1243
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Fixed typo
2017-02-11 00:02:07 +08:00
Xinchen Hui
808a11041d
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed typo
2017-02-11 00:01:38 +08:00
Xinchen Hui
db7c0badd4
Fixed typo
2017-02-11 00:01:09 +08:00
Dmitry Stogov
a082824725
Replace redundand checks with ZEND_ASSERT. We shouldn't get IS_OBJECTs without object_storage.
2017-02-03 18:31:25 +03:00
Nikita Popov
fd4025069d
Enable HT RC assertions with escape-hatch
...
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.
2017-01-23 17:19:06 +00:00
Sammy Kaye Powers
dac6c639bb
Update copyright headers to 2017
2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9
Update copyright headers to 2017
2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce
Update copyright headers to 2017
2017-01-02 09:30:12 -06:00
Bob Weinand
dfb3e270c2
Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1
2016-07-27 18:18:47 +02:00
Bob Weinand
5513f00a97
Fixed a potential segfault in zend_objects_store_free_object_storage()
...
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
2016-07-27 18:08:43 +02:00
Dmitry Stogov
8fc934b0a1
Fixed bug #71818 (Memory leak when array altered in destructor)
2016-07-14 12:05:44 +03:00
c9s
9288ce5390
Add document for zend_gc_collect_cycles
2016-07-11 12:44:42 +02:00
Dmitry Stogov
cca2c8ecc4
Reimplemented Bob's commit bac6fdb0c5
without insignificant renaming and white-space changes
2016-05-06 10:47:58 +03:00
Dmitry Stogov
c19cb70dac
Revert "Refactor zval cleanup into single function"
...
This reverts commit bac6fdb0c5
.
2016-05-06 10:47:58 +03:00
Bob Weinand
bac6fdb0c5
Refactor zval cleanup into single function
...
Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor()
2016-05-05 23:31:57 +02:00
Xinchen Hui
97a9470d97
bump year which is missed in rev 49493a2
2016-01-02 17:56:11 +08:00
Xinchen Hui
2f2653aa77
Fixed bug #70805 (Segmentation faults whilst running Drupal 8 test suite)
2015-11-03 17:53:56 -08:00
Dmitry Stogov
500b884f17
Fixed return without value
2015-05-06 22:53:48 +03:00
Dmitry Stogov
2a9f9860d7
Fixed bug #69534 (Cycle leaks through declared properties on internal classes)
2015-05-06 21:33:49 +03:00
Dmitry Stogov
6718b56e45
Change the GC approach to inner-loops handling. Switch to less efficient but more robust algorithm. Destructors handling is still not completely accurate.
2015-04-17 18:35:57 +03:00
Dmitry Stogov
276080ec3a
Added GC checks and improvements
2015-04-17 03:55:37 +03:00
Dmitry Stogov
00445ba22d
Fixed bug #69446 (GC leak relating to removal of nested data after dtors run)
2015-04-14 19:53:56 +03:00
Dmitry Stogov
26a6d707a1
Fixed memory leak in ext/standard/tests/array/compact_variation1.phpt
2015-04-14 13:45:05 +03:00
Dmitry Stogov
9806a62545
GC improved to support inner-cycles.
2015-04-14 00:16:27 +03:00
Dmitry Stogov
b8fa90f10f
GC tweaks
2015-04-13 18:53:02 +03:00
Nikita Popov
71ccbf77a0
Add support for more debug output during CC
...
Compile with ZEND_DEBUG_GC=2
2015-04-11 18:29:36 +02:00