summaryrefslogtreecommitdiff
path: root/Zend/zend_types.h
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2018-11-15 17:17:06 +0100
committerNikita Popov <nikita.ppv@gmail.com>2018-11-15 17:17:06 +0100
commit8f2f80668e6988ac8907920d177e531a98dcb8b0 (patch)
tree049a64d23919471734cb6d4ce193c6f765b05b2b /Zend/zend_types.h
parent71d6899e535d960d9b43d75ed2b7073288c13b59 (diff)
parentdee5a450d9b7f7b03f012dd1912cc0a3dcb0482c (diff)
downloadphp-git-8f2f80668e6988ac8907920d177e531a98dcb8b0.tar.gz
Merge branch 'PHP-7.3'
Diffstat (limited to 'Zend/zend_types.h')
-rw-r--r--Zend/zend_types.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_types.h b/Zend/zend_types.h
index d17443aa1e..ece1bdd900 100644
--- a/Zend/zend_types.h
+++ b/Zend/zend_types.h
@@ -570,6 +570,14 @@ static zend_always_inline uint32_t zval_gc_info(uint32_t gc_type_info) {
GC_DEL_FLAGS(p, GC_PROTECTED); \
} while (0)
+#define GC_TRY_PROTECT_RECURSION(p) do { \
+ if (!(GC_FLAGS(p) & GC_IMMUTABLE)) GC_PROTECT_RECURSION(p); \
+ } while (0)
+
+#define GC_TRY_UNPROTECT_RECURSION(p) do { \
+ if (!(GC_FLAGS(p) & GC_IMMUTABLE)) GC_UNPROTECT_RECURSION(p); \
+ } while (0)
+
#define Z_IS_RECURSIVE(zval) GC_IS_RECURSIVE(Z_COUNTED(zval))
#define Z_PROTECT_RECURSION(zval) GC_PROTECT_RECURSION(Z_COUNTED(zval))
#define Z_UNPROTECT_RECURSION(zval) GC_UNPROTECT_RECURSION(Z_COUNTED(zval))