Commit Graph

92 Commits

Author SHA1 Message Date
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
Xinchen Hui
f08414ce1d Temporary fix inifite loop in gc 2015-04-11 17:40:29 +08:00
Dmitry Stogov
8eaa09887c Added GC debug code and some small optimizations. 2015-04-10 22:06:01 +03:00
Dmitry Stogov
7c2956d15c Merge branch 'PHP-5.6'
* PHP-5.6:
  Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer.

Conflicts:
	NEWS
	Zend/zend_gc.c
2015-04-02 12:37:34 +03:00
Dmitry Stogov
f29c98c128 Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer. 2015-04-02 12:29:15 +03:00
Dmitry Stogov
db10b72523 Use fastcall calling convention for most critical ZE subsystems. 2015-03-13 21:10:09 +03:00
Dmitry Stogov
e10e151e9b Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
2015-02-13 22:20:39 +03:00
Dmitry Stogov
a787719d4f Removed TSRMLS_D 2015-02-04 18:47:30 +03:00
Adam Harvey
eb6dc9db29 Make gc_collect_cycles hookable. 2015-01-23 19:23:58 +00:00
Dmitry Stogov
46e486ff3d It doesn't make sense to colect garbage after fatal errors 2015-01-23 16:40:16 +03:00
Dmitry Stogov
f71e64e53a Revert "Fixed ASSERTION"
This reverts commit 76f438e06f.
2015-01-23 16:37:39 +03:00
Xinchen Hui
76f438e06f Fixed ASSERTION 2015-01-23 14:18:56 +08:00
Dmitry Stogov
6f0e5aab43 Fixed GC after destruction of object store. 2015-01-22 20:38:42 +03:00
Dmitry Stogov
e21fefde38 Fixed destruction of circular garbage 2015-01-22 14:24:27 +03:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
73c1be2653 Bump year 2015-01-15 23:26:03 +08:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Dmitry Stogov
109baa0394 Fixed compilation warnings 2014-11-27 12:52:31 +03:00
Veres Lajos
4b9535341a typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-19 20:23:00 +00:00
Xinchen Hui
dfc99d93d5 Remove redundant codes 2014-09-15 16:52:33 +08:00
Anatol Belski
c22458adc5 fix ZTS build 2014-09-12 21:38:39 +02:00
Xinchen Hui
243ec132e6 Forget to commit this part... 2014-09-13 02:00:15 +08:00
Xinchen Hui
78ce2557f5 Finally!!! Fixed segfault in GC
this must not be the final fix, but let's stop the segfault first and
use this to indicate where the problem is.

reproduced by phpspec
2014-09-13 01:55:49 +08:00
Dmitry Stogov
50a76860bd Fixed GC for inner-loops (ext/standard/tests/array/compact_variation1.phpt).
Fixed bug #63734.
2014-08-07 18:50:03 +04:00
Dmitry Stogov
414762fc12 Fixed GC (Zend/tests/bug63635.phpt) 2014-08-06 15:31:07 +04:00
Anatol Belski
f089d63ddd C89 compat 2014-05-13 14:04:53 +02:00
Dmitry Stogov
e99e6958bc Cleanup 2014-04-16 01:45:40 +04:00
Dmitry Stogov
b0b54e8db4 Fixed nested GC calls (valgrind error in Zend/tests/gc_016.phpt) 2014-04-14 22:41:42 +04:00
Dmitry Stogov
7402af380b Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
76cc99fe60 Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc) 2014-04-03 15:26:23 +04:00
Dmitry Stogov
d8099d0468 Changed data layout to allow more efficient operations 2014-04-02 14:34:44 +04:00
Dmitry Stogov
887189ca31 Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing 2014-03-26 18:07:31 +04:00