diff options
Diffstat (limited to 'Zend/zend_objects_API.h')
| -rw-r--r-- | Zend/zend_objects_API.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h index 3119ee9932..0695d68c7c 100644 --- a/Zend/zend_objects_API.h +++ b/Zend/zend_objects_API.h @@ -63,6 +63,14 @@ (o) = (zend_object*)((((zend_uintptr_t)(n)) << 1) | FREE_BUCKET); \ } while (0) + +#define OBJ_RELEASE(obj) do { \ + zend_object *_obj = (obj); \ + if (--_obj->gc.refcount == 0) { \ + zend_objects_store_del(_obj TSRMLS_CC); \ + } \ + } while (0) + typedef struct _zend_objects_store { zend_object **object_buckets; zend_uint top; |
