Lines Matching refs:target

34 static zend_always_inline bool in_hitlist(zend_op *target, zend_op **jmp_hitlist, int jmp_hitlist_c…  in in_hitlist()  argument
39 if (jmp_hitlist[i] == target) { in in_hitlist()
46 #define CHECK_LOOP(target) \ argument
47 if (EXPECTED(!in_hitlist(target, jmp_hitlist, jmp_hitlist_count))) { \
48 jmp_hitlist[jmp_hitlist_count++] = target; \
57 zend_op *target; in zend_optimizer_pass3() local
72 target = ZEND_OP1_JMP_ADDR(opline); in zend_optimizer_pass3()
74 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
76 target = ZEND_OP1_JMP_ADDR(target); in zend_optimizer_pass3()
77 CHECK_LOOP(target); in zend_optimizer_pass3()
78 } else if (target->opcode == ZEND_NOP) { in zend_optimizer_pass3()
79 target = target + 1; in zend_optimizer_pass3()
83 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target); in zend_optimizer_pass3()
86 if (target == opline + 1) { in zend_optimizer_pass3()
89 } else if ((target->opcode == ZEND_RETURN || in zend_optimizer_pass3()
90 target->opcode == ZEND_RETURN_BY_REF || in zend_optimizer_pass3()
91 target->opcode == ZEND_GENERATOR_RETURN || in zend_optimizer_pass3()
92 target->opcode == ZEND_EXIT) && in zend_optimizer_pass3()
95 *opline = *target; in zend_optimizer_pass3()
104 if (ZEND_OP2_JMP_ADDR(opline-1) == target) { in zend_optimizer_pass3()
115 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
117 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
118 target = ZEND_OP1_JMP_ADDR(target); in zend_optimizer_pass3()
119 CHECK_LOOP(target); in zend_optimizer_pass3()
120 } else if (target->opcode == ZEND_NOP) { in zend_optimizer_pass3()
121 target = target + 1; in zend_optimizer_pass3()
125 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
133 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
135 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
138 target = ZEND_OP1_JMP_ADDR(target); in zend_optimizer_pass3()
139 CHECK_LOOP(target); in zend_optimizer_pass3()
140 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
141 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
144 target = ZEND_OP2_JMP_ADDR(target); in zend_optimizer_pass3()
145 CHECK_LOOP(target); in zend_optimizer_pass3()
146 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3()
147 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
150 target = target + 1; in zend_optimizer_pass3()
151 } else if (target->opcode == ZEND_NOP) { in zend_optimizer_pass3()
152 target = target + 1; in zend_optimizer_pass3()
156 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
160 if (target == opline + 1) { in zend_optimizer_pass3()
169 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
171 if (target->opcode == ZEND_JMP) { in zend_optimizer_pass3()
174 target = ZEND_OP1_JMP_ADDR(target); in zend_optimizer_pass3()
175 CHECK_LOOP(target); in zend_optimizer_pass3()
176 } else if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3()
177 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
178 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
181 target = ZEND_OP2_JMP_ADDR(target); in zend_optimizer_pass3()
182 CHECK_LOOP(target); in zend_optimizer_pass3()
183 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
184 target->result.var == opline->result.var && in zend_optimizer_pass3()
185 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
186 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
189 target = ZEND_OP2_JMP_ADDR(target); in zend_optimizer_pass3()
190 CHECK_LOOP(target); in zend_optimizer_pass3()
191 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3()
192 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
193 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
196 target = target + 1; in zend_optimizer_pass3()
197 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3()
198 target->result.var == opline->result.var && in zend_optimizer_pass3()
199 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
200 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
203 target = target + 1; in zend_optimizer_pass3()
204 } else if (target->opcode == ZEND_BOOL && in zend_optimizer_pass3()
205 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
206 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
218 opline->result.var = target->result.var; in zend_optimizer_pass3()
219 target = target + 1; in zend_optimizer_pass3()
220 CHECK_LOOP(target); in zend_optimizer_pass3()
221 } else if (target->opcode == ZEND_NOP) { in zend_optimizer_pass3()
222 target = target + 1; in zend_optimizer_pass3()
226 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
230 if (target == opline + 1) { in zend_optimizer_pass3()