Lines Matching refs:target
37 #define CHECK_JMP(target, label) \ argument
39 if (jmp_hitlist[i] == ZEND_OP1_JMP_ADDR(target)) { \
43 jmp_hitlist[jmp_hitlist_count++] = ZEND_OP1_JMP_ADDR(target);
45 #define CHECK_JMP2(target, label) \ argument
47 if (jmp_hitlist[i] == ZEND_OP2_JMP_ADDR(target)) { \
51 jmp_hitlist[jmp_hitlist_count++] = ZEND_OP2_JMP_ADDR(target);
179 zend_op *target = ZEND_OP1_JMP_ADDR(opline); in zend_optimizer_pass3() local
180 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
181 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
192 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
193 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
194 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
207 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
209 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
212 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
213 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
214 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
215 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
218 CHECK_JMP2(target, done_jmp_optimization); in zend_optimizer_pass3()
219 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
220 } else if (target->opcode == opline->opcode + 3 && in zend_optimizer_pass3()
221 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
224 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
226 COPY_NODE(opline->result, target->result); in zend_optimizer_pass3()
228 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3()
229 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
232 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
234 } else if (target->opcode == INV_COND_EX(opline->opcode) && in zend_optimizer_pass3()
235 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
238 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
240 COPY_NODE(opline->result, target->result); in zend_optimizer_pass3()
270 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
272 if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3()
273 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
276 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
277 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
278 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
279 SAME_VAR(target->op1, T) && in zend_optimizer_pass3()
280 SAME_VAR(target->result, T)) { in zend_optimizer_pass3()
283 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
284 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
285 } else if (target->opcode == ZEND_JMPZNZ && in zend_optimizer_pass3()
286 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
290 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
292 new_target = ZEND_OP2_JMP_ADDR(target); in zend_optimizer_pass3()
295 new_target = ZEND_OFFSET_TO_OPLINE(target, target->extended_value); in zend_optimizer_pass3()
298 } else if ((target->opcode == INV_EX_COND_EX(opline->opcode) || in zend_optimizer_pass3()
299 target->opcode == INV_EX_COND(opline->opcode)) && in zend_optimizer_pass3()
300 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
303 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
305 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3()
306 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
309 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
311 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3()
312 SAME_VAR(target->op1, T) && in zend_optimizer_pass3()
313 SAME_VAR(target->result, T)) { in zend_optimizer_pass3()
316 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
318 } else if (target->opcode == ZEND_BOOL && in zend_optimizer_pass3()
319 SAME_VAR(opline->result, target->op1)) { in zend_optimizer_pass3()
322 opline->result.var = target->result.var; in zend_optimizer_pass3()
323 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
418 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
419 CHECK_JMP(target, continue_jmpznz_optimization); in zend_optimizer_pass3()
420 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
426 zend_op *target = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value); in zend_optimizer_pass3() local
427 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
428 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()