Lines Matching refs:idx

449 	ADD_OP_GUARD(tssa->ops[idx].op1_use, op1_type)
451 ADD_OP_GUARD(tssa->ops[idx].op2_use, op2_type)
453 ADD_OP_GUARD(tssa->ops[idx+1].op1_use, op3_type)
1082 int idx = tssa->vars[var].definition; in is_checked_guard() local
1084 if (idx >= 0) { in is_checked_guard()
1085 if (tssa->ops[idx].op1_def == var) { in is_checked_guard()
1086 const zend_op *opline = ssa_opcodes[idx]; in is_checked_guard()
1091 if (tssa->ops[idx].op1_use >= 0 in is_checked_guard()
1092 && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_STRING)) { in is_checked_guard()
1095 if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1104 && tssa->ops[idx].op2_use >= 0 in is_checked_guard()
1105 && (tssa->var_info[tssa->ops[idx].op2_use].type & MAY_BE_REF)) { in is_checked_guard()
1108 if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1116 } else if (!(tssa->var_info[tssa->ops[idx].op2_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1122 if (tssa->ops[idx].result_def == var) { in is_checked_guard()
1123 const zend_op *opline = ssa_opcodes[idx]; in is_checked_guard()
1128 && tssa->ops[idx].op1_use >= 0 in is_checked_guard()
1129 && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_REF)) { in is_checked_guard()
1133 && tssa->ops[idx].op2_use >= 0 in is_checked_guard()
1134 && (tssa->var_info[tssa->ops[idx].op2_use].type & MAY_BE_REF)) { in is_checked_guard()
1142 } else if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1150 } else if (!(tssa->var_info[tssa->ops[idx].op2_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1158 && tssa->ops[idx].op1_use >= 0 in is_checked_guard()
1159 && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_REF)) { in is_checked_guard()
1162 if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { in is_checked_guard()
1191 int i, v, idx, len, ssa_ops_count, vars_count, ssa_vars_count; in zend_jit_trace_build_tssa() local
1396 idx = 0; in zend_jit_trace_build_tssa()
1401 ssa_opcodes[idx] = opline; in zend_jit_trace_build_tssa()
1402 …ssa_vars_count = zend_ssa_rename_op(op_array, opline, idx, build_flags, ssa_vars_count, ssa_ops, (… in zend_jit_trace_build_tssa()
1403 idx++; in zend_jit_trace_build_tssa()
1407 ssa_opcodes[idx] = opline; in zend_jit_trace_build_tssa()
1409 …ssa_vars_count = zend_ssa_rename_op(op_array, opline, idx, build_flags, ssa_vars_count, ssa_ops, (… in zend_jit_trace_build_tssa()
1411 idx++; in zend_jit_trace_build_tssa()
1487 idx = (ssa_ops_count - 1); in zend_jit_trace_build_tssa()
1488 op = ssa_ops + idx; in zend_jit_trace_build_tssa()
1489 while (idx >= 0) { in zend_jit_trace_build_tssa()
1490 opline = ssa_opcodes[idx]; in zend_jit_trace_build_tssa()
1493 ssa_vars[op->op1_use].use_chain = idx; in zend_jit_trace_build_tssa()
1497 ssa_vars[op->op2_use].use_chain = idx; in zend_jit_trace_build_tssa()
1501 ssa_vars[op->result_use].use_chain = idx; in zend_jit_trace_build_tssa()
1505 ssa_vars[op->op1_def].definition = idx; in zend_jit_trace_build_tssa()
1509 ssa_vars[op->op2_def].definition = idx; in zend_jit_trace_build_tssa()
1513 ssa_vars[op->result_def].definition = idx; in zend_jit_trace_build_tssa()
1516 idx--; in zend_jit_trace_build_tssa()
1650 idx = 0; in zend_jit_trace_build_tssa()
1744 zend_ssa_var_info *info = &tssa->var_info[tssa->ops[idx].op1_use]; in zend_jit_trace_build_tssa()
1753 zend_ssa_var_info *info = &tssa->var_info[tssa->ops[idx].op1_use]; in zend_jit_trace_build_tssa()
1869 && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
1920 zend_ssa_var_info *info = &tssa->var_info[tssa->ops[idx].op1_use]; in zend_jit_trace_build_tssa()
1950 zend_ssa_var_info *info = &tssa->var_info[tssa->ops[idx].op1_use]; in zend_jit_trace_build_tssa()
1989 ZEND_ASSERT(ssa_ops[idx].op1_use >= 0); in zend_jit_trace_build_tssa()
1990 info = ssa_var_info[ssa_ops[idx].op1_use].type & ~MAY_BE_GUARD; in zend_jit_trace_build_tssa()
2027 ZEND_ASSERT(ssa_ops[idx].op1_use >= 0); in zend_jit_trace_build_tssa()
2028 return_value_info = ssa_var_info[ssa_ops[idx].op1_use]; in zend_jit_trace_build_tssa()
2122 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2123 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2125 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2126 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2128 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2129 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2132 if (ssa_ops[idx+1].op1_def >= 0) { in zend_jit_trace_build_tssa()
2133 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx+1].op1_def); in zend_jit_trace_build_tssa()
2135 if (ssa_ops[idx+1].op2_def >= 0) { in zend_jit_trace_build_tssa()
2136 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx+1].op2_def); in zend_jit_trace_build_tssa()
2138 if (ssa_ops[idx+1].result_def >= 0) { in zend_jit_trace_build_tssa()
2139 … zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx+1].result_def); in zend_jit_trace_build_tssa()
2143 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2144 …ssa_vars[ssa_ops[idx].op1_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opline-… in zend_jit_trace_build_tssa()
2145 if (ssa_ops[idx].op1_use < 0 || !(ssa_var_info[ssa_ops[idx].op1_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2146 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2149 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2150 …ssa_vars[ssa_ops[idx].op2_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opline-… in zend_jit_trace_build_tssa()
2151 if (ssa_ops[idx].op2_use < 0 || !(ssa_var_info[ssa_ops[idx].op2_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2152 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2155 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2156 …ssa_vars[ssa_ops[idx].result_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opli… in zend_jit_trace_build_tssa()
2157 … if (ssa_ops[idx].result_use < 0 || !(ssa_var_info[ssa_ops[idx].result_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2158 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2162 if (ssa_ops[idx+1].op1_def >= 0) { in zend_jit_trace_build_tssa()
2163 …ssa_vars[ssa_ops[idx+1].op1_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM((opli… in zend_jit_trace_build_tssa()
2164 if (ssa_ops[idx+1].op1_use < 0 || !(ssa_var_info[ssa_ops[idx+1].op1_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2165 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx+1].op1_def); in zend_jit_trace_build_tssa()
2168 if (ssa_ops[idx+1].op2_def >= 0) { in zend_jit_trace_build_tssa()
2169 …ssa_vars[ssa_ops[idx+1].op2_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM((opli… in zend_jit_trace_build_tssa()
2170 if (ssa_ops[idx+1].op2_use < 0 || !(ssa_var_info[ssa_ops[idx+1].op2_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2171 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx+1].op2_def); in zend_jit_trace_build_tssa()
2174 if (ssa_ops[idx+1].result_def >= 0) { in zend_jit_trace_build_tssa()
2175 …ssa_vars[ssa_ops[idx+1].result_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM((o… in zend_jit_trace_build_tssa()
2176 …if (ssa_ops[idx+1].result_use < 0 || !(ssa_var_info[ssa_ops[idx+1].result_use].type & MAY_BE_REF))… in zend_jit_trace_build_tssa()
2177 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx+1].result_def); in zend_jit_trace_build_tssa()
2185 ssa_var_info[ssa_ops[idx].result_def].type = _const_op_type(RT_CONSTANT(opline, opline->op2)); in zend_jit_trace_build_tssa()
2187 && ssa_opcodes[idx + 1] == ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value)) { in zend_jit_trace_build_tssa()
2188 if (ssa_ops[idx].op2_use >= 0 && ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2189 ssa_var_info[ssa_ops[idx].op2_def] = ssa_var_info[ssa_ops[idx].op2_use]; in zend_jit_trace_build_tssa()
2192 …if (zend_update_type_info(op_array, tssa, script, (zend_op*)opline, ssa_ops + idx, ssa_opcodes, op… in zend_jit_trace_build_tssa()
2197 && ssa_ops[idx].op1_def > 0 in zend_jit_trace_build_tssa()
2206 zend_ssa_var_info *info = &ssa_var_info[ssa_ops[idx].op1_def]; in zend_jit_trace_build_tssa()
2213 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2219 ssa_var_info[ssa_ops[idx].op1_def] = ssa_var_info[ssa_ops[idx].op1_use]; in zend_jit_trace_build_tssa()
2220 ssa_var_info[ssa_ops[idx].op1_def].type &= ~MAY_BE_GUARD; in zend_jit_trace_build_tssa()
2221 if (ssa_var_info[ssa_ops[idx].op1_def].type & MAY_BE_RC1) { in zend_jit_trace_build_tssa()
2222 ssa_var_info[ssa_ops[idx].op1_def].type |= MAY_BE_RCN; in zend_jit_trace_build_tssa()
2225 zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2228 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2230 || ssa_opcodes[idx + 1] != ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value)) { in zend_jit_trace_build_tssa()
2231 zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2234 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2235 … zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2238 idx++; in zend_jit_trace_build_tssa()
2244 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2245 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2247 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2248 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2250 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2251 zend_jit_trace_copy_ssa_var_range(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2254 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2255 …ssa_vars[ssa_ops[idx].op1_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opline-… in zend_jit_trace_build_tssa()
2256 if (ssa_ops[idx].op1_use < 0 || !(ssa_var_info[ssa_ops[idx].op1_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2257 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2260 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2261 …ssa_vars[ssa_ops[idx].op2_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opline-… in zend_jit_trace_build_tssa()
2262 if (ssa_ops[idx].op2_use < 0 || !(ssa_var_info[ssa_ops[idx].op2_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2263 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2266 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2267 …ssa_vars[ssa_ops[idx].result_def].alias = zend_jit_var_may_alias(op_array, ssa, EX_VAR_TO_NUM(opli… in zend_jit_trace_build_tssa()
2268 … if (ssa_ops[idx].result_use < 0 || !(ssa_var_info[ssa_ops[idx].result_use].type & MAY_BE_REF)) { in zend_jit_trace_build_tssa()
2269 zend_jit_trace_propagate_range(op_array, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2276 ssa_var_info[ssa_ops[idx].result_def].type = _const_op_type(RT_CONSTANT(opline, opline->op2)); in zend_jit_trace_build_tssa()
2278 …if (zend_update_type_info(op_array, tssa, script, (zend_op*)opline, ssa_ops + idx, ssa_opcodes, op… in zend_jit_trace_build_tssa()
2286 if (ssa_ops[idx].op1_def >= 0) { in zend_jit_trace_build_tssa()
2287 zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op1_def); in zend_jit_trace_build_tssa()
2289 if (ssa_ops[idx].op2_def >= 0) { in zend_jit_trace_build_tssa()
2290 zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].op2_def); in zend_jit_trace_build_tssa()
2292 if (ssa_ops[idx].result_def >= 0) { in zend_jit_trace_build_tssa()
2293 … zend_jit_trace_restrict_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, ssa_ops[idx].result_def); in zend_jit_trace_build_tssa()
2296 idx++; in zend_jit_trace_build_tssa()
2321 TRACE_FRAME_SET_RETURN_SSA_VAR(call, find_return_ssa_var(p - 1, ssa_ops + (idx - 1))); in zend_jit_trace_build_tssa()
2493 if (idx > 0 in zend_jit_trace_build_tssa()
2494 && ssa_ops[idx-1].result_def >= 0 in zend_jit_trace_build_tssa()
2497 ZEND_ASSERT(ssa_opcodes[idx-1] == opline); in zend_jit_trace_build_tssa()
2508 ssa_var_info[ssa_ops[idx-1].result_def].type &= ret_type; in zend_jit_trace_build_tssa()
2634 uint32_t idx = trace_buffer[1].last; in zend_jit_trace_build_tssa() local
2635 uint32_t link_to = zend_jit_find_trace(trace_buffer[idx].opline->handler); in zend_jit_trace_build_tssa()
2697 int i, j, idx, count, level; in zend_jit_trace_allocate_registers() local
2798 idx = 0; in zend_jit_trace_allocate_registers()
2821 …zend_jit_trace_use_var(idx, ssa_op->op1_use, ssa_op->op1_def, ssa_op->op1_use_chain, start, end, f… in zend_jit_trace_allocate_registers()
2853 …zend_jit_trace_use_var(idx, ssa_op->op2_use, ssa_op->op2_def, ssa_op->op2_use_chain, start, end, f… in zend_jit_trace_allocate_registers()
2869 …zend_jit_trace_use_var(idx, ssa_op->result_use, ssa_op->result_def, ssa_op->res_use_chain, start, … in zend_jit_trace_allocate_registers()
2878 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->op1.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
2882 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->op2.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
2886 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->result.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
2908 start[ssa_op->result_def] = idx; in zend_jit_trace_allocate_registers()
2919 start[ssa_op->op1_def] = idx; in zend_jit_trace_allocate_registers()
2928 start[ssa_op->op2_def] = idx; in zend_jit_trace_allocate_registers()
2951 …zend_jit_trace_use_var(idx, ssa_op->op1_use, ssa_op->op1_def, ssa_op->op1_use_chain, start, end, f… in zend_jit_trace_allocate_registers()
2962 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->op1.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
2969 start[ssa_op->op1_def] = idx; in zend_jit_trace_allocate_registers()
2976 idx+=2; in zend_jit_trace_allocate_registers()
2981 idx++; in zend_jit_trace_allocate_registers()
2985 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->result.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
2990 idx++; in zend_jit_trace_allocate_registers()
2996 idx++; in zend_jit_trace_allocate_registers()
3000 zend_jit_close_var(stack, EX_VAR_TO_NUM(opline->op1.var), start, end, flags, idx); in zend_jit_trace_allocate_registers()
3005 idx++; in zend_jit_trace_allocate_registers()
3010 idx += len; in zend_jit_trace_allocate_registers()
3032 start[j] = idx; in zend_jit_trace_allocate_registers()
3045 zend_jit_close_var(stack, i, start, end, flags, idx-1); in zend_jit_trace_allocate_registers()
3064 start[j] = idx; in zend_jit_trace_allocate_registers()
3086 end[i] = idx; in zend_jit_trace_allocate_registers()
3095 end[i] = idx; in zend_jit_trace_allocate_registers()
3098 zend_jit_close_var(stack, i, start, end, flags, idx); in zend_jit_trace_allocate_registers()
3103 last_idx = idx; in zend_jit_trace_allocate_registers()
3105 zend_jit_close_var(stack, i, start, end, flags, idx); in zend_jit_trace_allocate_registers()
3112 zend_jit_close_var(stack, i, start, end, flags, idx); in zend_jit_trace_allocate_registers()
7332 int idx, len, i, v, vars_count, call_level; in zend_jit_dump_trace() local
7337 idx = 0; in zend_jit_dump_trace()
7381 …p_array, NULL, opline, ZEND_DUMP_RC_INFERENCE, tssa, (tssa && tssa->ops) ? tssa->ops + idx : NULL); in zend_jit_dump_trace()
7442 idx++; in zend_jit_dump_trace()
7450 …p_array, NULL, opline, ZEND_DUMP_RC_INFERENCE, tssa, (tssa && tssa->ops) ? tssa->ops + idx : NULL); in zend_jit_dump_trace()
7451 idx++; in zend_jit_dump_trace()
7695 uint32_t idx = trace_buffer[1].last; in zend_jit_trace_hot_root() local
7696 uint32_t link_to = zend_jit_find_trace(trace_buffer[idx].opline->handler); in zend_jit_trace_hot_root()
8029 uint32_t idx = trace_buffer[1].last; in zend_jit_trace_hot_side() local
8030 uint32_t link_to = zend_jit_find_trace(trace_buffer[idx].opline->handler);; in zend_jit_trace_hot_side()