Lines Matching refs:tmp
653 …tic void zend_ssa_range_or(zend_long a, zend_long b, zend_long c, zend_long d, zend_ssa_range *tmp) in zend_ssa_range_or() argument
664 tmp->min = minOR(a, b, c, d); in zend_ssa_range_or()
665 tmp->max = maxOR(a, b, c, d); in zend_ssa_range_or()
668 tmp->min = minOR(a, b, c, -1); in zend_ssa_range_or()
669 tmp->max = maxOR(a, b, 0, d); in zend_ssa_range_or()
672 tmp->min = minOR(a, -1, c, d); in zend_ssa_range_or()
673 tmp->max = maxOR(0, b, c, d); in zend_ssa_range_or()
676 tmp->min = MIN(a, c); in zend_ssa_range_or()
677 tmp->max = maxOR(0, b, 0, d); in zend_ssa_range_or()
680 tmp->min = c; in zend_ssa_range_or()
681 tmp->max = -1; in zend_ssa_range_or()
684 tmp->min = a; in zend_ssa_range_or()
685 tmp->max = -1; in zend_ssa_range_or()
701 …ic void zend_ssa_range_and(zend_long a, zend_long b, zend_long c, zend_long d, zend_ssa_range *tmp) in zend_ssa_range_and() argument
712 tmp->min = minAND(a, b, c, d); in zend_ssa_range_and()
713 tmp->max = maxAND(a, b, c, d); in zend_ssa_range_and()
716 tmp->min = 0; in zend_ssa_range_and()
717 tmp->max = b; in zend_ssa_range_and()
720 tmp->min = 0; in zend_ssa_range_and()
721 tmp->max = d; in zend_ssa_range_and()
724 tmp->min = minAND(a, -1, c, -1); in zend_ssa_range_and()
725 tmp->max = MAX(b, d); in zend_ssa_range_and()
728 tmp->min = minAND(a, -1, c, d); in zend_ssa_range_and()
729 tmp->max = maxAND(0, b, c, d); in zend_ssa_range_and()
732 tmp->min = minAND(a, b, c, -1); in zend_ssa_range_and()
733 tmp->max = maxAND(a, b, 0, d); in zend_ssa_range_and()
788 const zend_op *opline, const zend_ssa_op *ssa_op, uint8_t opcode, zend_ssa_range *tmp) { in zend_inference_calc_binary_op_range() argument
801 tmp->underflow = 1; in zend_inference_calc_binary_op_range()
802 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
804 tmp->min = op1_min + op2_min; in zend_inference_calc_binary_op_range()
809 tmp->overflow = 1; in zend_inference_calc_binary_op_range()
810 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
812 tmp->max = op1_max + op2_max; in zend_inference_calc_binary_op_range()
826 tmp->underflow = 1; in zend_inference_calc_binary_op_range()
827 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
829 tmp->min = op1_min - op2_max; in zend_inference_calc_binary_op_range()
834 tmp->overflow = 1; in zend_inference_calc_binary_op_range()
835 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
837 tmp->max = op1_max - op2_min; in zend_inference_calc_binary_op_range()
864 tmp->underflow = 1; in zend_inference_calc_binary_op_range()
865 tmp->overflow = 1; in zend_inference_calc_binary_op_range()
866 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
867 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
869 tmp->min = MIN(MIN(t1, t2), MIN(t3, t4)); in zend_inference_calc_binary_op_range()
870 tmp->max = MAX(MAX(t1, t2), MAX(t3, t4)); in zend_inference_calc_binary_op_range()
890 tmp->underflow = 1; in zend_inference_calc_binary_op_range()
891 tmp->overflow = 1; in zend_inference_calc_binary_op_range()
892 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
893 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
901 tmp->min = MIN(MIN(MIN(t1, t2), MIN(t3, t4)), MIN(MIN(t1_, t2_), MIN(t3_, t4_))); in zend_inference_calc_binary_op_range()
902 tmp->max = MAX(MAX(MAX(t1, t2), MAX(t3, t4)), MAX(MAX(t1_, t2_), MAX(t3_, t4_))); in zend_inference_calc_binary_op_range()
913 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
914 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
936 tmp->min = op1_max < op2_abs_min ? op1_min : 0; in zend_inference_calc_binary_op_range()
937 tmp->max = MIN(op1_max, op2_abs_max - 1); in zend_inference_calc_binary_op_range()
939 tmp->min = MAX(op1_min, -op2_abs_max + 1); in zend_inference_calc_binary_op_range()
940 tmp->max = op1_min > -op2_abs_min ? op1_max : 0; in zend_inference_calc_binary_op_range()
942 tmp->min = MAX(op1_min, -op2_abs_max + 1); in zend_inference_calc_binary_op_range()
943 tmp->max = MIN(op1_max, op2_abs_max - 1); in zend_inference_calc_binary_op_range()
955 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
956 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
973 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
974 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
980 tmp->min = MIN(MIN(t1, t2), MIN(t3, t4)); in zend_inference_calc_binary_op_range()
981 tmp->max = MAX(MAX(t1, t2), MAX(t3, t4)); in zend_inference_calc_binary_op_range()
993 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
994 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
1021 tmp->min = MIN(MIN(t1, t2), MIN(t3, t4)); in zend_inference_calc_binary_op_range()
1022 tmp->max = MAX(MAX(t1, t2), MAX(t3, t4)); in zend_inference_calc_binary_op_range()
1033 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
1034 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
1040 zend_ssa_range_or(op1_min, op1_max, op2_min, op2_max, tmp); in zend_inference_calc_binary_op_range()
1051 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_binary_op_range()
1052 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_binary_op_range()
1058 zend_ssa_range_and(op1_min, op1_max, op2_min, op2_max, tmp); in zend_inference_calc_binary_op_range()
1071 …op_array *op_array, const zend_ssa *ssa, int var, int widening, int narrowing, zend_ssa_range *tmp) in zend_inference_calc_range() argument
1081 tmp->underflow = 0; in zend_inference_calc_range()
1082 tmp->min = ZEND_LONG_MAX; in zend_inference_calc_range()
1083 tmp->max = ZEND_LONG_MIN; in zend_inference_calc_range()
1084 tmp->overflow = 0; in zend_inference_calc_range()
1091 *tmp = ssa->var_info[src1].range; in zend_inference_calc_range()
1104 if (!tmp->underflow) { in zend_inference_calc_range()
1112 tmp->min = constraint->range.max + 1; in zend_inference_calc_range()
1118 if (!tmp->overflow) { in zend_inference_calc_range()
1126 tmp->max = constraint->range.min - 1; in zend_inference_calc_range()
1133 tmp->underflow = 1; in zend_inference_calc_range()
1134 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_range()
1135 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_range()
1136 tmp->overflow = 1; in zend_inference_calc_range()
1148 tmp->min, in zend_inference_calc_range()
1149 tmp->max); in zend_inference_calc_range()
1151 tmp->max >= constraint->range.min) { in zend_inference_calc_range()
1152 tmp->overflow = 0; in zend_inference_calc_range()
1153 tmp->max = constraint->range.min - 1; in zend_inference_calc_range()
1154 LOG_NEG_RANGE(" => [%ld..%ld]\n", tmp->min, tmp->max); in zend_inference_calc_range()
1156 tmp->min <= constraint->range.max) { in zend_inference_calc_range()
1157 tmp->underflow = 0; in zend_inference_calc_range()
1158 tmp->min = constraint->range.max + 1; in zend_inference_calc_range()
1159 LOG_NEG_RANGE(" => [%ld..%ld]\n", tmp->min, tmp->max); in zend_inference_calc_range()
1165 *tmp = ssa->var_info[p->sources[0]].range; in zend_inference_calc_range()
1167 tmp->underflow = constraint->range.underflow && tmp->underflow; in zend_inference_calc_range()
1168 tmp->min = MAX(constraint->range.min, tmp->min); in zend_inference_calc_range()
1171 tmp->underflow = ssa->var_info[constraint->min_ssa_var].range.underflow && tmp->underflow; in zend_inference_calc_range()
1173 …tmp->min = MAX(ssa->var_info[constraint->min_ssa_var].range.min + constraint->range.min, tmp->min); in zend_inference_calc_range()
1178 tmp->max = MIN(constraint->range.max, tmp->max); in zend_inference_calc_range()
1179 tmp->overflow = constraint->range.overflow && tmp->overflow; in zend_inference_calc_range()
1183 …tmp->max = MIN(ssa->var_info[constraint->max_ssa_var].range.max + constraint->range.max, tmp->max); in zend_inference_calc_range()
1185 tmp->overflow = ssa->var_info[constraint->max_ssa_var].range.overflow && tmp->overflow; in zend_inference_calc_range()
1190 tmp->underflow = constraint->range.underflow; in zend_inference_calc_range()
1191 tmp->min = constraint->range.min; in zend_inference_calc_range()
1195 tmp->underflow = 1; in zend_inference_calc_range()
1196 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_range()
1198 tmp->underflow = ssa->var_info[constraint->min_ssa_var].range.underflow; in zend_inference_calc_range()
1199 tmp->min = ssa->var_info[constraint->min_ssa_var].range.min + constraint->range.min; in zend_inference_calc_range()
1203 tmp->underflow = 1; in zend_inference_calc_range()
1204 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_range()
1207 tmp->max = constraint->range.max; in zend_inference_calc_range()
1208 tmp->overflow = constraint->range.overflow; in zend_inference_calc_range()
1212 tmp->overflow = 1; in zend_inference_calc_range()
1213 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_range()
1215 tmp->max = ssa->var_info[constraint->max_ssa_var].range.max + constraint->range.max; in zend_inference_calc_range()
1216 tmp->overflow = ssa->var_info[constraint->max_ssa_var].range.overflow; in zend_inference_calc_range()
1220 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_range()
1221 tmp->overflow = 1; in zend_inference_calc_range()
1229 tmp->underflow |= ssa->var_info[p->sources[i]].range.underflow; in zend_inference_calc_range()
1230 tmp->min = MIN(tmp->min, ssa->var_info[p->sources[i]].range.min); in zend_inference_calc_range()
1231 tmp->max = MAX(tmp->max, ssa->var_info[p->sources[i]].range.max); in zend_inference_calc_range()
1232 tmp->overflow |= ssa->var_info[p->sources[i]].range.overflow; in zend_inference_calc_range()
1234 tmp->underflow = 1; in zend_inference_calc_range()
1235 tmp->min = ZEND_LONG_MIN; in zend_inference_calc_range()
1236 tmp->max = ZEND_LONG_MAX; in zend_inference_calc_range()
1237 tmp->overflow = 1; in zend_inference_calc_range()
1241 return (tmp->min <= tmp->max); in zend_inference_calc_range()
1249 return zend_inference_propagate_range(op_array, ssa, opline, ssa_op, var, tmp); in zend_inference_calc_range()
1252 …onst zend_ssa *ssa, const zend_op *opline, const zend_ssa_op* ssa_op, int var, zend_ssa_range *tmp) in zend_inference_propagate_range() argument
1254 tmp->underflow = 0; in zend_inference_propagate_range()
1255 tmp->overflow = 0; in zend_inference_propagate_range()
1269 op_array, ssa, opline, ssa_op, opline->opcode, tmp); in zend_inference_propagate_range()
1278 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1279 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1283 tmp->min = ~op1_max; in zend_inference_propagate_range()
1284 tmp->max = ~op1_min; in zend_inference_propagate_range()
1294 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1295 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1296 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1297 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1304 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1305 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1308 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1309 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1322 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1323 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1324 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1325 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1332 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1333 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1334 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1335 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1344 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1345 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1346 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1347 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1356 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1357 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1358 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1359 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1360 if (tmp->max < ZEND_LONG_MAX) { in zend_inference_propagate_range()
1361 tmp->max++; in zend_inference_propagate_range()
1363 tmp->overflow = 1; in zend_inference_propagate_range()
1365 if (tmp->min < ZEND_LONG_MAX && !tmp->underflow) { in zend_inference_propagate_range()
1366 tmp->min++; in zend_inference_propagate_range()
1375 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1376 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1377 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1378 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1379 if (tmp->min > ZEND_LONG_MIN) { in zend_inference_propagate_range()
1380 tmp->min--; in zend_inference_propagate_range()
1382 tmp->underflow = 1; in zend_inference_propagate_range()
1384 if (tmp->max > ZEND_LONG_MIN && !tmp->overflow) { in zend_inference_propagate_range()
1385 tmp->max--; in zend_inference_propagate_range()
1394 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1395 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1396 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1397 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1401 if (tmp->max < ZEND_LONG_MAX) { in zend_inference_propagate_range()
1402 tmp->max++; in zend_inference_propagate_range()
1404 tmp->overflow = 1; in zend_inference_propagate_range()
1406 if (tmp->min < ZEND_LONG_MAX && !tmp->underflow) { in zend_inference_propagate_range()
1407 tmp->min++; in zend_inference_propagate_range()
1416 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1417 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1418 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1419 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1423 if (tmp->min > ZEND_LONG_MIN) { in zend_inference_propagate_range()
1424 tmp->min--; in zend_inference_propagate_range()
1426 tmp->underflow = 1; in zend_inference_propagate_range()
1428 if (tmp->max > ZEND_LONG_MIN && !tmp->overflow) { in zend_inference_propagate_range()
1429 tmp->max--; in zend_inference_propagate_range()
1441 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1442 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1443 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1444 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1452 tmp->min = OP2_MIN_RANGE(); in zend_inference_propagate_range()
1453 tmp->max = OP2_MAX_RANGE(); in zend_inference_propagate_range()
1454 tmp->underflow = OP2_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1455 tmp->overflow = OP2_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1470 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1471 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1472 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1473 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1484 opline->extended_value, tmp); in zend_inference_propagate_range()
1497 tmp->min = OP1_MIN_RANGE(); in zend_inference_propagate_range()
1498 tmp->max = OP1_MAX_RANGE(); in zend_inference_propagate_range()
1499 tmp->underflow = OP1_RANGE_UNDERFLOW(); in zend_inference_propagate_range()
1500 tmp->overflow = OP1_RANGE_OVERFLOW(); in zend_inference_propagate_range()
1515 tmp->underflow = 0; in zend_inference_propagate_range()
1516 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1517 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1518 tmp->overflow = 0; in zend_inference_propagate_range()
1530 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1532 tmp->min = 0; in zend_inference_propagate_range()
1534 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1539 tmp->min = 0; in zend_inference_propagate_range()
1540 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1544 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1545 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1565 *tmp = func_info->return_info.range; in zend_inference_propagate_range()
1575 tmp->underflow = 0; in zend_inference_propagate_range()
1576 tmp->min = 0; in zend_inference_propagate_range()
1577 tmp->max = 0; in zend_inference_propagate_range()
1578 tmp->overflow = 0; in zend_inference_propagate_range()
1580 tmp->min = ZEND_LONG_MIN; in zend_inference_propagate_range()
1581 tmp->max = ZEND_LONG_MAX; in zend_inference_propagate_range()
1584 tmp->min = 1; in zend_inference_propagate_range()
1586 tmp->max = 1; in zend_inference_propagate_range()
1646 zend_ssa_range tmp; in zend_ssa_range_widening() local
1648 if (zend_inference_calc_range(op_array, ssa, var, 1, 0, &tmp)) { in zend_ssa_range_widening()
1649 if (zend_inference_widening_meet(&ssa->var_info[var], &tmp)) { in zend_ssa_range_widening()
1650 …widening SCC %2d) %2d [%s%ld..%ld%s]\n", scc, var, (tmp.underflow?"-- ":""), tmp.min, tmp.max, (t… in zend_ssa_range_widening()
1691 zend_ssa_range tmp; in zend_ssa_range_narrowing() local
1693 if (zend_inference_calc_range(op_array, ssa, var, 0, 1, &tmp)) { in zend_ssa_range_narrowing()
1694 if (zend_inference_narrowing_meet(&ssa->var_info[var], &tmp)) { in zend_ssa_range_narrowing()
1695 …narrowing SCC %2d) %2d [%s%ld..%ld%s]\n", scc, var, (tmp.underflow?"-- ":""), tmp.min, tmp.max, (t… in zend_ssa_range_narrowing()
1729 zend_ssa_range tmp; in zend_infer_ranges_warmup() local
1764 if (zend_inference_calc_range(op_array, ssa, j, 0, 0, &tmp)) { in zend_infer_ranges_warmup()
1776 if (tmp.min == ssa->var_info[j].range.min && in zend_infer_ranges_warmup()
1777 tmp.max == ssa->var_info[j].range.max) { in zend_infer_ranges_warmup()
1782 } else if (tmp.min == ssa->var_info[j].range.min && in zend_infer_ranges_warmup()
1783 tmp.max == ssa->var_info[j].range.max + 1 && in zend_infer_ranges_warmup()
1784 tmp.max < constraint->range.min) { in zend_infer_ranges_warmup()
1794 } else if (tmp.max == ssa->var_info[j].range.max && in zend_infer_ranges_warmup()
1795 tmp.min == ssa->var_info[j].range.min - 1 && in zend_infer_ranges_warmup()
1796 tmp.min > constraint->range.max) { in zend_infer_ranges_warmup()
1812 if (zend_inference_narrowing_meet(&ssa->var_info[j], &tmp)) { in zend_infer_ranges_warmup()
1813 …rmup %2d SCC %2d) %2d [%s%ld..%ld%s]\n", n, scc, j, (tmp.underflow?"-- ":""), tmp.min, tmp.max, (t… in zend_infer_ranges_warmup()
1830 zend_ssa_range tmp; in zend_infer_ranges() local
1858 } else if (zend_inference_calc_range(op_array, ssa, j, 0, 1, &tmp)) { in zend_infer_ranges()
1859 zend_inference_init_range(op_array, ssa, j, tmp.underflow, tmp.min, tmp.max, tmp.overflow); in zend_infer_ranges()
2093 uint32_t tmp = MAY_BE_ARRAY; in zend_array_type_info() local
2098 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in zend_array_type_info()
2100 tmp |= MAY_BE_RCN; in zend_array_type_info()
2104 tmp |= MAY_BE_ARRAY_EMPTY; in zend_array_type_info()
2106 tmp |= MAY_BE_ARRAY_PACKED; in zend_array_type_info()
2108 tmp |= 1 << (Z_TYPE_P(val) + MAY_BE_ARRAY_SHIFT); in zend_array_type_info()
2113 tmp |= MAY_BE_ARRAY_STRING_HASH; in zend_array_type_info()
2115 tmp |= MAY_BE_ARRAY_NUMERIC_HASH; in zend_array_type_info()
2117 tmp |= 1 << (Z_TYPE_P(val) + MAY_BE_ARRAY_SHIFT); in zend_array_type_info()
2120 return tmp; in zend_array_type_info()
2126 uint32_t tmp = 0; in zend_array_element_type() local
2131 …tmp |= MAY_BE_ANY | MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_… in zend_array_element_type()
2133 …tmp |= MAY_BE_ANY | MAY_BE_REF | MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_… in zend_array_element_type()
2136 tmp |= MAY_BE_INDIRECT; in zend_array_element_type()
2141 tmp |= MAY_BE_NULL; in zend_array_element_type()
2143 tmp |= MAY_BE_NULL | ((t1 & MAY_BE_ARRAY_OF_ANY) >> MAY_BE_ARRAY_SHIFT); in zend_array_element_type()
2144 if (tmp & MAY_BE_ARRAY) { in zend_array_element_type()
2145 tmp |= MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in zend_array_element_type()
2147 if (tmp & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in zend_array_element_type()
2150 tmp |= MAY_BE_RCN; in zend_array_element_type()
2152 tmp |= MAY_BE_RC1; in zend_array_element_type()
2155 tmp |= MAY_BE_REF | MAY_BE_RC1 | MAY_BE_RCN; in zend_array_element_type()
2157 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in zend_array_element_type()
2162 tmp |= MAY_BE_INDIRECT; in zend_array_element_type()
2166 tmp |= MAY_BE_STRING | MAY_BE_RC1; in zend_array_element_type()
2168 tmp |= MAY_BE_NULL; in zend_array_element_type()
2172 tmp |= MAY_BE_NULL; in zend_array_element_type()
2174 tmp |= MAY_BE_INDIRECT; in zend_array_element_type()
2179 tmp |= MAY_BE_NULL; in zend_array_element_type()
2182 return tmp; in zend_array_element_type()
2187 uint32_t tmp = 0; in assign_dim_array_result_type() local
2196 tmp |= MAY_BE_ARRAY_PACKED; in assign_dim_array_result_type()
2198 tmp |= MAY_BE_HASH_ONLY(arr_type) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG; in assign_dim_array_result_type()
2202 tmp |= MAY_BE_ARRAY_PACKED; in assign_dim_array_result_type()
2204 tmp |= MAY_BE_HASH_ONLY(arr_type) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG; in assign_dim_array_result_type()
2207 tmp |= MAY_BE_ARRAY_KEY_STRING; in assign_dim_array_result_type()
2211 tmp |= MAY_BE_ARRAY_PACKED; in assign_dim_array_result_type()
2213 tmp |= MAY_BE_HASH_ONLY(arr_type) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG; in assign_dim_array_result_type()
2217 tmp |= MAY_BE_ARRAY_KEY_STRING; in assign_dim_array_result_type()
2223 if (tmp & MAY_BE_ARRAY_KEY_ANY) { in assign_dim_array_result_type()
2224 tmp |= (value_type & MAY_BE_ANY) << MAY_BE_ARRAY_SHIFT; in assign_dim_array_result_type()
2226 tmp &= ~MAY_BE_ARRAY_EMPTY; in assign_dim_array_result_type()
2227 return tmp; in assign_dim_array_result_type()
2232 uint32_t tmp = arr_type & ~(MAY_BE_RC1|MAY_BE_RCN); in assign_dim_result_type() local
2235 tmp &= ~(MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE); in assign_dim_result_type()
2236 tmp |= MAY_BE_ARRAY|MAY_BE_RC1; in assign_dim_result_type()
2238 if (tmp & (MAY_BE_ARRAY|MAY_BE_STRING)) { in assign_dim_result_type()
2239 tmp |= MAY_BE_RC1; in assign_dim_result_type()
2241 if (tmp & (MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in assign_dim_result_type()
2242 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in assign_dim_result_type()
2244 if (tmp & MAY_BE_ARRAY) { in assign_dim_result_type()
2245 tmp |= assign_dim_array_result_type(arr_type, dim_type, value_type, dim_op_type); in assign_dim_result_type()
2247 return tmp; in assign_dim_result_type()
2254 uint32_t tmp = 0; in binary_op_result_type() local
2263 tmp |= MAY_BE_OBJECT | MAY_BE_FALSE | MAY_BE_RC1; in binary_op_result_type()
2275 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in binary_op_result_type()
2277 tmp |= MAY_BE_LONG; in binary_op_result_type()
2280 tmp |= MAY_BE_DOUBLE; in binary_op_result_type()
2282 tmp |= MAY_BE_ARRAY | MAY_BE_RC1; in binary_op_result_type()
2283 tmp |= t1 & (MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF); in binary_op_result_type()
2284 tmp |= t2 & (MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF); in binary_op_result_type()
2286 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in binary_op_result_type()
2288 tmp |= MAY_BE_ARRAY | MAY_BE_RC1; in binary_op_result_type()
2289 tmp |= t1 & (MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF); in binary_op_result_type()
2290 tmp |= t2 & (MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF); in binary_op_result_type()
2302 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in binary_op_result_type()
2304 tmp |= MAY_BE_LONG; in binary_op_result_type()
2307 tmp |= MAY_BE_DOUBLE; in binary_op_result_type()
2309 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in binary_op_result_type()
2315 tmp |= MAY_BE_DOUBLE; in binary_op_result_type()
2317 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in binary_op_result_type()
2323 tmp |= MAY_BE_LONG; in binary_op_result_type()
2330 tmp |= MAY_BE_STRING | MAY_BE_RC1 | MAY_BE_RCN; in binary_op_result_type()
2333 tmp |= MAY_BE_LONG; in binary_op_result_type()
2338 tmp |= MAY_BE_LONG; in binary_op_result_type()
2343 tmp = MAY_BE_STRING | MAY_BE_RC1 | MAY_BE_RCN; in binary_op_result_type()
2347 return tmp; in binary_op_result_type()
2377 uint32_t tmp = zend_convert_type_declaration_mask(ZEND_TYPE_PURE_MASK(type)); in zend_convert_type() local
2379 tmp |= MAY_BE_OBJECT; in zend_convert_type()
2391 if (tmp & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in zend_convert_type()
2392 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in zend_convert_type()
2394 return tmp; in zend_convert_type()
2531 uint32_t tmp, orig; in _zend_update_type_info() local
2557 tmp = 0; in _zend_update_type_info()
2559 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2562 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2565 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
2573 UPDATE_SSA_TYPE(tmp, (ssa_op+1)->op1_def); in _zend_update_type_info()
2592 tmp = binary_op_result_type(ssa, opline->opcode, t1, t2, ssa_op->result_def, optimization_level); in _zend_update_type_info()
2593 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2596 tmp = 0; in _zend_update_type_info()
2598 tmp |= MAY_BE_STRING | MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
2601 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2606 tmp |= MAY_BE_OBJECT | MAY_BE_RC1; in _zend_update_type_info()
2609 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2640 tmp = t1; in _zend_update_type_info()
2644 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2647 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2649 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2652 tmp = 1 << opline->extended_value; in _zend_update_type_info()
2653 if (tmp & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in _zend_update_type_info()
2654 if ((tmp & MAY_BE_ANY) == (t1 & MAY_BE_ANY)) { in _zend_update_type_info()
2655 tmp |= (t1 & MAY_BE_RC1) | MAY_BE_RCN; in _zend_update_type_info()
2659 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
2662 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
2664 tmp |= MAY_BE_RC1; in _zend_update_type_info()
2667 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2673 tmp |= MAY_BE_ARRAY_EMPTY; in _zend_update_type_info()
2676 tmp |= t1 & (MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF); in _zend_update_type_info()
2679 tmp |= MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
2681 …tmp |= ((t1 & (MAY_BE_ANY - MAY_BE_NULL)) << MAY_BE_ARRAY_SHIFT) | ((t1 & MAY_BE_NULL) ? MAY_BE_AR… in _zend_update_type_info()
2684 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2691 tmp = t1; in _zend_update_type_info()
2693 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2695 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2698 tmp = t1 & ~MAY_BE_UNDEF; in _zend_update_type_info()
2700 tmp &= ~MAY_BE_REF; in _zend_update_type_info()
2703 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2706 tmp |= (t1 & (MAY_BE_RC1|MAY_BE_RCN)); in _zend_update_type_info()
2708 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2713 tmp &= ~MAY_BE_NULL; in _zend_update_type_info()
2716 tmp &= ~MAY_BE_FALSE; in _zend_update_type_info()
2719 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2726 tmp = MAY_BE_NULL; in _zend_update_type_info()
2728 tmp = MAY_BE_FALSE; in _zend_update_type_info()
2731 tmp = MAY_BE_TRUE; in _zend_update_type_info()
2733 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2743 tmp = 0; in _zend_update_type_info()
2751 tmp |= MAY_BE_REF; in _zend_update_type_info()
2762 tmp |= MAY_BE_REF; in _zend_update_type_info()
2766 tmp |= binary_op_result_type( in _zend_update_type_info()
2769 if (tmp & (MAY_BE_STRING|MAY_BE_ARRAY)) { in _zend_update_type_info()
2770 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
2772 if (tmp & (MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in _zend_update_type_info()
2773 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
2778 orig = assign_dim_result_type(orig, OP2_INFO(), tmp, opline->op2_type); in _zend_update_type_info()
2791 if (opline->opcode == ZEND_ASSIGN_OP && ssa_op->result_def >= 0 && (tmp & MAY_BE_RC1)) { in _zend_update_type_info()
2792 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2794 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2802 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2806 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2811 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2813 if (tmp & MAY_BE_REF) { in _zend_update_type_info()
2815 tmp |= MAY_BE_ANY; in _zend_update_type_info()
2822 && (tmp & (MAY_BE_LONG|MAY_BE_DOUBLE)) == MAY_BE_DOUBLE) { in _zend_update_type_info()
2824 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2825 tmp &= ~MAY_BE_DOUBLE; in _zend_update_type_info()
2827 && (tmp & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in _zend_update_type_info()
2829 tmp |= MAY_BE_STRING; in _zend_update_type_info()
2830 tmp &= ~(MAY_BE_LONG|MAY_BE_DOUBLE); in _zend_update_type_info()
2832 tmp &= t1; in _zend_update_type_info()
2834 tmp |= MAY_BE_LONG | MAY_BE_STRING; in _zend_update_type_info()
2841 && (tmp & (MAY_BE_LONG|MAY_BE_DOUBLE)) == MAY_BE_DOUBLE) { in _zend_update_type_info()
2843 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2844 tmp &= ~MAY_BE_DOUBLE; in _zend_update_type_info()
2846 && (tmp & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in _zend_update_type_info()
2848 tmp |= MAY_BE_STRING; in _zend_update_type_info()
2849 tmp &= ~(MAY_BE_LONG|MAY_BE_DOUBLE); in _zend_update_type_info()
2851 tmp &= t1; in _zend_update_type_info()
2853 tmp |= MAY_BE_LONG | MAY_BE_STRING; in _zend_update_type_info()
2856 if (tmp & MAY_BE_REF) { in _zend_update_type_info()
2858 tmp |= MAY_BE_ANY; in _zend_update_type_info()
2861 tmp &= ~MAY_BE_REF; in _zend_update_type_info()
2862 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2871 tmp = 0; in _zend_update_type_info()
2873 tmp |= MAY_BE_RC1; in _zend_update_type_info()
2875 tmp |= MAY_BE_RCN; in _zend_update_type_info()
2887 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2889 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2894 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2896 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2900 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2903 tmp |= MAY_BE_DOUBLE; in _zend_update_type_info()
2906 tmp |= MAY_BE_STRING | MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2908 tmp |= t1 & (MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_OBJECT); in _zend_update_type_info()
2911 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2915 tmp |= MAY_BE_REF; in _zend_update_type_info()
2917 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2923 tmp = 0; in _zend_update_type_info()
2925 tmp |= MAY_BE_RC1|MAY_BE_RCN; in _zend_update_type_info()
2927 tmp |= t1 & ~(MAY_BE_UNDEF|MAY_BE_REF|MAY_BE_RCN); in _zend_update_type_info()
2929 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2931 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
2933 tmp = 0; in _zend_update_type_info()
2935 tmp |= MAY_BE_REF; in _zend_update_type_info()
2938 tmp |= MAY_BE_RC1; in _zend_update_type_info()
2949 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2951 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2956 tmp |= MAY_BE_LONG; in _zend_update_type_info()
2958 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2962 tmp |= MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2965 tmp |= MAY_BE_DOUBLE; in _zend_update_type_info()
2968 tmp |= MAY_BE_STRING | MAY_BE_LONG | MAY_BE_DOUBLE; in _zend_update_type_info()
2970 …tmp |= t1 & (MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_RESOURCE | MAY_BE_ARRAY | MAY_BE_OBJECT | MAY_BE_… in _zend_update_type_info()
2973 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2978 tmp = assign_dim_result_type(t1, t2, OP1_DATA_INFO(), opline->op2_type); in _zend_update_type_info()
2979 …tmp |= ssa->var_info[ssa_op->op1_def].type & (MAY_BE_ARRAY_PACKED|MAY_BE_ARRAY_NUMERIC_HASH|MAY_BE… in _zend_update_type_info()
2980 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
2984 tmp = 0; in _zend_update_type_info()
2986 tmp |= MAY_BE_STRING | MAY_BE_NULL; in _zend_update_type_info()
2989 tmp |= (MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF); in _zend_update_type_info()
2992 …tmp |= (OP1_DATA_INFO() & (MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_… in _zend_update_type_info()
2995 tmp |= MAY_BE_NULL; in _zend_update_type_info()
2999 tmp |= MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING; in _zend_update_type_info()
3003 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3005 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3006 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3011 tmp = OP1_INFO(); in _zend_update_type_info()
3012 if (tmp & (MAY_BE_ANY | MAY_BE_REF)) { in _zend_update_type_info()
3013 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3014 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3017 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3029 …tmp = (t1 & (MAY_BE_REF|MAY_BE_OBJECT|MAY_BE_RC1|MAY_BE_RCN))|(add_rc ? (MAY_BE_RC1|MAY_BE_RCN) : … in _zend_update_type_info()
3030 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3035 tmp = zend_fetch_prop_type(script, in _zend_update_type_info()
3037 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3045 tmp = OP1_INFO(); in _zend_update_type_info()
3046 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3047 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3049 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3054 …tmp = MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_RC1 |… in _zend_update_type_info()
3055 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3060 tmp = OP1_INFO(); in _zend_update_type_info()
3061 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3062 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3064 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3072 tmp = (t1 & (MAY_BE_REF|MAY_BE_OBJECT))|MAY_BE_RC1|MAY_BE_RCN; in _zend_update_type_info()
3073 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3078 …tmp = MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_A… in _zend_update_type_info()
3079 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3084 tmp = t2; in _zend_update_type_info()
3085 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3086 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3088 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
3090 tmp = t2 & ~(MAY_BE_UNDEF|MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3092 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3095 tmp |= MAY_BE_REF; in _zend_update_type_info()
3098 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3100 tmp |= t2 & (MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3102 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3104 if (RETURN_VALUE_USED(opline) && (tmp & MAY_BE_RC1)) { in _zend_update_type_info()
3105 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3109 tmp &= ~MAY_BE_LONG; in _zend_update_type_info()
3110 tmp |= MAY_BE_DOUBLE; in _zend_update_type_info()
3112 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3116 if (tmp & MAY_BE_REF) { in _zend_update_type_info()
3118 tmp &= ~MAY_BE_REF; in _zend_update_type_info()
3119 …tmp |= MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING|MAY_BE_RC1|MAY… in _zend_update_type_info()
3121 if ((tmp & (MAY_BE_RC1|MAY_BE_RCN)) == MAY_BE_RCN) { in _zend_update_type_info()
3126 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3131 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3135 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3142 tmp = (MAY_BE_REF | t2) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3144 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3146 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
3149 tmp = (MAY_BE_REF | MAY_BE_RCN | MAY_BE_RC1 | t2) & ~MAY_BE_UNDEF; in _zend_update_type_info()
3151 tmp = (MAY_BE_REF | t2) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3154 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3156 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3158 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3163 tmp = t1; in _zend_update_type_info()
3164 if (tmp & MAY_BE_OBJECT) { in _zend_update_type_info()
3165 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3167 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3173 tmp = (MAY_BE_REF | MAY_BE_RCN | MAY_BE_RC1 | t2) & ~MAY_BE_UNDEF; in _zend_update_type_info()
3175 tmp = (MAY_BE_REF | t2) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3178 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3181 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3186 tmp = (MAY_BE_REF | t2) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3188 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3190 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3204 tmp = MAY_BE_REF | MAY_BE_ANY in _zend_update_type_info()
3206 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3209 tmp = MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF in _zend_update_type_info()
3212 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3214 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3217 …tmp = MAY_BE_UNDEF | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF… in _zend_update_type_info()
3218 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3222 tmp = t1; in _zend_update_type_info()
3224 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3226 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3233 tmp = t2 | MAY_BE_REF; in _zend_update_type_info()
3235 tmp = t2 & ~(MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3237 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3240 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
3247 tmp = t1 | MAY_BE_REF; in _zend_update_type_info()
3249 tmp = t1 & ~(MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3251 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3254 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3258 tmp = MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF in _zend_update_type_info()
3260 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3266 …tmp = (t1 & MAY_BE_UNDEF)|MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_… in _zend_update_type_info()
3267 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3272 …tmp = MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_… in _zend_update_type_info()
3273 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3278 tmp = t1; in _zend_update_type_info()
3280 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3283 tmp |= MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3287 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3289 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3306 tmp = zend_fetch_arg_info_type(script, arg_info, &ce); in _zend_update_type_info()
3308 tmp |= MAY_BE_REF; in _zend_update_type_info()
3313 uint32_t elem_type = tmp & MAY_BE_REF in _zend_update_type_info()
3315 : (tmp & MAY_BE_ANY) << MAY_BE_ARRAY_SHIFT; in _zend_update_type_info()
3316 tmp = MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_ANY|elem_type; in _zend_update_type_info()
3320 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3376 tmp = MAY_BE_RC1|MAY_BE_RCN|MAY_BE_OBJECT; in _zend_update_type_info()
3393 tmp &= ~MAY_BE_RCN; in _zend_update_type_info()
3395 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3405 tmp = (MAY_BE_REF | t1) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3407 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3410 tmp = (MAY_BE_REF | t1) & ~(MAY_BE_UNDEF|MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3412 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3415 tmp = (MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_REF | t1); in _zend_update_type_info()
3417 tmp = t1; in _zend_update_type_info()
3419 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3422 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3431 tmp = MAY_BE_RC1|MAY_BE_ARRAY|arr_type; in _zend_update_type_info()
3433 tmp |= MAY_BE_ARRAY_EMPTY; in _zend_update_type_info()
3438 tmp |= assign_dim_array_result_type(arr_type, t2, t1, opline->op2_type); in _zend_update_type_info()
3440 tmp |= MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3443 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3447 tmp = ssa_var_info[ssa_op->result_use].type; in _zend_update_type_info()
3448 ZEND_ASSERT(tmp & MAY_BE_ARRAY); in _zend_update_type_info()
3449 tmp |= t1 & (MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF); in _zend_update_type_info()
3451 tmp |= MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY; in _zend_update_type_info()
3453 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3456 tmp = MAY_BE_UNDEF; in _zend_update_type_info()
3459 tmp |= MAY_BE_REF; in _zend_update_type_info()
3461 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3473 tmp = t1; in _zend_update_type_info()
3475 tmp |= MAY_BE_REF; in _zend_update_type_info()
3477 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3479 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3484 tmp = MAY_BE_REF | (t1 & (MAY_BE_ARRAY | MAY_BE_OBJECT)); in _zend_update_type_info()
3486 …tmp = MAY_BE_RC1 | MAY_BE_RCN | (t1 & (MAY_BE_ARRAY | MAY_BE_OBJECT | MAY_BE_ARRAY_KEY_ANY | MAY_B… in _zend_update_type_info()
3490 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3492 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3497 tmp = 0; in _zend_update_type_info()
3499 tmp = t2 & MAY_BE_REF; in _zend_update_type_info()
3503 … tmp |= MAY_BE_REF | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3505 … tmp |= MAY_BE_RCN | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3507 tmp |= MAY_BE_REF; in _zend_update_type_info()
3513 …tmp |= MAY_BE_REF | MAY_BE_RCN | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_… in _zend_update_type_info()
3515 tmp |= ((t1 & MAY_BE_ARRAY_OF_ANY) >> MAY_BE_ARRAY_SHIFT); in _zend_update_type_info()
3516 if (tmp & MAY_BE_ARRAY) { in _zend_update_type_info()
3517 tmp |= MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3520 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3522 tmp |= MAY_BE_REF; in _zend_update_type_info()
3524 } else if (tmp & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)) { in _zend_update_type_info()
3525 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
3529 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
3531 tmp = (ssa_op->result_use >= 0) ? RES_USE_INFO() : 0; in _zend_update_type_info()
3533 …tmp |= MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_… in _zend_update_type_info()
3537 tmp |= MAY_BE_LONG; in _zend_update_type_info()
3540 tmp |= MAY_BE_STRING | MAY_BE_RCN; in _zend_update_type_info()
3543 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3556 tmp = t1 & ~(MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3563 tmp &= ~(MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE); in _zend_update_type_info()
3565 tmp |= MAY_BE_ARRAY | MAY_BE_RC1; in _zend_update_type_info()
3568 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3570 tmp |= t1 & MAY_BE_RCN; in _zend_update_type_info()
3574 tmp |= t1 & (MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3613 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3616 tmp |= t1 & (MAY_BE_RC1|MAY_BE_RCN); in _zend_update_type_info()
3627 tmp |= key_type | MAY_BE_ARRAY | MAY_BE_ARRAY_OF_NULL; in _zend_update_type_info()
3635 tmp |= key_type | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3642 tmp |= key_type | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3654 tmp |= key_type | MAY_BE_ARRAY | MAY_BE_ARRAY_OF_ARRAY; in _zend_update_type_info()
3669 tmp |= key_type | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3675 if (tmp & MAY_BE_ARRAY_OF_LONG) { in _zend_update_type_info()
3677 tmp |= key_type | MAY_BE_ARRAY_OF_DOUBLE; in _zend_update_type_info()
3678 } else if (!(tmp & (MAY_BE_ARRAY_OF_LONG|MAY_BE_ARRAY_OF_DOUBLE))) { in _zend_update_type_info()
3679 tmp |= key_type | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_DOUBLE; in _zend_update_type_info()
3707 tmp |= key_type | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
3712 tmp &= ~MAY_BE_ARRAY_EMPTY; in _zend_update_type_info()
3715 if (!(tmp & MAY_BE_ARRAY) in _zend_update_type_info()
3716 || (tmp & MAY_BE_ARRAY_KEY_ANY) in _zend_update_type_info()
3722 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3730 tmp = zend_array_element_type( in _zend_update_type_info()
3737 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3740 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3742 if ((tmp & (MAY_BE_RC1|MAY_BE_RCN)) == MAY_BE_RCN && opline->result_type == IS_TMP_VAR) { in _zend_update_type_info()
3747 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3752 tmp |= MAY_BE_RC1; in _zend_update_type_info()
3756 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3771 uint32_t tmp = 0; in _zend_update_type_info() local
3775 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3779 tmp |= zend_fetch_prop_type(script, prop_info, &ce); in _zend_update_type_info()
3781 tmp |= MAY_BE_REF | MAY_BE_INDIRECT; in _zend_update_type_info()
3783 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3800 tmp &= ~MAY_BE_RC1; in _zend_update_type_info()
3804 tmp |= MAY_BE_NULL; in _zend_update_type_info()
3808 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3820 tmp = zend_fetch_prop_type(script, in _zend_update_type_info()
3824 tmp |= MAY_BE_REF | MAY_BE_INDIRECT; in _zend_update_type_info()
3826 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3831 tmp &= ~MAY_BE_RC1; in _zend_update_type_info()
3834 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3837 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3847 tmp = ssa->var_info[ssa_op->op1_use].type; in _zend_update_type_info()
3848 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3849 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3851 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3855 tmp = ssa->var_info[ssa_op->op2_use].type; in _zend_update_type_info()
3856 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3857 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3859 UPDATE_SSA_TYPE(tmp, ssa_op->op2_def); in _zend_update_type_info()
3865 tmp = ssa->var_info[next_ssa_op->op1_use].type; in _zend_update_type_info()
3866 if (tmp & MAY_BE_RC1) { in _zend_update_type_info()
3867 tmp |= MAY_BE_RCN; in _zend_update_type_info()
3869 UPDATE_SSA_TYPE(tmp, next_ssa_op->op1_def); in _zend_update_type_info()
3892 tmp = zend_get_func_info(call_info, ssa, &ce, &ce_is_instanceof); in _zend_update_type_info()
3893 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3939 tmp = 0; in _zend_update_type_info()
3941 tmp |= MAY_BE_TRUE; in _zend_update_type_info()
3943 tmp |= MAY_BE_FALSE; in _zend_update_type_info()
3947 tmp |= MAY_BE_FALSE; in _zend_update_type_info()
3949 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3957 tmp = t1; in _zend_update_type_info()
3961 tmp = zend_fetch_arg_info_type(script, ret_info, &ce); in _zend_update_type_info()
3962 if ((tmp & MAY_BE_NULL) && opline->op1_type == IS_CV) { in _zend_update_type_info()
3963 tmp |= MAY_BE_UNDEF; in _zend_update_type_info()
3965 tmp |= (t1 & MAY_BE_INDIRECT); in _zend_update_type_info()
3968 uint32_t extra_types = t1 & ~tmp; in _zend_update_type_info()
3970 tmp &= t1; in _zend_update_type_info()
3974 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
3981 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3990 …tmp = MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_… in _zend_update_type_info()
3991 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
3993 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
4017 tmp = zend_fetch_prop_type(script, prop_info, &prop_ce); in _zend_update_type_info()
4019 if (tmp & MAY_BE_OBJECT) { in _zend_update_type_info()
4022 tmp &= MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING|MAY_BE_BOOL|MAY_BE_NULL; in _zend_update_type_info()
4023 if (tmp & MAY_BE_STRING) { in _zend_update_type_info()
4024 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
4026 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
4063 …tmp = MAY_BE_ANY | MAY_BE_REF | MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_A… in _zend_update_type_info()
4064 UPDATE_SSA_TYPE(tmp, ssa_op->op1_def); in _zend_update_type_info()
4068 tmp = MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF; in _zend_update_type_info()
4073 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
4075 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
4078 tmp |= MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
4080 tmp |= MAY_BE_REF | MAY_BE_RC1 | MAY_BE_RCN; in _zend_update_type_info()
4098 tmp |= MAY_BE_INDIRECT; in _zend_update_type_info()
4102 UPDATE_SSA_TYPE(tmp, ssa_op->result_def); in _zend_update_type_info()
4186 uint32_t tmp, worklist_len = zend_bitset_len(ssa_vars_count); in zend_infer_types_ex() local
4198 tmp = get_ssa_var_info(ssa, p->sources[0]); in zend_infer_types_ex()
4202 tmp &= constraint->type_mask; in zend_infer_types_ex()
4203 if (!(tmp & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE))) { in zend_infer_types_ex()
4204 tmp &= ~(MAY_BE_RC1|MAY_BE_RCN); in zend_infer_types_ex()
4206 if ((tmp & MAY_BE_OBJECT) && constraint->ce && ce != constraint->ce) { in zend_infer_types_ex()
4219 UPDATE_SSA_TYPE(tmp, j); in zend_infer_types_ex()
4220 if (tmp & MAY_BE_REF) { in zend_infer_types_ex()
4230 tmp = 0; in zend_infer_types_ex()
4232 tmp |= get_ssa_var_info(ssa, p->sources[i]); in zend_infer_types_ex()
4234 UPDATE_SSA_TYPE(tmp, j); in zend_infer_types_ex()
4560 uint32_t tmp = 0; in zend_func_return_info() local
4610 tmp |= t1; in zend_func_return_info()
4700 ret->type &= tmp; in zend_func_return_info()