Skip to content

Commit 4ceb2db

Browse files
committed
zend_types: Convert Z_*REF*_P() macros into inline functions
1 parent 01c4124 commit 4ceb2db

1 file changed

Lines changed: 22 additions & 27 deletions

File tree

Zend/zend_types.h

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1355,54 +1355,49 @@ static zend_always_inline uint32_t zend_gc_delref_ex(zend_refcounted_h *p, uint3
13551355
Z_TYPE_INFO_P(z) = _IS_ERROR; \
13561356
} while (0)
13571357

1358-
#define Z_REFCOUNT_P(pz) zval_refcount_p(pz)
1359-
#define Z_SET_REFCOUNT_P(pz, rc) zval_set_refcount_p(pz, rc)
1360-
#define Z_ADDREF_P(pz) zval_addref_p(pz)
1361-
#define Z_DELREF_P(pz) zval_delref_p(pz)
1362-
1363-
#define Z_REFCOUNT(z) Z_REFCOUNT_P(&(z))
1364-
#define Z_SET_REFCOUNT(z, rc) Z_SET_REFCOUNT_P(&(z), rc)
1365-
#define Z_ADDREF(z) Z_ADDREF_P(&(z))
1366-
#define Z_DELREF(z) Z_DELREF_P(&(z))
1367-
1368-
#define Z_TRY_ADDREF_P(pz) do { \
1369-
zval *_pz = (pz); \
1370-
if (Z_REFCOUNTED_P(_pz)) { \
1371-
Z_ADDREF_P(_pz); \
1372-
} \
1373-
} while (0)
1374-
1375-
#define Z_TRY_DELREF_P(pz) do { \
1376-
zval *_pz = (pz); \
1377-
if (Z_REFCOUNTED_P(_pz)) { \
1378-
Z_DELREF_P(_pz); \
1379-
} \
1380-
} while (0)
1381-
1382-
#define Z_TRY_ADDREF(z) Z_TRY_ADDREF_P(&(z))
1383-
#define Z_TRY_DELREF(z) Z_TRY_DELREF_P(&(z))
1384-
13851358
static zend_always_inline uint32_t zval_refcount_p(const zval* pz) {
13861359
#if ZEND_DEBUG
13871360
ZEND_ASSERT(Z_REFCOUNTED_P(pz) || Z_TYPE_P(pz) == IS_ARRAY);
13881361
#endif
13891362
return GC_REFCOUNT(Z_COUNTED_P(pz));
13901363
}
1364+
static zend_always_inline uint32_t Z_REFCOUNT_P(const zval *z) { return zval_refcount_p(z); }
1365+
#define Z_REFCOUNT(z) Z_REFCOUNT_P(&(z))
13911366

13921367
static zend_always_inline uint32_t zval_set_refcount_p(zval* pz, uint32_t rc) {
13931368
ZEND_ASSERT(Z_REFCOUNTED_P(pz));
13941369
return GC_SET_REFCOUNT(Z_COUNTED_P(pz), rc);
13951370
}
1371+
static zend_always_inline uint32_t Z_SET_REFCOUNT_P(zval *z, uint32_t rc) { return zval_set_refcount_p(z, rc); }
1372+
#define Z_SET_REFCOUNT(z, rc) Z_SET_REFCOUNT_P(&(z), rc)
13961373

13971374
static zend_always_inline uint32_t zval_addref_p(zval* pz) {
13981375
ZEND_ASSERT(Z_REFCOUNTED_P(pz));
13991376
return GC_ADDREF(Z_COUNTED_P(pz));
14001377
}
1378+
static zend_always_inline uint32_t Z_ADDREF_P(zval *z) { return zval_addref_p(z); }
1379+
#define Z_ADDREF(z) Z_ADDREF_P(&(z))
14011380

14021381
static zend_always_inline uint32_t zval_delref_p(zval* pz) {
14031382
ZEND_ASSERT(Z_REFCOUNTED_P(pz));
14041383
return GC_DELREF(Z_COUNTED_P(pz));
14051384
}
1385+
static zend_always_inline uint32_t Z_DELREF_P(zval *z) { return zval_delref_p(z); }
1386+
#define Z_DELREF(z) Z_DELREF_P(&(z))
1387+
1388+
static zend_always_inline void Z_TRY_ADDREF_P(zval *z) {
1389+
if (Z_REFCOUNTED_P(z)) {
1390+
Z_ADDREF_P(z);
1391+
}
1392+
}
1393+
#define Z_TRY_ADDREF(z) Z_TRY_ADDREF_P(&(z))
1394+
1395+
static zend_always_inline void Z_TRY_DELREF_P(zval *z) {
1396+
if (Z_REFCOUNTED_P(z)) {
1397+
Z_DELREF_P(z);
1398+
}
1399+
}
1400+
#define Z_TRY_DELREF(z) Z_TRY_DELREF_P(&(z))
14061401

14071402
#if SIZEOF_SIZE_T == 4
14081403
# define ZVAL_COPY_VALUE_EX(z, v, gc, t) \

0 commit comments

Comments
 (0)