diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2018-11-15 17:17:06 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2018-11-15 17:17:06 +0100 |
commit | 8f2f80668e6988ac8907920d177e531a98dcb8b0 (patch) | |
tree | 049a64d23919471734cb6d4ce193c6f765b05b2b /Zend/zend_types.h | |
parent | 71d6899e535d960d9b43d75ed2b7073288c13b59 (diff) | |
parent | dee5a450d9b7f7b03f012dd1912cc0a3dcb0482c (diff) | |
download | php-git-8f2f80668e6988ac8907920d177e531a98dcb8b0.tar.gz |
Merge branch 'PHP-7.3'
Diffstat (limited to 'Zend/zend_types.h')
-rw-r--r-- | Zend/zend_types.h | 8 |
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)) |