Lines Matching refs:zv
992 #define ZVAL_ZVAL(z, zv, copy, dtor) do { \ argument
994 zval *__zv = (zv); \
1028 #define RETVAL_COPY(zv) ZVAL_COPY(return_value, zv) argument
1029 #define RETVAL_COPY_VALUE(zv) ZVAL_COPY_VALUE(return_value, zv) argument
1030 #define RETVAL_COPY_DEREF(zv) ZVAL_COPY_DEREF(return_value, zv) argument
1031 #define RETVAL_ZVAL(zv, copy, dtor) ZVAL_ZVAL(return_value, zv, copy, dtor) argument
1054 #define RETURN_COPY(zv) do { RETVAL_COPY(zv); return; } while (0) argument
1055 #define RETURN_COPY_VALUE(zv) do { RETVAL_COPY_VALUE(zv); return; } while (0) argument
1056 #define RETURN_COPY_DEREF(zv) do { RETVAL_COPY_DEREF(zv); return; } while (0) argument
1057 #define RETURN_ZVAL(zv, copy, dtor) do { RETVAL_ZVAL(zv, copy, dtor); return; } while (0) argument
1084 ZEND_API zend_result zend_try_assign_typed_ref_ex(zend_reference *ref, zval *zv, bool strict);
1085 ZEND_API zend_result zend_try_assign_typed_ref(zend_reference *ref, zval *zv);
1097 ZEND_API zend_result zend_try_assign_typed_ref_zval(zend_reference *ref, zval *zv);
1098 ZEND_API zend_result zend_try_assign_typed_ref_zval_ex(zend_reference *ref, zval *zv, bool strict);
1100 #define _ZEND_TRY_ASSIGN_NULL(zv, is_ref) do { \ argument
1101 zval *_zv = zv; \
1114 #define ZEND_TRY_ASSIGN_NULL(zv) \ argument
1115 _ZEND_TRY_ASSIGN_NULL(zv, 0)
1117 #define ZEND_TRY_ASSIGN_REF_NULL(zv) do { \ argument
1118 ZEND_ASSERT(Z_ISREF_P(zv)); \
1119 _ZEND_TRY_ASSIGN_NULL(zv, 1); \
1122 #define _ZEND_TRY_ASSIGN_FALSE(zv, is_ref) do { \ argument
1123 zval *_zv = zv; \
1136 #define ZEND_TRY_ASSIGN_FALSE(zv) \ argument
1137 _ZEND_TRY_ASSIGN_FALSE(zv, 0)
1139 #define ZEND_TRY_ASSIGN_REF_FALSE(zv) do { \ argument
1140 ZEND_ASSERT(Z_ISREF_P(zv)); \
1141 _ZEND_TRY_ASSIGN_FALSE(zv, 1); \
1144 #define _ZEND_TRY_ASSIGN_TRUE(zv, is_ref) do { \ argument
1145 zval *_zv = zv; \
1158 #define ZEND_TRY_ASSIGN_TRUE(zv) \ argument
1159 _ZEND_TRY_ASSIGN_TRUE(zv, 0)
1161 #define ZEND_TRY_ASSIGN_REF_TRUE(zv) do { \ argument
1162 ZEND_ASSERT(Z_ISREF_P(zv)); \
1163 _ZEND_TRY_ASSIGN_TRUE(zv, 1); \
1166 #define _ZEND_TRY_ASSIGN_BOOL(zv, bval, is_ref) do { \ argument
1167 zval *_zv = zv; \
1180 #define ZEND_TRY_ASSIGN_BOOL(zv, bval) \ argument
1181 _ZEND_TRY_ASSIGN_BOOL(zv, bval, 0)
1183 #define ZEND_TRY_ASSIGN_REF_BOOL(zv, bval) do { \ argument
1184 ZEND_ASSERT(Z_ISREF_P(zv)); \
1185 _ZEND_TRY_ASSIGN_BOOL(zv, bval, 1); \
1188 #define _ZEND_TRY_ASSIGN_LONG(zv, lval, is_ref) do { \ argument
1189 zval *_zv = zv; \
1202 #define ZEND_TRY_ASSIGN_LONG(zv, lval) \ argument
1203 _ZEND_TRY_ASSIGN_LONG(zv, lval, 0)
1205 #define ZEND_TRY_ASSIGN_REF_LONG(zv, lval) do { \ argument
1206 ZEND_ASSERT(Z_ISREF_P(zv)); \
1207 _ZEND_TRY_ASSIGN_LONG(zv, lval, 1); \
1210 #define _ZEND_TRY_ASSIGN_DOUBLE(zv, dval, is_ref) do { \ argument
1211 zval *_zv = zv; \
1224 #define ZEND_TRY_ASSIGN_DOUBLE(zv, dval) \ argument
1225 _ZEND_TRY_ASSIGN_DOUBLE(zv, dval, 0)
1227 #define ZEND_TRY_ASSIGN_REF_DOUBLE(zv, dval) do { \ argument
1228 ZEND_ASSERT(Z_ISREF_P(zv)); \
1229 _ZEND_TRY_ASSIGN_DOUBLE(zv, dval, 1); \
1232 #define _ZEND_TRY_ASSIGN_EMPTY_STRING(zv, is_ref) do { \ argument
1233 zval *_zv = zv; \
1246 #define ZEND_TRY_ASSIGN_EMPTY_STRING(zv) \ argument
1247 _ZEND_TRY_ASSIGN_EMPTY_STRING(zv, 0)
1249 #define ZEND_TRY_ASSIGN_REF_EMPTY_STRING(zv) do { \ argument
1250 ZEND_ASSERT(Z_ISREF_P(zv)); \
1251 _ZEND_TRY_ASSIGN_EMPTY_STRING(zv, 1); \
1254 #define _ZEND_TRY_ASSIGN_STR(zv, str, is_ref) do { \ argument
1255 zval *_zv = zv; \
1268 #define ZEND_TRY_ASSIGN_STR(zv, str) \ argument
1269 _ZEND_TRY_ASSIGN_STR(zv, str, 0)
1271 #define ZEND_TRY_ASSIGN_REF_STR(zv, str) do { \ argument
1272 ZEND_ASSERT(Z_ISREF_P(zv)); \
1273 _ZEND_TRY_ASSIGN_STR(zv, str, 1); \
1276 #define _ZEND_TRY_ASSIGN_NEW_STR(zv, str, is_str) do { \ argument
1277 zval *_zv = zv; \
1290 #define ZEND_TRY_ASSIGN_NEW_STR(zv, str) \ argument
1291 _ZEND_TRY_ASSIGN_NEW_STR(zv, str, 0)
1293 #define ZEND_TRY_ASSIGN_REF_NEW_STR(zv, str) do { \ argument
1294 ZEND_ASSERT(Z_ISREF_P(zv)); \
1295 _ZEND_TRY_ASSIGN_NEW_STR(zv, str, 1); \
1298 #define _ZEND_TRY_ASSIGN_STRING(zv, string, is_ref) do { \ argument
1299 zval *_zv = zv; \
1312 #define ZEND_TRY_ASSIGN_STRING(zv, string) \ argument
1313 _ZEND_TRY_ASSIGN_STRING(zv, string, 0)
1315 #define ZEND_TRY_ASSIGN_REF_STRING(zv, string) do { \ argument
1316 ZEND_ASSERT(Z_ISREF_P(zv)); \
1317 _ZEND_TRY_ASSIGN_STRING(zv, string, 1); \
1320 #define _ZEND_TRY_ASSIGN_STRINGL(zv, string, len, is_ref) do { \ argument
1321 zval *_zv = zv; \
1334 #define ZEND_TRY_ASSIGN_STRINGL(zv, string, len) \ argument
1335 _ZEND_TRY_ASSIGN_STRINGL(zv, string, len, 0)
1337 #define ZEND_TRY_ASSIGN_REF_STRINGL(zv, string, len) do { \ argument
1338 ZEND_ASSERT(Z_ISREF_P(zv)); \
1339 _ZEND_TRY_ASSIGN_STRINGL(zv, string, len, 1); \
1342 #define _ZEND_TRY_ASSIGN_ARR(zv, arr, is_ref) do { \ argument
1343 zval *_zv = zv; \
1356 #define ZEND_TRY_ASSIGN_ARR(zv, arr) \ argument
1357 _ZEND_TRY_ASSIGN_ARR(zv, arr, 0)
1359 #define ZEND_TRY_ASSIGN_REF_ARR(zv, arr) do { \ argument
1360 ZEND_ASSERT(Z_ISREF_P(zv)); \
1361 _ZEND_TRY_ASSIGN_ARR(zv, arr, 1); \
1364 #define _ZEND_TRY_ASSIGN_RES(zv, res, is_ref) do { \ argument
1365 zval *_zv = zv; \
1378 #define ZEND_TRY_ASSIGN_RES(zv, res) \ argument
1379 _ZEND_TRY_ASSIGN_RES(zv, res, 0)
1381 #define ZEND_TRY_ASSIGN_REF_RES(zv, res) do { \ argument
1382 ZEND_ASSERT(Z_ISREF_P(zv)); \
1383 _ZEND_TRY_ASSIGN_RES(zv, res, 1); \
1386 #define _ZEND_TRY_ASSIGN_TMP(zv, other_zv, is_ref) do { \ argument
1387 zval *_zv = zv; \
1400 #define ZEND_TRY_ASSIGN_TMP(zv, other_zv) \ argument
1401 _ZEND_TRY_ASSIGN_TMP(zv, other_zv, 0)
1403 #define ZEND_TRY_ASSIGN_REF_TMP(zv, other_zv) do { \ argument
1404 ZEND_ASSERT(Z_ISREF_P(zv)); \
1405 _ZEND_TRY_ASSIGN_TMP(zv, other_zv, 1); \
1408 #define _ZEND_TRY_ASSIGN_VALUE(zv, other_zv, is_ref) do { \ argument
1409 zval *_zv = zv; \
1422 #define ZEND_TRY_ASSIGN_VALUE(zv, other_zv) \ argument
1423 _ZEND_TRY_ASSIGN_VALUE(zv, other_zv, 0)
1425 #define ZEND_TRY_ASSIGN_REF_VALUE(zv, other_zv) do { \ argument
1426 ZEND_ASSERT(Z_ISREF_P(zv)); \
1427 _ZEND_TRY_ASSIGN_VALUE(zv, other_zv, 1); \
1430 #define ZEND_TRY_ASSIGN_COPY(zv, other_zv) do { \ argument
1432 ZEND_TRY_ASSIGN_VALUE(zv, other_zv); \
1435 #define ZEND_TRY_ASSIGN_REF_COPY(zv, other_zv) do { \ argument
1437 ZEND_TRY_ASSIGN_REF_VALUE(zv, other_zv); \
1440 #define _ZEND_TRY_ASSIGN_VALUE_EX(zv, other_zv, strict, is_ref) do { \ argument
1441 zval *_zv = zv; \
1454 #define ZEND_TRY_ASSIGN_VALUE_EX(zv, other_zv, strict) \ argument
1455 _ZEND_TRY_ASSIGN_VALUE_EX(zv, other_zv, strict, 0)
1457 #define ZEND_TRY_ASSIGN_REF_VALUE_EX(zv, other_zv, strict) do { \ argument
1458 ZEND_ASSERT(Z_ISREF_P(zv)); \
1459 _ZEND_TRY_ASSIGN_VALUE_EX(zv, other_zv, strict, 1); \
1462 #define ZEND_TRY_ASSIGN_COPY_EX(zv, other_zv, strict) do { \ argument
1464 ZEND_TRY_ASSIGN_VALUE_EX(zv, other_zv, strict); \
1467 #define ZEND_TRY_ASSIGN_REF_COPY_EX(zv, other_zv, strict) do { \ argument
1469 ZEND_TRY_ASSIGN_REF_VALUE_EX(zv, other_zv, strict); \
1474 static zend_always_inline zval *zend_try_array_init_size(zval *zv, uint32_t size) in zend_try_array_init_size() argument
1478 if (EXPECTED(Z_ISREF_P(zv))) { in zend_try_array_init_size()
1479 zend_reference *ref = Z_REF_P(zv); in zend_try_array_init_size()
1486 zv = &ref->val; in zend_try_array_init_size()
1489 ZVAL_COPY_VALUE(&garbage, zv); in zend_try_array_init_size()
1490 ZVAL_NULL(zv); in zend_try_array_init_size()
1492 ZVAL_ARR(zv, arr); in zend_try_array_init_size()
1493 return zv; in zend_try_array_init_size()
1496 static zend_always_inline zval *zend_try_array_init(zval *zv) in zend_try_array_init() argument
1498 return zend_try_array_init_size(zv, 0); in zend_try_array_init()