summaryrefslogtreecommitdiff
path: root/Zend/zend_objects_API.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-02-14 17:48:45 +0400
committerDmitry Stogov <dmitry@zend.com>2014-02-14 17:48:45 +0400
commit17bf59f895b886a3cc279ac91873588129d1a374 (patch)
tree8acc55597ed7ea28e407f9e9de23ea3c79024817 /Zend/zend_objects_API.h
parente85790a4d4badbddf03fb052b75d5f9639d2d0f0 (diff)
downloadphp-git-17bf59f895b886a3cc279ac91873588129d1a374.tar.gz
Use better data structures (incomplete)
Diffstat (limited to 'Zend/zend_objects_API.h')
-rw-r--r--Zend/zend_objects_API.h8
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;