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);
144 zend_op *target = ZEND_OP1_JMP_ADDR(opline); in zend_optimizer_pass3() local
145 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
146 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
157 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
158 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
159 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
172 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
174 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
177 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
178 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
179 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
180 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
183 CHECK_JMP2(target, done_jmp_optimization); in zend_optimizer_pass3()
184 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
185 } else if (target->opcode == opline->opcode + 3 && in zend_optimizer_pass3()
186 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
189 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
191 COPY_NODE(opline->result, target->result); in zend_optimizer_pass3()
193 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3()
194 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
197 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
199 } else if (target->opcode == INV_COND_EX(opline->opcode) && in zend_optimizer_pass3()
200 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
203 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
205 COPY_NODE(opline->result, target->result); in zend_optimizer_pass3()
235 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
237 if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3()
238 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
241 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
242 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
243 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
244 SAME_VAR(target->op1, T) && in zend_optimizer_pass3()
245 SAME_VAR(target->result, T)) { in zend_optimizer_pass3()
248 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
249 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(target)); in zend_optimizer_pass3()
250 } else if (target->opcode == ZEND_JMPZNZ && in zend_optimizer_pass3()
251 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
255 CHECK_JMP2(target, continue_jmp_ex_optimization); in zend_optimizer_pass3()
257 new_target = ZEND_OP2_JMP_ADDR(target); in zend_optimizer_pass3()
260 new_target = ZEND_OFFSET_TO_OPLINE(target, target->extended_value); in zend_optimizer_pass3()
263 } else if ((target->opcode == INV_EX_COND_EX(opline->opcode) || in zend_optimizer_pass3()
264 target->opcode == INV_EX_COND(opline->opcode)) && in zend_optimizer_pass3()
265 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
268 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
270 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3()
271 SAME_VAR(target->op1, T)) { in zend_optimizer_pass3()
274 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
276 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3()
277 SAME_VAR(target->op1, T) && in zend_optimizer_pass3()
278 SAME_VAR(target->result, T)) { in zend_optimizer_pass3()
281 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
283 } else if (target->opcode == ZEND_BOOL && in zend_optimizer_pass3()
284 SAME_VAR(opline->result, target->op1)) { in zend_optimizer_pass3()
287 opline->result.var = target->result.var; in zend_optimizer_pass3()
288 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
383 zend_op *target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3() local
384 CHECK_JMP(target, continue_jmpznz_optimization); in zend_optimizer_pass3()
385 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()
391 zend_op *target = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value); in zend_optimizer_pass3() local
392 CHECK_JMP(target, done_jmp_optimization); in zend_optimizer_pass3()
393 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP1_JMP_ADDR(target)); in zend_optimizer_pass3()