mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
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.
This commit is contained in:
parent
1ab0d820da
commit
49ea143bbd
66 changed files with 408 additions and 345 deletions
|
@ -774,7 +774,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
|
|||
uint32_t call_info;
|
||||
|
||||
ZEND_ASSERT(GC_TYPE((zend_object*)func->op_array.prototype) == IS_OBJECT);
|
||||
GC_REFCOUNT((zend_object*)func->op_array.prototype)++;
|
||||
GC_ADDREF((zend_object*)func->op_array.prototype);
|
||||
call_info = ZEND_CALL_CLOSURE;
|
||||
if (func->common.fn_flags & ZEND_ACC_FAKE_CLOSURE) {
|
||||
call_info |= ZEND_CALL_FAKE_CLOSURE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue