Lines Matching refs:opline

8 	zend_op *opline;  variable
11 opline = op_array->opcodes;
12 while (opline < end) {
13 switch (opline->opcode) {
18 if (ZEND_OP1_TYPE(opline) == IS_CONST) {
19 if (ZEND_OP1_LITERAL(opline).type == IS_STRING) {
20 convert_scalar_to_number(&ZEND_OP1_LITERAL(opline) TSRMLS_CC);
28 if (opline->extended_value != 0) {
32 if (ZEND_OP2_TYPE(opline) == IS_CONST) {
33 if (ZEND_OP2_LITERAL(opline).type == IS_STRING) {
34 convert_scalar_to_number(&ZEND_OP2_LITERAL(opline) TSRMLS_CC);
42 if (ZEND_OP1_TYPE(opline) == IS_CONST) {
43 if (ZEND_OP1_LITERAL(opline).type != IS_LONG) {
44 convert_to_long(&ZEND_OP1_LITERAL(opline));
51 if (opline->extended_value != 0) {
55 if (ZEND_OP2_TYPE(opline) == IS_CONST) {
56 if (ZEND_OP2_LITERAL(opline).type != IS_LONG) {
57 convert_to_long(&ZEND_OP2_LITERAL(opline));
63 if (ZEND_OP1_TYPE(opline) == IS_CONST) {
64 if (ZEND_OP1_LITERAL(opline).type != IS_STRING) {
65 convert_to_string(&ZEND_OP1_LITERAL(opline));
70 if (opline->extended_value != 0) {
74 if (ZEND_OP2_TYPE(opline) == IS_CONST) {
75 if (ZEND_OP2_LITERAL(opline).type != IS_STRING) {
76 convert_to_string(&ZEND_OP2_LITERAL(opline));
85 ZEND_OP1_TYPE(opline) == IS_TMP_VAR &&
86 ZEND_RESULT_TYPE(opline) == IS_TMP_VAR &&
87 ZEND_OP1(opline).var == ZEND_RESULT(opline).var) {
88 opline->opcode -= 3;
91 } else if (ZEND_OP1_TYPE(opline) == IS_CONST) {
92 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(opline));
93 if (opline->opcode == ZEND_JMPZ_EX) {
97 opline->opcode = ZEND_QM_ASSIGN;
98 SET_UNUSED(opline->op2);
105 if (ZEND_OP1_TYPE(opline) == IS_CONST) {
106 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(opline));
108 if (opline->opcode == ZEND_JMPZ) {
111 literal_dtor(&ZEND_OP1_LITERAL(opline));
112 ZEND_OP1_TYPE(opline) = IS_UNUSED;
114 opline->opcode = ZEND_JMP;
115 COPY_NODE(opline->op1, opline->op2);
117 MAKE_NOP(opline);
121 if ((opline + 1)->opcode == ZEND_JMP) {
124 if (ZEND_OP2(opline).opline_num == ZEND_OP1(opline + 1).opline_num) {
126 MAKE_NOP(opline);
128 if (opline->opcode == ZEND_JMPZ) {
129 opline->extended_value = ZEND_OP1(opline + 1).opline_num;
131 opline->extended_value = ZEND_OP2(opline).opline_num;
132 COPY_NODE(opline->op2, (opline + 1)->op1);
134 opline->opcode = ZEND_JMPZNZ;
140 if (ZEND_OP1_TYPE(opline) == IS_CONST) {
143 if (zend_is_true(&ZEND_OP1_LITERAL(opline))) {
144 opline_num = opline->extended_value; /* JMPNZ */
146 opline_num = ZEND_OP2(opline).opline_num; /* JMPZ */
148 literal_dtor(&ZEND_OP1_LITERAL(opline));
149 ZEND_OP1(opline).opline_num = opline_num;
150 ZEND_OP1_TYPE(opline) = IS_UNUSED;
151 opline->opcode = ZEND_JMP;
163 if (ZEND_OP2_TYPE(opline) != IS_CONST) {
166 convert_to_long(&ZEND_OP2_LITERAL(opline));
167 nest_levels = ZEND_OP2_LITERAL(opline).value.lval;
169 array_offset = ZEND_OP1(opline).opline_num;
194 switch (opline->opcode) {
196 MAKE_NOP(opline);
197 ZEND_OP1(opline).opline_num = jmp_to->brk;
200 MAKE_NOP(opline);
201 ZEND_OP1(opline).opline_num = jmp_to->cont;
204 opline->opcode = ZEND_JMP;
209 opline++;