-#ifndef GC_SET_REFCOUNT
-# define GC_SET_REFCOUNT(gc, rc) GC_REFCOUNT(gc) = rc
-#endif
-#ifndef GC_ADDREF
-# define GC_ADDREF(gc) ++GC_REFCOUNT(gc)
-#endif
-#ifndef GC_DELREF
-# define GC_DELREF(gc) --GC_REFCOUNT(gc)
-#endif
-
-#ifdef ZEND_HASH_GET_APPLY_COUNT
-# define HT_IS_RECURSIVE(ht) (ZEND_HASH_GET_APPLY_COUNT(ht) > 0)
-#else
-# define HT_IS_RECURSIVE(ht) GC_IS_RECURSIVE(ht)
-#endif
-#ifdef ZEND_HASH_INC_APPLY_COUNT
-# define HT_PROTECT_RECURSION(ht) ZEND_HASH_INC_APPLY_COUNT(ht)
-#else
-# define HT_PROTECT_RECURSION(ht) GC_PROTECT_RECURSION(ht)
-#endif
-#ifdef ZEND_HASH_DEC_APPLY_COUNT
-# define HT_UNPROTECT_RECURSION(ht) ZEND_HASH_DEC_APPLY_COUNT(ht)
-#else
-# define HT_UNPROTECT_RECURSION(ht) GC_UNPROTECT_RECURSION(ht)
-#endif