1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 06:51:18 +02:00
Commit Graph

141 Commits

Author SHA1 Message Date
Xinchen Hui
9d1e9b73c5 rename ref_dtor_func to rc_dtor_func 2018-07-06 19:15:26 +08:00
Xinchen Hui
f9297387f4 Rename zval_dtor_func and ref_dotr_func 2018-07-06 18:47:30 +08:00
Xinchen Hui
e3355ac5ec Revert "Rename _zval_dtor_func to _ref_dtor_func"
This reverts commit a362ae6b12.
2018-07-06 18:37:45 +08:00
Xinchen Hui
a362ae6b12 Rename _zval_dtor_func to _ref_dtor_func 2018-07-06 18:32:27 +08:00
Xinchen Hui
9465ec4673 Added num_roots to gc_status 2018-06-13 16:41:51 +08:00
Dmitry Stogov
e788e8261e Removed "gc_" prefix. 2018-06-13 11:28:24 +03:00
Dmitry Stogov
2afc83732c Allow access to some garbage collection internals (Benjamin Eberlei) 2018-06-13 11:10:17 +03:00
Xinchen Hui
ffaee27478 Fixed bug #76427 (Segfault in zend_objects_store_put) 2018-06-11 21:00:38 +08:00
Xinchen Hui
6c3a38353c indent 2018-05-22 17:05:39 +08:00
Xinchen Hui
bc1211b8b8 unnecessary branch 2018-05-22 17:04:42 +08:00
Nikita Popov
3b5b64ce75 Fix garbage marking in gc_collect_roots()
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.
2018-03-07 09:50:25 +01:00
Dmitry Stogov
c060d88c36 Fixed bug #76050 2018-03-06 03:31:06 +03:00
Dmitry Stogov
877da311bc Typo 2018-03-05 20:45:26 +03:00
Dmitry Stogov
ab139b6bfd Reverted e6d6fcedf7 and overdesign introduced in ae64dd6d56.
Now we have just indexex, pointers and linked list od unused buffers.
2018-03-05 20:20:58 +03:00
Nikita Popov
a0563aa7bc Fix incorrect GC_NUM2ADDR usage
Both first_unused and GC_MAX_UNCOMPRESSED are addresses, so we
should compare them directly.
2018-03-05 16:29:46 +01:00
Dmitry Stogov
e6d6fcedf7 Switch to better GC address representation 2018-03-02 17:36:18 +03:00
Dmitry Stogov
ae64dd6d56 Make distinct between indexes/numbers, GC addresses and pointers to gc_root_buffers.
Perform conversion through macros.
2018-03-02 17:02:29 +03:00
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