Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'PHP-7.2' into PHP-7.3 | Nikita Popov | 2018-09-28 | 1 | -2/+4 |
|\ | |||||
| * | Merge branch 'PHP-7.1' into PHP-7.2 | Nikita Popov | 2018-09-28 | 1 | -2/+4 |
| |\ | |||||
| | * | Fixed bug #76846 | Nikita Popov | 2018-09-28 | 1 | -2/+4 |
| | | | |||||
| | * | year++ | Xinchen Hui | 2018-01-02 | 1 | -1/+1 |
| | | | |||||
| | * | Update copyright headers to 2017 | Sammy Kaye Powers | 2017-01-04 | 1 | -1/+1 |
| | | | |||||
| * | | year++ | Xinchen Hui | 2018-01-02 | 1 | -1/+1 |
| | | | |||||
* | | | Remove unused Git attributes ident | Peter Kokot | 2018-07-25 | 1 | -2/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore. | ||||
* | | | Fixed bug #76427 (Segfault in zend_objects_store_put) | Xinchen Hui | 2018-06-11 | 1 | -4/+0 |
| | | | |||||
* | | | Export standard object handlers, to avoid indirect access | Dmitry Stogov | 2018-05-31 | 1 | -5/+0 |
| | | | |||||
* | | | Keep initialized object_handlers structures in read-only memory. | Dmitry Stogov | 2018-03-14 | 1 | -1/+1 |
| | | | |||||
* | | | Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to ↵ | Dmitry Stogov | 2018-02-28 | 1 | -6/+6 |
| | | | | | | | | | | | | GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited) | ||||
* | | | Use OBJ_FLAGS() macro to access object flags (even if they are currently ↵ | Dmitry Stogov | 2018-01-22 | 1 | -11/+11 |
| | | | | | | | | | | | | stored together with GC_FLAGS) | ||||
* | | | Replace checks with asserts | Dmitry Stogov | 2018-01-16 | 1 | -33/+30 |
| | | | |||||
* | | | year++ | Xinchen Hui | 2018-01-02 | 1 | -1/+1 |
| | | | |||||
* | | | Use fastcall calling convention for objects and resources API | Dmitry Stogov | 2017-12-14 | 1 | -8/+8 |
| | | | |||||
* | | | Encapsulate reference-counting primitives. | Dmitry Stogov | 2017-10-27 | 1 | -11/+11 |
|/ / | | | | | | | | | | | 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 |
| | | |||||
* | | Cleanup. Removed unused functions and unimplemented prototype. Avoid useless ↵ | Dmitry Stogov | 2017-06-27 | 1 | -27/+11 |
| | | | | | | | | "dtor_obj" calls. | ||||
* | | shutdown_executor() refactoring (reuse opcache fast request shutdown code) | Dmitry Stogov | 2017-06-22 | 1 | -13/+30 |
| | | |||||
* | | Don't use zend_try around dtor_obj() and free_obj() | Nikita Popov | 2017-05-04 | 1 | -18/+4 |
| | | | | | | | | | | | | | | | | | | Without these zend_trys we may a) leak the object (fine) b) don't add it to the free list (also fine, we just lose an object store bucket) c) don't remove it from the GC root buffer (also fine, because GC explicitly checks for both FREE_CALLED and invalid buckets) | ||||
* | | Added EG(flags) - executor global flags | Jim Zubov | 2017-02-09 | 1 | -5/+4 |
| | | | | | | | | EG_FLAGS_IN_SHUTDOWN - is set when PHP is in shutdown state | ||||
* | | newly added zend_object_store.no_reuse is redefined as a global ↵ | Jim Zubov | 2017-02-07 | 1 | -3/+5 |
| | | | | | | | | | | | | zend_object_store_no_reuse, to avoid alignment issues | ||||
* | | Bug Fix: | Jim Zubov | 2017-02-06 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrupted class entries on shutdown when a destructor spawns another object (C) 2017 CommerceByte Consulting When zend_objects_store_call_destructors() is called from the shutdown sequence - it's calling the dtor's for remaining objects one by one in sequence of object handles. If the dtor spawns one or more objects, and the new objects happen to reuse the old handles - their dtor's are not called in this cycle. The dtor's are called later on, when zend_deactivete() kicks in, and the static property lists in the class entries are freed. This causes "Undefined static property" errors, and/or SIGSEGV. Solution: zend_object_store.no_reuse field is added Set to 0 on initialization, set to 1 on the shutdown sequence. zend_objects_store_put(zend_object *) checks the no_reuse flag, and never reuses the old handle slots if set. This way, the dtor's for newly spawned objects are guaranteed to be called in the zend_objects_store_call_destructors() loop. | ||||
* | | Update copyright headers to 2017 | Sammy Kaye Powers | 2017-01-02 | 1 | -1/+1 |
| | | |||||
* | | Turn function into inline | Dmitry Stogov | 2016-11-21 | 1 | -6/+0 |
|/ | |||||
* | Fixed Bug #71859 (zend_objects_store_call_destructors operates on realloced ↵ | Xinchen Hui | 2016-03-20 | 1 | -8/+4 |
| | | | | memory, crashing) | ||||
* | bump year which is missed in rev 49493a2 | Xinchen Hui | 2016-01-02 | 1 | -1/+1 |
| | |||||
* | Add myself into list of authors of the most refactored files. | Dmitry Stogov | 2015-08-31 | 1 | -0/+1 |
| | |||||
* | Always report object leaks | Nikita Popov | 2015-07-03 | 1 | -16/+1 |
| | | | | | | Previously cycles were excluded from leak reports, however the situation here has improved a lot in the meantime and we can report all leaks. | ||||
* | Micro optimizations | Dmitry Stogov | 2015-04-28 | 1 | -26/+39 |
| | |||||
* | Partially enable leak reports for objects | Nikita Popov | 2015-04-18 | 1 | -3/+5 |
| | | | | | | | | | | Cycle leaks are currently not reported, because this needs further work. The last GC run has been moved to run earlier (before the object store free), so that array cycles that hold references to objects don't show up as leaks. Fingers crossed that this doesn't adversely affect anything else. | ||||
* | bump year | Xinchen Hui | 2015-01-15 | 1 | -1/+1 |
| | |||||
* | trailing whitespace removal | Stanislav Malyshev | 2015-01-10 | 1 | -3/+3 |
| | |||||
* | first shot remove TSRMLS_* things | Anatol Belski | 2014-12-13 | 1 | -12/+12 |
| | |||||
* | Remove proxy object implementation | Nikita Popov | 2014-10-09 | 1 | -96/+0 |
| | |||||
* | master renames phase 2 | Anatol Belski | 2014-08-25 | 1 | -6/+6 |
| | |||||
* | Refactored run_time_cache usage in object handlers | Dmitry Stogov | 2014-07-07 | 1 | -2/+2 |
| | |||||
* | Fixed invalid read in ext/pdo/tests/pdo_025.phpt(pgsql) | Xinchen Hui | 2014-05-16 | 1 | -1/+1 |
| | |||||
* | Fixed compilation warnings | Dmitry Stogov | 2014-04-22 | 1 | -2/+2 |
| | |||||
* | Moved zend_literal->cache_slot right into zval. | Dmitry Stogov | 2014-04-17 | 1 | -2/+2 |
| | | | | | | | It should be accessed using Z_CACHE_SLOT() macro. zend_literal structure is removed. API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly. Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL. | ||||
* | Cleanup (1-st round) | Dmitry Stogov | 2014-04-15 | 1 | -26/+0 |
| | |||||
* | typo | Dmitry Stogov | 2014-04-10 | 1 | -1/+1 |
| | |||||
* | Fixed destruction of objects and iterators on unclean request shutdown and ↵ | Dmitry Stogov | 2014-04-09 | 1 | -24/+48 |
| | | | | | | 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. | ||||
* | Changed data layout to allow more efficient operations | Dmitry Stogov | 2014-04-02 | 1 | -16/+15 |
| | |||||
* | Refactored data structures to keep zend_object* instead of a whole zval in ↵ | Dmitry Stogov | 2014-03-28 | 1 | -3/+1 |
| | | | | some places | ||||
* | Mark objects that are going to be deleted | Dmitry Stogov | 2014-03-19 | 1 | -0/+2 |
| | |||||
* | Refactored GC (incomplete) | Dmitry Stogov | 2014-03-19 | 1 | -7/+12 |
| | |||||
* | Refactored read_property() and read_dimension() handlers | Dmitry Stogov | 2014-02-27 | 1 | -1/+1 |
| | |||||
* | Fixed tests/run-test/test009.phpt | Dmitry Stogov | 2014-02-21 | 1 | -2/+2 |
| | |||||
* | Fixed segfault in Zend/tests/008.phpt | Xinchen Hui | 2014-02-20 | 1 | -2/+2 |
| |