diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-02-14 17:48:45 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-02-14 17:48:45 +0400 |
| commit | 17bf59f895b886a3cc279ac91873588129d1a374 (patch) | |
| tree | 8acc55597ed7ea28e407f9e9de23ea3c79024817 /Zend/zend_objects_API.h | |
| parent | e85790a4d4badbddf03fb052b75d5f9639d2d0f0 (diff) | |
| download | php-git-17bf59f895b886a3cc279ac91873588129d1a374.tar.gz | |
Use better data structures (incomplete)
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; |
