Lines Matching refs:opline

55 	zend_op *opline;  in zend_optimizer_pass3()  local
63 opline = op_array->opcodes; in zend_optimizer_pass3()
64 end = opline + op_array->last; in zend_optimizer_pass3()
66 while (opline < end) { in zend_optimizer_pass3()
68 switch (opline->opcode) { in zend_optimizer_pass3()
72 target = ZEND_OP1_JMP_ADDR(opline); 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()
88 MAKE_NOP(opline); in zend_optimizer_pass3()
94 *opline = *target; in zend_optimizer_pass3()
95 if (opline->op1_type == IS_CONST) { in zend_optimizer_pass3()
97 ZVAL_COPY(&zv, &ZEND_OP1_LITERAL(opline)); in zend_optimizer_pass3()
98 opline->op1.constant = zend_optimizer_add_literal(op_array, &zv); in zend_optimizer_pass3()
100 } else if (opline > op_array->opcodes && in zend_optimizer_pass3()
101 ((opline-1)->opcode == ZEND_JMPZ || in zend_optimizer_pass3()
102 (opline-1)->opcode == ZEND_JMPNZ)) { in zend_optimizer_pass3()
103 if (ZEND_OP2_JMP_ADDR(opline-1) == target) { in zend_optimizer_pass3()
105 zend_optimizer_convert_to_free_op1(op_array, opline - 1); in zend_optimizer_pass3()
114 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
124 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
132 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
139 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
140 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
145 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3()
146 SAME_VAR(opline->op1, target->op1)) { in zend_optimizer_pass3()
155 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
159 if (target == opline + 1) { in zend_optimizer_pass3()
160 zend_optimizer_convert_to_free_op1(op_array, opline); in zend_optimizer_pass3()
168 target = ZEND_OP2_JMP_ADDR(opline); in zend_optimizer_pass3()
175 } else if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3()
176 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
177 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
182 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3()
183 target->result.var == opline->result.var && in zend_optimizer_pass3()
184 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
185 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
190 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3()
191 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
192 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
196 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3()
197 target->result.var == opline->result.var && in zend_optimizer_pass3()
198 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
199 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
204 (SAME_VAR(target->op1, opline->result) || in zend_optimizer_pass3()
205 SAME_VAR(target->op1, opline->op1))) { in zend_optimizer_pass3()
217 opline->result.var = target->result.var; in zend_optimizer_pass3()
225 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
229 if (target == opline + 1) { in zend_optimizer_pass3()
230 opline->opcode = ZEND_BOOL; in zend_optimizer_pass3()
231 opline->op2.num = 0; in zend_optimizer_pass3()
235 opline++; in zend_optimizer_pass3()