Lines Matching refs:opline

578 	zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);  in zend_do_binary_op()  local
580 opline->opcode = op; in zend_do_binary_op()
581 opline->result_type = IS_TMP_VAR; in zend_do_binary_op()
582 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_binary_op()
583 SET_NODE(opline->op1, op1); in zend_do_binary_op()
584 SET_NODE(opline->op2, op2); in zend_do_binary_op()
585 GET_NODE(result, opline->result); in zend_do_binary_op()
591 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_unary_op() local
593 opline->opcode = op; in zend_do_unary_op()
594 opline->result_type = IS_TMP_VAR; in zend_do_unary_op()
595 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_unary_op()
596 SET_NODE(opline->op1, op1); in zend_do_unary_op()
597 GET_NODE(result, opline->result); in zend_do_unary_op()
598 SET_UNUSED(opline->op2); in zend_do_unary_op()
602opline) { opline->opcode = ZEND_NOP; memset(&opline->result,0,sizeof(opline->result)); memset(&op… argument
615 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_binary_assign_op() local
625 zend_do_op_data(opline, op2 TSRMLS_CC); in zend_do_binary_assign_op()
626 SET_UNUSED(opline->result); in zend_do_binary_assign_op()
633 zend_do_op_data(opline, op2 TSRMLS_CC); in zend_do_binary_assign_op()
634 opline->op2.var = get_temporary_variable(CG(active_op_array)); in zend_do_binary_assign_op()
635 opline->op2_type = IS_VAR; in zend_do_binary_assign_op()
636 SET_UNUSED(opline->result); in zend_do_binary_assign_op()
644 opline->opcode = op; in zend_do_binary_assign_op()
645 SET_NODE(opline->op1, op1); in zend_do_binary_assign_op()
646 SET_NODE(opline->op2, op2); in zend_do_binary_assign_op()
647 opline->result_type = IS_VAR; in zend_do_binary_assign_op()
648 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_binary_assign_op()
649 GET_NODE(result, opline->result); in zend_do_binary_assign_op()
655 zend_op opline; in fetch_simple_variable_ex() local
681 opline_ptr = &opline; in fetch_simple_variable_ex()
722 zend_op opline; in zend_do_fetch_static_member() local
733 init_op(&opline TSRMLS_CC); in zend_do_fetch_static_member()
735 opline.opcode = ZEND_FETCH_W; in zend_do_fetch_static_member()
736 opline.result_type = IS_VAR; in zend_do_fetch_static_member()
737 opline.result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_static_member()
738 opline.op1_type = IS_CONST; in zend_do_fetch_static_member()
739 …LITERAL_STRINGL(opline.op1, estrdup(CG(active_op_array)->vars[result->u.op.var].name), CG(active_o… in zend_do_fetch_static_member()
740 CALCULATE_LITERAL_HASH(opline.op1.constant); in zend_do_fetch_static_member()
741 GET_POLYMORPHIC_CACHE_SLOT(opline.op1.constant); in zend_do_fetch_static_member()
743 opline.op2_type = IS_CONST; in zend_do_fetch_static_member()
744 opline.op2.constant = in zend_do_fetch_static_member()
747 SET_NODE(opline.op2, &class_node); in zend_do_fetch_static_member()
749 GET_NODE(result,opline.result); in zend_do_fetch_static_member()
750 opline.extended_value |= ZEND_FETCH_STATIC_MEMBER; in zend_do_fetch_static_member()
751 opline_ptr = &opline; in zend_do_fetch_static_member()
753 zend_llist_add_element(fetch_list_ptr, &opline); in zend_do_fetch_static_member()
759 init_op(&opline TSRMLS_CC); in zend_do_fetch_static_member()
760 opline.opcode = ZEND_FETCH_W; in zend_do_fetch_static_member()
761 opline.result_type = IS_VAR; in zend_do_fetch_static_member()
762 opline.result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_static_member()
763 opline.op1_type = IS_CONST; in zend_do_fetch_static_member()
764 …LITERAL_STRINGL(opline.op1, estrdup(CG(active_op_array)->vars[opline_ptr->op1.var].name), CG(activ… in zend_do_fetch_static_member()
765 CALCULATE_LITERAL_HASH(opline.op1.constant); in zend_do_fetch_static_member()
766 GET_POLYMORPHIC_CACHE_SLOT(opline.op1.constant); in zend_do_fetch_static_member()
768 opline.op2_type = IS_CONST; in zend_do_fetch_static_member()
769 opline.op2.constant = in zend_do_fetch_static_member()
772 SET_NODE(opline.op2, &class_node); in zend_do_fetch_static_member()
774 opline.extended_value |= ZEND_FETCH_STATIC_MEMBER; in zend_do_fetch_static_member()
775 COPY_NODE(opline_ptr->op1, opline.result); in zend_do_fetch_static_member()
777 zend_llist_prepend_element(fetch_list_ptr, &opline); in zend_do_fetch_static_member()
805 zend_op opline; in fetch_array_dim() local
811 init_op(&opline TSRMLS_CC); in fetch_array_dim()
812 opline.opcode = ZEND_SEPARATE; in fetch_array_dim()
813 SET_NODE(opline.op1, parent); in fetch_array_dim()
814 SET_UNUSED(opline.op2); in fetch_array_dim()
815 opline.result_type = IS_VAR; in fetch_array_dim()
816 opline.result.var = opline.op1.var; in fetch_array_dim()
817 zend_llist_add_element(fetch_list_ptr, &opline); in fetch_array_dim()
820 init_op(&opline TSRMLS_CC); in fetch_array_dim()
821 opline.opcode = ZEND_FETCH_DIM_W; /* the backpatching routine assumes W */ in fetch_array_dim()
822 opline.result_type = IS_VAR; in fetch_array_dim()
823 opline.result.var = get_temporary_variable(CG(active_op_array)); in fetch_array_dim()
824 SET_NODE(opline.op1, parent); in fetch_array_dim()
825 SET_NODE(opline.op2, dim); in fetch_array_dim()
826 if (opline.op2_type == IS_CONST && Z_TYPE(CONSTANT(opline.op2.constant)) == IS_STRING) { in fetch_array_dim()
830 …ZEND_HANDLE_NUMERIC_EX(Z_STRVAL(CONSTANT(opline.op2.constant)), Z_STRLEN(CONSTANT(opline.op2.const… in fetch_array_dim()
832 zval_dtor(&CONSTANT(opline.op2.constant)); in fetch_array_dim()
833 ZVAL_LONG(&CONSTANT(opline.op2.constant), index); in fetch_array_dim()
835 CALCULATE_LITERAL_HASH(opline.op2.constant); in fetch_array_dim()
839 GET_NODE(result, opline.result); in fetch_array_dim()
841 zend_llist_add_element(fetch_list_ptr, &opline); in fetch_array_dim()
853 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_print() local
855 opline->result_type = IS_TMP_VAR; in zend_do_print()
856 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_print()
857 opline->opcode = ZEND_PRINT; in zend_do_print()
858 SET_NODE(opline->op1, arg); in zend_do_print()
859 SET_UNUSED(opline->op2); in zend_do_print()
860 GET_NODE(result, opline->result); in zend_do_print()
866 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_echo() local
868 opline->opcode = ZEND_ECHO; in zend_do_echo()
869 SET_NODE(opline->op1, arg); in zend_do_echo()
870 SET_UNUSED(opline->op2); in zend_do_echo()
890 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_abstract_method() local
892 opline->opcode = ZEND_RAISE_ABSTRACT_ERROR; in zend_do_abstract_method()
893 SET_UNUSED(opline->op1); in zend_do_abstract_method()
894 SET_UNUSED(opline->op2); in zend_do_abstract_method()
907 static zend_bool opline_is_fetch_this(const zend_op *opline TSRMLS_DC) /* {{{ */ in opline_is_fetch_this()
909 if ((opline->opcode == ZEND_FETCH_W) && (opline->op1_type == IS_CONST) in opline_is_fetch_this()
910 && (Z_TYPE(CONSTANT(opline->op1.constant)) == IS_STRING) in opline_is_fetch_this()
911 && ((opline->extended_value & ZEND_FETCH_STATIC_MEMBER) != ZEND_FETCH_STATIC_MEMBER) in opline_is_fetch_this()
912 && (Z_HASH_P(&CONSTANT(opline->op1.constant)) == THIS_HASHVAL) in opline_is_fetch_this()
913 && (Z_STRLEN(CONSTANT(opline->op1.constant)) == (sizeof("this")-1)) in opline_is_fetch_this()
914 && !memcmp(Z_STRVAL(CONSTANT(opline->op1.constant)), "this", sizeof("this"))) { in opline_is_fetch_this()
925 zend_op *opline; in zend_do_assign() local
932 opline = (zend_op *)fetch_list_ptr->head->data; in zend_do_assign()
934 if (opline->opcode == ZEND_FETCH_DIM_W && in zend_do_assign()
935 opline->op1_type == IS_CV && in zend_do_assign()
936 opline->op1.var == value->u.op.var) { in zend_do_assign()
938 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_assign()
939 opline->opcode = ZEND_FETCH_R; in zend_do_assign()
940 opline->result_type = IS_VAR; in zend_do_assign()
941 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_assign()
942 opline->op1_type = IS_CONST; in zend_do_assign()
943 LITERAL_STRINGL(opline->op1, in zend_do_assign()
946 CALCULATE_LITERAL_HASH(opline->op1.constant); in zend_do_assign()
947 SET_UNUSED(opline->op2); in zend_do_assign()
948 opline->extended_value = ZEND_FETCH_LOCAL; in zend_do_assign()
949 GET_NODE(value, opline->result); in zend_do_assign()
957 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_assign()
975 int opline_no = (opline-CG(active_op_array)->opcodes)/sizeof(*opline); in zend_do_assign()
976 *opline = *last_op; in zend_do_assign()
979 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_assign()
984 zend_do_op_data(opline, value TSRMLS_CC); in zend_do_assign()
985 SET_UNUSED(opline->result); in zend_do_assign()
990 int opline_no = (opline-CG(active_op_array)->opcodes)/sizeof(*opline); in zend_do_assign()
991 *opline = *last_op; in zend_do_assign()
995 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_assign()
1000 zend_do_op_data(opline, value TSRMLS_CC); in zend_do_assign()
1001 opline->op2.var = get_temporary_variable(CG(active_op_array)); in zend_do_assign()
1002 opline->op2_type = IS_VAR; in zend_do_assign()
1003 SET_UNUSED(opline->result); in zend_do_assign()
1016 opline->opcode = ZEND_ASSIGN; in zend_do_assign()
1017 SET_NODE(opline->op1, variable); in zend_do_assign()
1018 SET_NODE(opline->op2, value); in zend_do_assign()
1019 opline->result_type = IS_VAR; in zend_do_assign()
1020 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_assign()
1021 GET_NODE(result, opline->result); in zend_do_assign()
1027 zend_op *opline; in zend_do_assign_ref() local
1037 opline = &CG(active_op_array)->opcodes[last_op_number-1]; in zend_do_assign_ref()
1038 if (opline_is_fetch_this(opline TSRMLS_CC)) { in zend_do_assign_ref()
1044 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_assign_ref()
1045 opline->opcode = ZEND_ASSIGN_REF; in zend_do_assign_ref()
1047 opline->extended_value = ZEND_RETURNS_FUNCTION; in zend_do_assign_ref()
1049 opline->extended_value = ZEND_RETURNS_NEW; in zend_do_assign_ref()
1051 opline->extended_value = 0; in zend_do_assign_ref()
1054 opline->result_type = IS_VAR; in zend_do_assign_ref()
1055 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_assign_ref()
1056 GET_NODE(result, opline->result); in zend_do_assign_ref()
1058 opline->result_type = IS_UNUSED | EXT_TYPE_UNUSED; in zend_do_assign_ref()
1060 SET_NODE(opline->op1, lvar); in zend_do_assign_ref()
1061 SET_NODE(opline->op2, rvar); in zend_do_assign_ref()
1095 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_while_cond() local
1097 opline->opcode = ZEND_JMPZ; in zend_do_while_cond()
1098 SET_NODE(opline->op1, expr); in zend_do_while_cond()
1100 SET_UNUSED(opline->op2); in zend_do_while_cond()
1109 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_while_end() local
1112 opline->opcode = ZEND_JMP; in zend_do_while_end()
1113 opline->op1.opline_num = while_token->u.op.opline_num; in zend_do_while_end()
1114 SET_UNUSED(opline->op1); in zend_do_while_end()
1115 SET_UNUSED(opline->op2); in zend_do_while_end()
1129 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_for_cond() local
1131 opline->opcode = ZEND_JMPZNZ; in zend_do_for_cond()
1132 SET_NODE(opline->op1, expr); /* the conditional expression */ in zend_do_for_cond()
1134 SET_UNUSED(opline->op2); in zend_do_for_cond()
1140 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_for_before_statement() local
1142 opline->opcode = ZEND_JMP; in zend_do_for_before_statement()
1143 opline->op1.opline_num = cond_start->u.op.opline_num; in zend_do_for_before_statement()
1145 SET_UNUSED(opline->op1); in zend_do_for_before_statement()
1146 SET_UNUSED(opline->op2); in zend_do_for_before_statement()
1156 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_for_end() local
1158 opline->opcode = ZEND_JMP; in zend_do_for_end()
1159 opline->op1.opline_num = second_semicolon_token->u.op.opline_num+1; in zend_do_for_end()
1161 SET_UNUSED(opline->op1); in zend_do_for_end()
1162 SET_UNUSED(opline->op2); in zend_do_for_end()
1173 zend_op *opline; in zend_do_pre_incdec() local
1187 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_pre_incdec()
1188 opline->opcode = op; in zend_do_pre_incdec()
1189 SET_NODE(opline->op1, op1); in zend_do_pre_incdec()
1190 SET_UNUSED(opline->op2); in zend_do_pre_incdec()
1191 opline->result_type = IS_VAR; in zend_do_pre_incdec()
1192 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_pre_incdec()
1193 GET_NODE(result, opline->result); in zend_do_pre_incdec()
1200 zend_op *opline; in zend_do_post_incdec() local
1214 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_post_incdec()
1215 opline->opcode = op; in zend_do_post_incdec()
1216 SET_NODE(opline->op1, op1); in zend_do_post_incdec()
1217 SET_UNUSED(opline->op2); in zend_do_post_incdec()
1218 opline->result_type = IS_TMP_VAR; in zend_do_post_incdec()
1219 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_post_incdec()
1220 GET_NODE(result, opline->result); in zend_do_post_incdec()
1227 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_if_cond() local
1229 opline->opcode = ZEND_JMPZ; in zend_do_if_cond()
1230 SET_NODE(opline->op1, cond); in zend_do_if_cond()
1232 SET_UNUSED(opline->op2); in zend_do_if_cond()
1240 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_if_after_statement() local
1243 opline->opcode = ZEND_JMP; in zend_do_if_after_statement()
1255 SET_UNUSED(opline->op1); in zend_do_if_after_statement()
1256 SET_UNUSED(opline->op2); in zend_do_if_after_statement()
1302 zend_op *opline = NULL; in zend_do_end_variable_parse() local
1341 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_variable_parse()
1342 memcpy(opline, opline_ptr, sizeof(zend_op)); in zend_do_end_variable_parse()
1347 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_variable_parse()
1348 memcpy(opline, opline_ptr, sizeof(zend_op)); in zend_do_end_variable_parse()
1349 if (opline->op1_type == IS_VAR && in zend_do_end_variable_parse()
1350 opline->op1.var == this_var) { in zend_do_end_variable_parse()
1351 opline->op1_type = IS_CV; in zend_do_end_variable_parse()
1352 opline->op1.var = CG(active_op_array)->this_var; in zend_do_end_variable_parse()
1356 if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2_type == IS_UNUSED) { in zend_do_end_variable_parse()
1359 opline->opcode -= 3; in zend_do_end_variable_parse()
1364 opline->opcode += 3; in zend_do_end_variable_parse()
1367 if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2_type == IS_UNUSED) { in zend_do_end_variable_parse()
1370 opline->opcode += 6; /* 3+3 */ in zend_do_end_variable_parse()
1373 opline->opcode += 9; /* 3+3+3 */ in zend_do_end_variable_parse()
1374 opline->extended_value |= arg_offset; in zend_do_end_variable_parse()
1377 if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2_type == IS_UNUSED) { in zend_do_end_variable_parse()
1380 opline->opcode += 12; /* 3+3+3+3 */ in zend_do_end_variable_parse()
1385 if (opline && type == BP_VAR_W && arg_offset) { in zend_do_end_variable_parse()
1386 opline->extended_value |= ZEND_FETCH_MAKE_REF; in zend_do_end_variable_parse()
1396 zend_op *opline; in zend_do_add_string() local
1399 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_add_string()
1400 opline->opcode = ZEND_ADD_STRING; in zend_do_add_string()
1407 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_add_string()
1408 opline->opcode = ZEND_ADD_CHAR; in zend_do_add_string()
1415 SET_NODE(opline->op1, op1); in zend_do_add_string()
1416 SET_NODE(opline->result, op1); in zend_do_add_string()
1418 SET_UNUSED(opline->op1); in zend_do_add_string()
1419 opline->result_type = IS_TMP_VAR; in zend_do_add_string()
1420 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_add_string()
1422 SET_NODE(opline->op2, op2); in zend_do_add_string()
1423 GET_NODE(result, opline->result); in zend_do_add_string()
1429 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_add_variable() local
1431 opline->opcode = ZEND_ADD_VAR; in zend_do_add_variable()
1434 SET_NODE(opline->op1, op1); in zend_do_add_variable()
1435 SET_NODE(opline->result, op1); in zend_do_add_variable()
1437 SET_UNUSED(opline->op1); in zend_do_add_variable()
1438 opline->result_type = IS_TMP_VAR; in zend_do_add_variable()
1439 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_add_variable()
1441 SET_NODE(opline->op2, op2); in zend_do_add_variable()
1442 GET_NODE(result, opline->result); in zend_do_add_variable()
1449 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_free() local
1451 opline->opcode = ZEND_FREE; in zend_do_free()
1452 SET_NODE(opline->op1, op1); in zend_do_free()
1453 SET_UNUSED(opline->op2); in zend_do_free()
1455 zend_op *opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_free() local
1457 …while (opline->opcode == ZEND_END_SILENCE || opline->opcode == ZEND_EXT_FCALL_END || opline->opcod… in zend_do_free()
1458 opline--; in zend_do_free()
1460 if (opline->result_type == IS_VAR in zend_do_free()
1461 && opline->result.var == op1->u.op.var) { in zend_do_free()
1462 if (opline->opcode == ZEND_FETCH_R || in zend_do_free()
1463 opline->opcode == ZEND_FETCH_DIM_R || in zend_do_free()
1464 opline->opcode == ZEND_FETCH_OBJ_R || in zend_do_free()
1465 opline->opcode == ZEND_QM_ASSIGN_VAR) { in zend_do_free()
1469 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_free()
1470 opline->opcode = ZEND_FREE; in zend_do_free()
1471 SET_NODE(opline->op1, op1); in zend_do_free()
1472 SET_UNUSED(opline->op2); in zend_do_free()
1474 opline->result_type |= EXT_TYPE_UNUSED; in zend_do_free()
1477 while (opline>CG(active_op_array)->opcodes) { in zend_do_free()
1478 if (opline->opcode == ZEND_FETCH_DIM_R in zend_do_free()
1479 && opline->op1_type == IS_VAR in zend_do_free()
1480 && opline->op1.var == op1->u.op.var) { in zend_do_free()
1484 opline->extended_value = ZEND_FETCH_STANDARD; in zend_do_free()
1486 } else if (opline->result_type==IS_VAR in zend_do_free()
1487 && opline->result.var == op1->u.op.var) { in zend_do_free()
1488 if (opline->opcode == ZEND_NEW) { in zend_do_free()
1489 opline->result_type |= EXT_TYPE_UNUSED; in zend_do_free()
1493 opline--; in zend_do_free()
1697 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_function_declaration() local
1714 opline->opcode = ZEND_DECLARE_FUNCTION; in zend_do_begin_function_declaration()
1715 opline->op1_type = IS_CONST; in zend_do_begin_function_declaration()
1717 opline->op1.constant = zend_add_literal(CG(active_op_array), &key TSRMLS_CC); in zend_do_begin_function_declaration()
1718 …Z_HASH_P(&CONSTANT(opline->op1.constant)) = zend_hash_func(Z_STRVAL(CONSTANT(opline->op1.constant)… in zend_do_begin_function_declaration()
1719 opline->op2_type = IS_CONST; in zend_do_begin_function_declaration()
1720 LITERAL_STRINGL(opline->op2, lcname, name_len, 0); in zend_do_begin_function_declaration()
1721 CALCULATE_LITERAL_HASH(opline->op2.constant); in zend_do_begin_function_declaration()
1722 opline->extended_value = ZEND_DECLARE_FUNCTION; in zend_do_begin_function_declaration()
1723 …ate(CG(function_table), Z_STRVAL(key), Z_STRLEN(key), Z_HASH_P(&CONSTANT(opline->op1.constant)), &… in zend_do_begin_function_declaration()
1729 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_function_declaration() local
1731 opline->opcode = ZEND_EXT_NOP; in zend_do_begin_function_declaration()
1732 opline->lineno = function_begin_line; in zend_do_begin_function_declaration()
1733 SET_UNUSED(opline->op1); in zend_do_begin_function_declaration()
1734 SET_UNUSED(opline->op2); in zend_do_begin_function_declaration()
1795 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_handle_exception() local
1797 opline->opcode = ZEND_HANDLE_EXCEPTION; in zend_do_handle_exception()
1798 SET_UNUSED(opline->op1); in zend_do_handle_exception()
1799 SET_UNUSED(opline->op2); in zend_do_handle_exception()
1839 zend_op *opline; in zend_do_receive_arg() local
1870 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_receive_arg()
1872 opline->opcode = op; in zend_do_receive_arg()
1873 SET_NODE(opline->result, &var); in zend_do_receive_arg()
1874 SET_NODE(opline->op1, offset); in zend_do_receive_arg()
1876 SET_NODE(opline->op2, initialization); in zend_do_receive_arg()
1879 SET_UNUSED(opline->op2); in zend_do_receive_arg()
1916 zend_resolve_class_name(class_type, opline->extended_value, 1 TSRMLS_CC); in zend_do_receive_arg()
2009 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_method_call() local
2010 opline->opcode = ZEND_INIT_FCALL_BY_NAME; in zend_do_begin_method_call()
2011 opline->result.num = CG(context).nested_calls; in zend_do_begin_method_call()
2012 SET_UNUSED(opline->op1); in zend_do_begin_method_call()
2014 opline->op2_type = IS_CONST; in zend_do_begin_method_call()
2015opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), &left_bracket->u.constant T… in zend_do_begin_method_call()
2016 GET_CACHE_SLOT(opline->op2.constant); in zend_do_begin_method_call()
2018 SET_NODE(opline->op2, left_bracket); in zend_do_begin_method_call()
2032 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_clone() local
2034 opline->opcode = ZEND_CLONE; in zend_do_clone()
2035 SET_NODE(opline->op1, expr); in zend_do_clone()
2036 SET_UNUSED(opline->op2); in zend_do_clone()
2037 opline->result_type = IS_VAR; in zend_do_clone()
2038 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_clone()
2039 GET_NODE(result, opline->result); in zend_do_clone()
2046 zend_op *opline; in zend_do_begin_dynamic_function_call() local
2048 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_dynamic_function_call()
2052 opline->opcode = ZEND_INIT_NS_FCALL_BY_NAME; in zend_do_begin_dynamic_function_call()
2053 opline->result.num = CG(context).nested_calls; in zend_do_begin_dynamic_function_call()
2054 SET_UNUSED(opline->op1); in zend_do_begin_dynamic_function_call()
2055 opline->op2_type = IS_CONST; in zend_do_begin_dynamic_function_call()
2056opline->op2.constant = zend_add_ns_func_name_literal(CG(active_op_array), &function_name->u.consta… in zend_do_begin_dynamic_function_call()
2057 GET_CACHE_SLOT(opline->op2.constant); in zend_do_begin_dynamic_function_call()
2059 opline->opcode = ZEND_INIT_FCALL_BY_NAME; in zend_do_begin_dynamic_function_call()
2060 opline->result.num = CG(context).nested_calls; in zend_do_begin_dynamic_function_call()
2061 SET_UNUSED(opline->op1); in zend_do_begin_dynamic_function_call()
2063 opline->op2_type = IS_CONST; in zend_do_begin_dynamic_function_call()
2064opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), &function_name->u.constant … in zend_do_begin_dynamic_function_call()
2065 GET_CACHE_SLOT(opline->op2.constant); in zend_do_begin_dynamic_function_call()
2067 SET_NODE(opline->op2, function_name); in zend_do_begin_dynamic_function_call()
2260 zend_op *opline; in zend_do_fetch_class() local
2272 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_fetch_class()
2274 opline->opcode = ZEND_FETCH_CLASS; in zend_do_fetch_class()
2275 SET_UNUSED(opline->op1); in zend_do_fetch_class()
2276 opline->extended_value = ZEND_FETCH_CLASS_GLOBAL; in zend_do_fetch_class()
2286 SET_UNUSED(opline->op2); in zend_do_fetch_class()
2287 opline->extended_value = fetch_type; in zend_do_fetch_class()
2291 zend_resolve_class_name(class_name, opline->extended_value, 0 TSRMLS_CC); in zend_do_fetch_class()
2292 opline->op2_type = IS_CONST; in zend_do_fetch_class()
2293 opline->op2.constant = in zend_do_fetch_class()
2298 SET_NODE(opline->op2, class_name); in zend_do_fetch_class()
2300 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_class()
2301opline->result_type = IS_VAR; /* FIXME: Hack so that INIT_FCALL_BY_NAME still knows this is a clas… in zend_do_fetch_class()
2302 GET_NODE(result, opline->result); in zend_do_fetch_class()
2303 result->EA = opline->extended_value; in zend_do_fetch_class()
2328 void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2 TSRMLS_DC) /* {{{ … in zend_resolve_goto_label() argument
2335 label = opline->op2.zv; in zend_resolve_goto_label()
2337 label = &CONSTANT_EX(op_array, opline->op2.constant); in zend_resolve_goto_label()
2345 CG(zend_lineno) = opline->lineno; in zend_resolve_goto_label()
2354 opline->op1.opline_num = dest->opline_num; in zend_resolve_goto_label()
2359 current = opline->extended_value; in zend_resolve_goto_label()
2365 CG(zend_lineno) = opline->lineno; in zend_resolve_goto_label()
2374 opline->opcode = ZEND_JMP; in zend_resolve_goto_label()
2375 opline->extended_value = 0; in zend_resolve_goto_label()
2376 SET_UNUSED(opline->op2); in zend_resolve_goto_label()
2390 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_goto() local
2392 opline->opcode = ZEND_GOTO; in zend_do_goto()
2393 opline->extended_value = CG(context).current_brk_cont; in zend_do_goto()
2394 SET_UNUSED(opline->op1); in zend_do_goto()
2395 SET_NODE(opline->op2, label); in zend_do_goto()
2396 zend_resolve_goto_label(CG(active_op_array), opline, 0 TSRMLS_CC); in zend_do_goto()
2449 zend_op *opline; in zend_do_begin_class_member_function_call() local
2469 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_class_member_function_call()
2472 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_class_member_function_call()
2473 opline->extended_value = class_node.EA ; in zend_do_begin_class_member_function_call()
2475 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_do_begin_class_member_function_call()
2476 opline->result.num = CG(context).nested_calls; in zend_do_begin_class_member_function_call()
2478 opline->op1_type = IS_CONST; in zend_do_begin_class_member_function_call()
2479 opline->op1.constant = in zend_do_begin_class_member_function_call()
2482 SET_NODE(opline->op1, &class_node); in zend_do_begin_class_member_function_call()
2485 opline->op2_type = IS_CONST; in zend_do_begin_class_member_function_call()
2486 opline->op2.constant = in zend_do_begin_class_member_function_call()
2488 if (opline->op1_type == IS_CONST) { in zend_do_begin_class_member_function_call()
2489 GET_CACHE_SLOT(opline->op2.constant); in zend_do_begin_class_member_function_call()
2491 GET_POLYMORPHIC_CACHE_SLOT(opline->op2.constant); in zend_do_begin_class_member_function_call()
2494 SET_NODE(opline->op2, method_name); in zend_do_begin_class_member_function_call()
2508 zend_op *opline; in zend_do_end_function_call() local
2515 opline = &CG(active_op_array)->opcodes[Z_LVAL(function_name->u.constant)]; in zend_do_end_function_call()
2517 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_function_call()
2519 opline->opcode = ZEND_DO_FCALL; in zend_do_end_function_call()
2520 SET_NODE(opline->op1, function_name); in zend_do_end_function_call()
2521 SET_UNUSED(opline->op2); in zend_do_end_function_call()
2522 opline->op2.num = CG(context).nested_calls; in zend_do_end_function_call()
2523 CALCULATE_LITERAL_HASH(opline->op1.constant); in zend_do_end_function_call()
2524 GET_CACHE_SLOT(opline->op1.constant); in zend_do_end_function_call()
2526 opline->opcode = ZEND_DO_FCALL_BY_NAME; in zend_do_end_function_call()
2527 SET_UNUSED(opline->op1); in zend_do_end_function_call()
2528 SET_UNUSED(opline->op2); in zend_do_end_function_call()
2529 opline->op2.num = --CG(context).nested_calls; in zend_do_end_function_call()
2533 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_end_function_call()
2534 opline->result_type = IS_VAR; in zend_do_end_function_call()
2535 GET_NODE(result, opline->result); in zend_do_end_function_call()
2538 opline->extended_value = Z_LVAL(argument_list->u.constant); in zend_do_end_function_call()
2549 zend_op *opline; in zend_do_pass_param() local
2632 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_pass_param()
2636 opline->extended_value = ZEND_ARG_COMPILE_TIME_BOUND | send_by_reference | send_function; in zend_do_pass_param()
2638 opline->extended_value = send_function; in zend_do_pass_param()
2642 opline->extended_value = ZEND_DO_FCALL; in zend_do_pass_param()
2644 opline->extended_value = ZEND_DO_FCALL_BY_NAME; in zend_do_pass_param()
2647 opline->opcode = op; in zend_do_pass_param()
2648 SET_NODE(opline->op1, param); in zend_do_pass_param()
2649 opline->op2.opline_num = offset; in zend_do_pass_param()
2650 SET_UNUSED(opline->op2); in zend_do_pass_param()
2660 zend_op *opline; in generate_free_switch_expr() local
2666 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in generate_free_switch_expr()
2668 opline->opcode = (switch_entry->cond.op_type == IS_TMP_VAR) ? ZEND_FREE : ZEND_SWITCH_FREE; in generate_free_switch_expr()
2669 SET_NODE(opline->op1, &switch_entry->cond); in generate_free_switch_expr()
2670 SET_UNUSED(opline->op2); in generate_free_switch_expr()
2678 zend_op *opline; in generate_free_foreach_copy() local
2685 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in generate_free_foreach_copy()
2687 opline->opcode = (foreach_copy->result_type == IS_TMP_VAR) ? ZEND_FREE : ZEND_SWITCH_FREE; in generate_free_foreach_copy()
2688 COPY_NODE(opline->op1, foreach_copy->result); in generate_free_foreach_copy()
2689 SET_UNUSED(opline->op2); in generate_free_foreach_copy()
2697 zend_op *opline; in zend_do_return() local
2728 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_return()
2729 opline->opcode = ZEND_DISCARD_EXCEPTION; in zend_do_return()
2730 SET_UNUSED(opline->op1); in zend_do_return()
2731 SET_UNUSED(opline->op2); in zend_do_return()
2734 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_return()
2736 opline->opcode = returns_reference ? ZEND_RETURN_BY_REF : ZEND_RETURN; in zend_do_return()
2739 SET_NODE(opline->op1, expr); in zend_do_return()
2742 opline->extended_value = ZEND_RETURNS_FUNCTION; in zend_do_return()
2745 opline->op1_type = IS_CONST; in zend_do_return()
2746 LITERAL_NULL(opline->op1); in zend_do_return()
2749 SET_UNUSED(opline->op2); in zend_do_return()
2755 zend_op *opline; in zend_do_yield() local
2771 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_yield()
2773 opline->opcode = ZEND_YIELD; in zend_do_yield()
2776 SET_NODE(opline->op1, value); in zend_do_yield()
2779 opline->extended_value = ZEND_RETURNS_FUNCTION; in zend_do_yield()
2782 SET_UNUSED(opline->op1); in zend_do_yield()
2786 SET_NODE(opline->op2, key); in zend_do_yield()
2788 SET_UNUSED(opline->op2); in zend_do_yield()
2791 opline->result_type = IS_VAR; in zend_do_yield()
2792 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_yield()
2793 GET_NODE(result, opline->result); in zend_do_yield()
2825 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_initialize_try_catch_element() local
2829 opline->opcode = ZEND_JMP; in zend_initialize_try_catch_element()
2830 SET_UNUSED(opline->op1); in zend_initialize_try_catch_element()
2831 SET_UNUSED(opline->op2); in zend_initialize_try_catch_element()
2867 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_finally() local
2871 opline->opcode = ZEND_FAST_CALL; in zend_do_finally()
2872 SET_UNUSED(opline->op1); in zend_do_finally()
2873 opline->op1.opline_num = finally_token->u.op.opline_num + 1; in zend_do_finally()
2874 SET_UNUSED(opline->op2); in zend_do_finally()
2878 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_finally()
2879 opline->opcode = ZEND_JMP; in zend_do_finally()
2880 SET_UNUSED(opline->op1); in zend_do_finally()
2881 SET_UNUSED(opline->op2); in zend_do_finally()
2890 zend_op *opline; in zend_do_begin_catch() local
2906 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_catch()
2907 opline->opcode = ZEND_CATCH; in zend_do_begin_catch()
2908 opline->op1_type = IS_CONST; in zend_do_begin_catch()
2909opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), &catch_class.u.constant TS… in zend_do_begin_catch()
2910 opline->op2_type = IS_CV; in zend_do_begin_catch()
2911opline->op2.var = lookup_cv(CG(active_op_array), catch_var->u.constant.value.str.val, catch_var->u… in zend_do_begin_catch()
2912 Z_STRVAL(catch_var->u.constant) = (char*)CG(active_op_array)->vars[opline->op2.var].name; in zend_do_begin_catch()
2913 opline->result.num = 0; /* 1 means it's the last catch in the block */ in zend_do_begin_catch()
2922 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_catch() local
2925 opline->opcode = ZEND_JMP; in zend_do_end_catch()
2926 SET_UNUSED(opline->op1); in zend_do_end_catch()
2927 SET_UNUSED(opline->op2); in zend_do_end_catch()
2950 zend_op *opline; in zend_do_end_finally() local
2956 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_finally()
2957 opline->opcode = ZEND_FAST_RET; in zend_do_end_finally()
2958 SET_UNUSED(opline->op1); in zend_do_end_finally()
2959 SET_UNUSED(opline->op2); in zend_do_end_finally()
2970 zend_op *opline; in zend_do_throw() local
2972 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_throw()
2973 opline->opcode = ZEND_THROW; in zend_do_throw()
2974 SET_NODE(opline->op1, expr); in zend_do_throw()
2975 SET_UNUSED(opline->op2); in zend_do_throw()
4448 ZEND_API int do_bind_function(const zend_op_array *op_array, zend_op *opline, HashTable *function_t… in do_bind_function() argument
4454 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_function()
4455 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_function()
4457 op1 = opline->op1.zv; in do_bind_function()
4458 op2 = opline->op2.zv; in do_bind_function()
4550 ZEND_API zend_class_entry *do_bind_class(const zend_op_array* op_array, const zend_op *opline, Hash… in do_bind_class() argument
4556 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_class()
4557 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_class()
4559 op1 = opline->op1.zv; in do_bind_class()
4560 op2 = opline->op2.zv; in do_bind_class()
4589 …y *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_… in do_bind_inherited_class() argument
4596 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_inherited_class()
4597 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_inherited_class()
4599 op1 = opline->op1.zv; in do_bind_inherited_class()
4600 op2 = opline->op2.zv; in do_bind_inherited_class()
4639 zend_op *opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_early_binding() local
4642 while (opline->opcode == ZEND_TICKS && opline > CG(active_op_array)->opcodes) { in zend_do_early_binding()
4643 opline--; in zend_do_early_binding()
4646 switch (opline->opcode) { in zend_do_early_binding()
4648 if (do_bind_function(CG(active_op_array), opline, CG(function_table), 1) == FAILURE) { in zend_do_early_binding()
4654 if (do_bind_class(CG(active_op_array), opline, CG(class_table), 1 TSRMLS_CC) == NULL) { in zend_do_early_binding()
4661 zend_op *fetch_class_opline = opline-1; in zend_do_early_binding()
4675 *opline_num = opline - CG(active_op_array)->opcodes; in zend_do_early_binding()
4676 opline->opcode = ZEND_DECLARE_INHERITED_CLASS_DELAYED; in zend_do_early_binding()
4677 opline->result_type = IS_UNUSED; in zend_do_early_binding()
4678 opline->result.opline_num = -1; in zend_do_early_binding()
4682 …if (do_bind_inherited_class(CG(active_op_array), opline, CG(class_table), *pce, 1 TSRMLS_CC) == NU… in zend_do_early_binding()
4704 …k_del(table, Z_STRVAL(CONSTANT(opline->op1.constant)), Z_STRLEN(CONSTANT(opline->op1.constant)), Z… in zend_do_early_binding()
4705 zend_del_literal(CG(active_op_array), opline->op1.constant); in zend_do_early_binding()
4706 zend_del_literal(CG(active_op_array), opline->op2.constant); in zend_do_early_binding()
4707 MAKE_NOP(opline); in zend_do_early_binding()
4733 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_boolean_or_begin() local
4735 opline->opcode = ZEND_JMPNZ_EX; in zend_do_boolean_or_begin()
4737 SET_NODE(opline->result, expr1); in zend_do_boolean_or_begin()
4739 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_boolean_or_begin()
4740 opline->result_type = IS_TMP_VAR; in zend_do_boolean_or_begin()
4742 SET_NODE(opline->op1, expr1); in zend_do_boolean_or_begin()
4743 SET_UNUSED(opline->op2); in zend_do_boolean_or_begin()
4747 GET_NODE(expr1, opline->result); in zend_do_boolean_or_begin()
4753 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_boolean_or_end() local
4756 opline->opcode = ZEND_BOOL; in zend_do_boolean_or_end()
4757 SET_NODE(opline->result, result); in zend_do_boolean_or_end()
4758 SET_NODE(opline->op1, expr2); in zend_do_boolean_or_end()
4759 SET_UNUSED(opline->op2); in zend_do_boolean_or_end()
4768 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_boolean_and_begin() local
4770 opline->opcode = ZEND_JMPZ_EX; in zend_do_boolean_and_begin()
4772 SET_NODE(opline->result, expr1); in zend_do_boolean_and_begin()
4774 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_boolean_and_begin()
4775 opline->result_type = IS_TMP_VAR; in zend_do_boolean_and_begin()
4777 SET_NODE(opline->op1, expr1); in zend_do_boolean_and_begin()
4778 SET_UNUSED(opline->op2); in zend_do_boolean_and_begin()
4782 GET_NODE(expr1, opline->result); in zend_do_boolean_and_begin()
4788 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_boolean_and_end() local
4791 opline->opcode = ZEND_BOOL; in zend_do_boolean_and_end()
4792 SET_NODE(opline->result, result); in zend_do_boolean_and_end()
4793 SET_NODE(opline->op1, expr2); in zend_do_boolean_and_end()
4794 SET_UNUSED(opline->op2); in zend_do_boolean_and_end()
4809 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_do_while_end() local
4811 opline->opcode = ZEND_JMPNZ; in zend_do_do_while_end()
4812 SET_NODE(opline->op1, expr); in zend_do_do_while_end()
4813 opline->op2.opline_num = do_token->u.op.opline_num; in zend_do_do_while_end()
4814 SET_UNUSED(opline->op2); in zend_do_do_while_end()
4824 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_brk_cont() local
4826 opline->opcode = op; in zend_do_brk_cont()
4827 opline->op1.opline_num = CG(context).current_brk_cont; in zend_do_brk_cont()
4828 SET_UNUSED(opline->op1); in zend_do_brk_cont()
4835 SET_NODE(opline->op2, expr); in zend_do_brk_cont()
4837 LITERAL_LONG(opline->op2, 1); in zend_do_brk_cont()
4838 opline->op2_type = IS_CONST; in zend_do_brk_cont()
4860 zend_op *opline; in zend_do_switch_end() local
4867 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_switch_end()
4868 opline->opcode = ZEND_JMP; in zend_do_switch_end()
4869 SET_UNUSED(opline->op1); in zend_do_switch_end()
4870 SET_UNUSED(opline->op2); in zend_do_switch_end()
4871 opline->op1.opline_num = switch_entry_ptr->default_case; in zend_do_switch_end()
4886 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_switch_end()
4887 opline->opcode = (switch_entry_ptr->cond.op_type == IS_TMP_VAR) ? ZEND_FREE : ZEND_SWITCH_FREE; in zend_do_switch_end()
4888 SET_NODE(opline->op1, &switch_entry_ptr->cond); in zend_do_switch_end()
4889 SET_UNUSED(opline->op2); in zend_do_switch_end()
4903 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_case_before_statement() local
4913 opline->opcode = ZEND_CASE; in zend_do_case_before_statement()
4914 opline->result.var = switch_entry_ptr->control_var; in zend_do_case_before_statement()
4915 opline->result_type = IS_TMP_VAR; in zend_do_case_before_statement()
4916 SET_NODE(opline->op1, &switch_entry_ptr->cond); in zend_do_case_before_statement()
4917 SET_NODE(opline->op2, case_expr); in zend_do_case_before_statement()
4918 if (opline->op1_type == IS_CONST) { in zend_do_case_before_statement()
4919 zval_copy_ctor(&CONSTANT(opline->op1.constant)); in zend_do_case_before_statement()
4921 GET_NODE(&result, opline->result); in zend_do_case_before_statement()
4924 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_case_before_statement()
4925 opline->opcode = ZEND_JMPZ; in zend_do_case_before_statement()
4926 SET_NODE(opline->op1, &result); in zend_do_case_before_statement()
4927 SET_UNUSED(opline->op2); in zend_do_case_before_statement()
4941 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_case_after_statement() local
4943 opline->opcode = ZEND_JMP; in zend_do_case_after_statement()
4944 SET_UNUSED(opline->op1); in zend_do_case_after_statement()
4945 SET_UNUSED(opline->op2); in zend_do_case_after_statement()
4962 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_default_before_statement() local
4967 opline->opcode = ZEND_JMP; in zend_do_default_before_statement()
4968 SET_UNUSED(opline->op1); in zend_do_default_before_statement()
4969 SET_UNUSED(opline->op2); in zend_do_default_before_statement()
4984 zend_op *opline; in zend_do_begin_class_declaration() local
5059 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_class_declaration()
5060 opline->op1_type = IS_CONST; in zend_do_begin_class_declaration()
5062 opline->op1.constant = zend_add_literal(CG(active_op_array), &key TSRMLS_CC); in zend_do_begin_class_declaration()
5063 …Z_HASH_P(&CONSTANT(opline->op1.constant)) = zend_hash_func(Z_STRVAL(CONSTANT(opline->op1.constant)… in zend_do_begin_class_declaration()
5065 opline->op2_type = IS_CONST; in zend_do_begin_class_declaration()
5073 opline->extended_value = parent_class_name->u.op.var; in zend_do_begin_class_declaration()
5074 opline->opcode = ZEND_DECLARE_INHERITED_CLASS; in zend_do_begin_class_declaration()
5076 opline->opcode = ZEND_DECLARE_CLASS; in zend_do_begin_class_declaration()
5079 LITERAL_STRINGL(opline->op2, lcname, new_class_entry->name_length, 0); in zend_do_begin_class_declaration()
5080 CALCULATE_LITERAL_HASH(opline->op2.constant); in zend_do_begin_class_declaration()
5082 …zend_hash_quick_update(CG(class_table), Z_STRVAL(key), Z_STRLEN(key), Z_HASH_P(&CONSTANT(opline->o… in zend_do_begin_class_declaration()
5085 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_begin_class_declaration()
5086 opline->result_type = IS_VAR; in zend_do_begin_class_declaration()
5087 GET_NODE(&CG(implementing_class), opline->result); in zend_do_begin_class_declaration()
5100 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in do_verify_abstract_class() local
5102 opline->opcode = ZEND_VERIFY_ABSTRACT_CLASS; in do_verify_abstract_class()
5103 SET_NODE(opline->op1, &CG(implementing_class)); in do_verify_abstract_class()
5104 SET_UNUSED(opline->op2); in do_verify_abstract_class()
5137 zend_op *opline; in zend_do_end_class_declaration() local
5144 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_class_declaration()
5145 opline->opcode = ZEND_BIND_TRAITS; in zend_do_end_class_declaration()
5146 SET_NODE(opline->op1, &CG(implementing_class)); in zend_do_end_class_declaration()
5172 zend_op *opline; in zend_do_implements_interface() local
5191 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_implements_interface()
5192 opline->opcode = ZEND_ADD_INTERFACE; in zend_do_implements_interface()
5193 SET_NODE(opline->op1, &CG(implementing_class)); in zend_do_implements_interface()
5194 zend_resolve_class_name(interface_name, opline->extended_value, 0 TSRMLS_CC); in zend_do_implements_interface()
5195opline->extended_value = (opline->extended_value & ~ZEND_FETCH_CLASS_MASK) | ZEND_FETCH_CLASS_INTE… in zend_do_implements_interface()
5196 opline->op2_type = IS_CONST; in zend_do_implements_interface()
5197opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), &interface_name->u.constan… in zend_do_implements_interface()
5204 zend_op *opline; in zend_do_use_trait() local
5223 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_use_trait()
5224 opline->opcode = ZEND_ADD_TRAIT; in zend_do_use_trait()
5225 SET_NODE(opline->op1, &CG(implementing_class)); in zend_do_use_trait()
5226 zend_resolve_class_name(trait_name, opline->extended_value, 0 TSRMLS_CC); in zend_do_use_trait()
5227 opline->extended_value = ZEND_FETCH_CLASS_TRAIT; in zend_do_use_trait()
5228 opline->op2_type = IS_CONST; in zend_do_use_trait()
5229opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), &trait_name->u.constant TS… in zend_do_use_trait()
5383 zend_op opline; in zend_do_fetch_property() local
5431 init_op(&opline TSRMLS_CC); in zend_do_fetch_property()
5432 opline.opcode = ZEND_SEPARATE; in zend_do_fetch_property()
5433 SET_NODE(opline.op1, object); in zend_do_fetch_property()
5434 SET_UNUSED(opline.op2); in zend_do_fetch_property()
5435 opline.result_type = IS_VAR; in zend_do_fetch_property()
5436 opline.result.var = opline.op1.var; in zend_do_fetch_property()
5437 zend_llist_add_element(fetch_list_ptr, &opline); in zend_do_fetch_property()
5440 init_op(&opline TSRMLS_CC); in zend_do_fetch_property()
5441 opline.opcode = ZEND_FETCH_OBJ_W; /* the backpatching routine assumes W */ in zend_do_fetch_property()
5442 opline.result_type = IS_VAR; in zend_do_fetch_property()
5443 opline.result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_property()
5444 SET_NODE(opline.op1, object); in zend_do_fetch_property()
5445 SET_NODE(opline.op2, property); in zend_do_fetch_property()
5446 if (opline.op2_type == IS_CONST && Z_TYPE(CONSTANT(opline.op2.constant)) == IS_STRING) { in zend_do_fetch_property()
5447 CALCULATE_LITERAL_HASH(opline.op2.constant); in zend_do_fetch_property()
5448 GET_POLYMORPHIC_CACHE_SLOT(opline.op2.constant); in zend_do_fetch_property()
5450 GET_NODE(result, opline.result); in zend_do_fetch_property()
5452 zend_llist_add_element(fetch_list_ptr, &opline); in zend_do_fetch_property()
5498 zend_op *opline; in zend_do_begin_new_object() local
5502 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_new_object()
5503 opline->opcode = ZEND_NEW; in zend_do_begin_new_object()
5504 opline->extended_value = CG(context).nested_calls; in zend_do_begin_new_object()
5505 opline->result_type = IS_VAR; in zend_do_begin_new_object()
5506 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_begin_new_object()
5507 SET_NODE(opline->op1, class_type); in zend_do_begin_new_object()
5508 SET_UNUSED(opline->op2); in zend_do_begin_new_object()
5591 zend_op *opline; in zend_do_fetch_constant() local
5619 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_fetch_constant()
5620 opline->opcode = ZEND_FETCH_CONSTANT; in zend_do_fetch_constant()
5621 opline->result_type = IS_TMP_VAR; in zend_do_fetch_constant()
5622 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_constant()
5624 opline->op1_type = IS_CONST; in zend_do_fetch_constant()
5625opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), &constant_container->u.con… in zend_do_fetch_constant()
5627 SET_NODE(opline->op1, constant_container); in zend_do_fetch_constant()
5629 SET_NODE(opline->op2, constant_name); in zend_do_fetch_constant()
5630 CALCULATE_LITERAL_HASH(opline->op2.constant); in zend_do_fetch_constant()
5631 if (opline->op1_type == IS_CONST) { in zend_do_fetch_constant()
5632 GET_CACHE_SLOT(opline->op2.constant); in zend_do_fetch_constant()
5634 GET_POLYMORPHIC_CACHE_SLOT(opline->op2.constant); in zend_do_fetch_constant()
5636 GET_NODE(result, opline->result); in zend_do_fetch_constant()
5670 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_fetch_constant()
5671 opline->opcode = ZEND_FETCH_CONSTANT; in zend_do_fetch_constant()
5672 opline->result_type = IS_TMP_VAR; in zend_do_fetch_constant()
5673 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_constant()
5674 GET_NODE(result, opline->result); in zend_do_fetch_constant()
5675 SET_UNUSED(opline->op1); in zend_do_fetch_constant()
5676 opline->op2_type = IS_CONST; in zend_do_fetch_constant()
5679 opline->extended_value = 0; in zend_do_fetch_constant()
5680opline->op2.constant = zend_add_const_name_literal(CG(active_op_array), &constant_name->u.constant… in zend_do_fetch_constant()
5682 opline->extended_value = IS_CONSTANT_UNQUALIFIED; in zend_do_fetch_constant()
5684 opline->extended_value |= IS_CONSTANT_IN_NAMESPACE; in zend_do_fetch_constant()
5685opline->op2.constant = zend_add_const_name_literal(CG(active_op_array), &constant_name->u.constant… in zend_do_fetch_constant()
5687opline->op2.constant = zend_add_const_name_literal(CG(active_op_array), &constant_name->u.constant… in zend_do_fetch_constant()
5690 GET_CACHE_SLOT(opline->op2.constant); in zend_do_fetch_constant()
5698 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_shell_exec() local
5703 opline->opcode = ZEND_SEND_VAL; in zend_do_shell_exec()
5706 opline->opcode = ZEND_SEND_VAR; in zend_do_shell_exec()
5709 SET_NODE(opline->op1, cmd); in zend_do_shell_exec()
5710 opline->op2.opline_num = 1; in zend_do_shell_exec()
5711 opline->extended_value = ZEND_DO_FCALL; in zend_do_shell_exec()
5712 SET_UNUSED(opline->op2); in zend_do_shell_exec()
5715 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_shell_exec()
5716 opline->opcode = ZEND_DO_FCALL; in zend_do_shell_exec()
5717 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_shell_exec()
5718 opline->result_type = IS_VAR; in zend_do_shell_exec()
5719 …LITERAL_STRINGL(opline->op1, estrndup("shell_exec", sizeof("shell_exec")-1), sizeof("shell_exec")-… in zend_do_shell_exec()
5720 CALCULATE_LITERAL_HASH(opline->op1.constant); in zend_do_shell_exec()
5721 opline->op1_type = IS_CONST; in zend_do_shell_exec()
5722 GET_CACHE_SLOT(opline->op1.constant); in zend_do_shell_exec()
5723 opline->extended_value = 1; in zend_do_shell_exec()
5724 SET_UNUSED(opline->op2); in zend_do_shell_exec()
5725 opline->op2.num = CG(context).nested_calls; in zend_do_shell_exec()
5726 GET_NODE(result, opline->result); in zend_do_shell_exec()
5739 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_init_array() local
5741 opline->opcode = ZEND_INIT_ARRAY; in zend_do_init_array()
5742 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_init_array()
5743 opline->result_type = IS_TMP_VAR; in zend_do_init_array()
5744 GET_NODE(result, opline->result); in zend_do_init_array()
5746 SET_NODE(opline->op1, expr); in zend_do_init_array()
5748 SET_NODE(opline->op2, offset); in zend_do_init_array()
5749 if (opline->op2_type == IS_CONST && Z_TYPE(CONSTANT(opline->op2.constant)) == IS_STRING) { in zend_do_init_array()
5753 …ZEND_HANDLE_NUMERIC_EX(Z_STRVAL(CONSTANT(opline->op2.constant)), Z_STRLEN(CONSTANT(opline->op2.con… in zend_do_init_array()
5755 zval_dtor(&CONSTANT(opline->op2.constant)); in zend_do_init_array()
5756 ZVAL_LONG(&CONSTANT(opline->op2.constant), index); in zend_do_init_array()
5758 CALCULATE_LITERAL_HASH(opline->op2.constant); in zend_do_init_array()
5762 SET_UNUSED(opline->op2); in zend_do_init_array()
5765 SET_UNUSED(opline->op1); in zend_do_init_array()
5766 SET_UNUSED(opline->op2); in zend_do_init_array()
5768 opline->extended_value = is_ref; in zend_do_init_array()
5774 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_add_array_element() local
5776 opline->opcode = ZEND_ADD_ARRAY_ELEMENT; in zend_do_add_array_element()
5777 SET_NODE(opline->result, result); in zend_do_add_array_element()
5778 SET_NODE(opline->op1, expr); in zend_do_add_array_element()
5780 SET_NODE(opline->op2, offset); in zend_do_add_array_element()
5781 if (opline->op2_type == IS_CONST && Z_TYPE(CONSTANT(opline->op2.constant)) == IS_STRING) { in zend_do_add_array_element()
5785 …ZEND_HANDLE_NUMERIC_EX(Z_STRVAL(CONSTANT(opline->op2.constant)), Z_STRLEN(CONSTANT(opline->op2.con… in zend_do_add_array_element()
5787 zval_dtor(&CONSTANT(opline->op2.constant)); in zend_do_add_array_element()
5788 ZVAL_LONG(&CONSTANT(opline->op2.constant), index); in zend_do_add_array_element()
5790 CALCULATE_LITERAL_HASH(opline->op2.constant); in zend_do_add_array_element()
5794 SET_UNUSED(opline->op2); in zend_do_add_array_element()
5796 opline->extended_value = is_ref; in zend_do_add_array_element()
5884 zend_op *opline; in zend_do_list_end() local
5892 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_list_end()
5898 opline->opcode = ZEND_FETCH_DIM_R; in zend_do_list_end()
5901 opline->opcode = ZEND_FETCH_DIM_TMP_VAR; in zend_do_list_end()
5905 opline->opcode = ZEND_FETCH_DIM_TMP_VAR; in zend_do_list_end()
5908 opline->extended_value |= ZEND_FETCH_ADD_LOCK; in zend_do_list_end()
5910 opline->opcode = ZEND_FETCH_DIM_R; in zend_do_list_end()
5912 opline->result_type = IS_VAR; in zend_do_list_end()
5913 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_list_end()
5914 SET_NODE(opline->op1, &last_container); in zend_do_list_end()
5915 opline->op2_type = IS_CONST; in zend_do_list_end()
5916 LITERAL_LONG(opline->op2, *((int *) dimension->data)); in zend_do_list_end()
5917 GET_NODE(&last_container, opline->result); in zend_do_list_end()
5977 zend_op *opline; in zend_do_fetch_static_variable() local
6003 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_fetch_static_variable()
6004opline->opcode = (fetch_type == ZEND_FETCH_LEXICAL) ? ZEND_FETCH_R : ZEND_FETCH_W; /* the default… in zend_do_fetch_static_variable()
6005 opline->result_type = IS_VAR; in zend_do_fetch_static_variable()
6006 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_static_variable()
6007 SET_NODE(opline->op1, varname); in zend_do_fetch_static_variable()
6008 if (opline->op1_type == IS_CONST) { in zend_do_fetch_static_variable()
6009 CALCULATE_LITERAL_HASH(opline->op1.constant); in zend_do_fetch_static_variable()
6011 SET_UNUSED(opline->op2); in zend_do_fetch_static_variable()
6012 opline->extended_value = ZEND_FETCH_STATIC; in zend_do_fetch_static_variable()
6013 GET_NODE(&result, opline->result); in zend_do_fetch_static_variable()
6055 zend_op *opline; in zend_do_fetch_global_variable() local
6065 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_fetch_global_variable()
6066opline->opcode = ZEND_FETCH_W; /* the default mode must be Write, since fetch_simple_variable() i… in zend_do_fetch_global_variable()
6067 opline->result_type = IS_VAR; in zend_do_fetch_global_variable()
6068 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_fetch_global_variable()
6069 SET_NODE(opline->op1, varname); in zend_do_fetch_global_variable()
6070 if (opline->op1_type == IS_CONST) { in zend_do_fetch_global_variable()
6071 CALCULATE_LITERAL_HASH(opline->op1.constant); in zend_do_fetch_global_variable()
6073 SET_UNUSED(opline->op2); in zend_do_fetch_global_variable()
6074 opline->extended_value = fetch_type; in zend_do_fetch_global_variable()
6075 GET_NODE(&result, opline->result); in zend_do_fetch_global_variable()
6089 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_cast() local
6091 opline->opcode = ZEND_CAST; in zend_do_cast()
6092 opline->result_type = IS_TMP_VAR; in zend_do_cast()
6093 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_cast()
6094 SET_NODE(opline->op1, expr); in zend_do_cast()
6095 SET_UNUSED(opline->op2); in zend_do_cast()
6096 opline->extended_value = type; in zend_do_cast()
6097 GET_NODE(result, opline->result); in zend_do_cast()
6105 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_include_or_eval() local
6107 opline->opcode = ZEND_INCLUDE_OR_EVAL; in zend_do_include_or_eval()
6108 opline->result_type = IS_VAR; in zend_do_include_or_eval()
6109 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_include_or_eval()
6110 SET_NODE(opline->op1, op1); in zend_do_include_or_eval()
6111 SET_UNUSED(opline->op2); in zend_do_include_or_eval()
6112 opline->extended_value = type; in zend_do_include_or_eval()
6113 GET_NODE(result, opline->result); in zend_do_include_or_eval()
6144 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_unset() local
6145 opline->opcode = ZEND_UNSET_VAR; in zend_do_unset()
6146 SET_NODE(opline->op1, variable); in zend_do_unset()
6147 SET_UNUSED(opline->op2); in zend_do_unset()
6148 SET_UNUSED(opline->result); in zend_do_unset()
6149 opline->extended_value = ZEND_FETCH_LOCAL | ZEND_QUICK_SET; in zend_do_unset()
6221 zend_op *opline; in zend_do_instanceof() local
6224 opline = &CG(active_op_array)->opcodes[last_op_number-1]; in zend_do_instanceof()
6225 if (opline->opcode == ZEND_FETCH_CLASS) { in zend_do_instanceof()
6226 opline->extended_value |= ZEND_FETCH_CLASS_NO_AUTOLOAD; in zend_do_instanceof()
6234 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_instanceof()
6235 opline->opcode = ZEND_INSTANCEOF; in zend_do_instanceof()
6236 opline->result_type = IS_TMP_VAR; in zend_do_instanceof()
6237 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_instanceof()
6238 SET_NODE(opline->op1, expr); in zend_do_instanceof()
6240 SET_NODE(opline->op2, class_znode); in zend_do_instanceof()
6242 GET_NODE(result, opline->result); in zend_do_instanceof()
6248 zend_op *opline; in zend_do_foreach_begin() local
6263 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_foreach_begin()
6264 opline->opcode = ZEND_SEPARATE; in zend_do_foreach_begin()
6265 SET_NODE(opline->op1, array); in zend_do_foreach_begin()
6266 SET_UNUSED(opline->op2); in zend_do_foreach_begin()
6267 opline->result_type = IS_VAR; in zend_do_foreach_begin()
6268 opline->result.var = opline->op1.var; in zend_do_foreach_begin()
6278 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_foreach_begin()
6281 opline->opcode = ZEND_FE_RESET; in zend_do_foreach_begin()
6282 opline->result_type = IS_VAR; in zend_do_foreach_begin()
6283 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_foreach_begin()
6284 SET_NODE(opline->op1, array); in zend_do_foreach_begin()
6285 SET_UNUSED(opline->op2); in zend_do_foreach_begin()
6286 opline->extended_value = is_variable ? ZEND_FE_RESET_VARIABLE : 0; in zend_do_foreach_begin()
6288 COPY_NODE(dummy_opline.result, opline->result); in zend_do_foreach_begin()
6294 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_foreach_begin()
6295 opline->opcode = ZEND_FE_FETCH; in zend_do_foreach_begin()
6296 opline->result_type = IS_VAR; in zend_do_foreach_begin()
6297 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_foreach_begin()
6298 COPY_NODE(opline->op1, dummy_opline.result); in zend_do_foreach_begin()
6299 opline->extended_value = 0; in zend_do_foreach_begin()
6300 SET_UNUSED(opline->op2); in zend_do_foreach_begin()
6302 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_foreach_begin()
6303 opline->opcode = ZEND_OP_DATA; in zend_do_foreach_begin()
6304 SET_UNUSED(opline->op1); in zend_do_foreach_begin()
6305 SET_UNUSED(opline->op2); in zend_do_foreach_begin()
6306 SET_UNUSED(opline->result); in zend_do_foreach_begin()
6312 zend_op *opline; in zend_do_foreach_cont() local
6316 opline = &CG(active_op_array)->opcodes[as_token->u.op.opline_num]; in zend_do_foreach_cont()
6326 opline->extended_value |= ZEND_FE_FETCH_WITH_KEY; in zend_do_foreach_cont()
6342 opline->extended_value |= ZEND_FE_FETCH_BYREF; in zend_do_foreach_cont()
6363 GET_NODE(&value_node, opline->result); in zend_do_foreach_cont()
6385 opline = &CG(active_op_array)->opcodes[as_token->u.op.opline_num+1]; in zend_do_foreach_cont()
6386 opline->result_type = IS_TMP_VAR; in zend_do_foreach_cont()
6387 opline->result.opline_num = get_temporary_variable(CG(active_op_array)); in zend_do_foreach_cont()
6388 GET_NODE(&key_node, opline->result); in zend_do_foreach_cont()
6402 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_foreach_end() local
6404 opline->opcode = ZEND_JMP; in zend_do_foreach_end()
6405 opline->op1.opline_num = as_token->u.op.opline_num; in zend_do_foreach_end()
6406 SET_UNUSED(opline->op1); in zend_do_foreach_end()
6407 SET_UNUSED(opline->op2); in zend_do_foreach_end()
6505 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_exit() local
6507 opline->opcode = ZEND_EXIT; in zend_do_exit()
6508 SET_NODE(opline->op1, message); in zend_do_exit()
6509 SET_UNUSED(opline->op2); in zend_do_exit()
6519 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_silence() local
6521 opline->opcode = ZEND_BEGIN_SILENCE; in zend_do_begin_silence()
6522 opline->result_type = IS_TMP_VAR; in zend_do_begin_silence()
6523 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_begin_silence()
6524 SET_UNUSED(opline->op1); in zend_do_begin_silence()
6525 SET_UNUSED(opline->op2); in zend_do_begin_silence()
6526 GET_NODE(strudel_token, opline->result); in zend_do_begin_silence()
6532 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_end_silence() local
6534 opline->opcode = ZEND_END_SILENCE; in zend_do_end_silence()
6535 SET_NODE(opline->op1, strudel_token); in zend_do_end_silence()
6536 SET_UNUSED(opline->op2); in zend_do_end_silence()
6543 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_jmp_set() local
6546 opline->opcode = ZEND_JMP_SET_VAR; in zend_do_jmp_set()
6547 opline->result_type = IS_VAR; in zend_do_jmp_set()
6549 opline->opcode = ZEND_JMP_SET; in zend_do_jmp_set()
6550 opline->result_type = IS_TMP_VAR; in zend_do_jmp_set()
6552 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_jmp_set()
6553 SET_NODE(opline->op1, value); in zend_do_jmp_set()
6554 SET_UNUSED(opline->op2); in zend_do_jmp_set()
6556 GET_NODE(colon_token, opline->result); in zend_do_jmp_set()
6566 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_jmp_set_else() local
6568 SET_NODE(opline->result, colon_token); in zend_do_jmp_set_else()
6573 opline->opcode = ZEND_QM_ASSIGN_VAR; in zend_do_jmp_set_else()
6574 opline->result_type = IS_VAR; in zend_do_jmp_set_else()
6576 opline->opcode = ZEND_QM_ASSIGN; in zend_do_jmp_set_else()
6579 opline->opcode = ZEND_QM_ASSIGN_VAR; in zend_do_jmp_set_else()
6581 opline->extended_value = 0; in zend_do_jmp_set_else()
6582 SET_NODE(opline->op1, false_value); in zend_do_jmp_set_else()
6583 SET_UNUSED(opline->op2); in zend_do_jmp_set_else()
6585 GET_NODE(result, opline->result); in zend_do_jmp_set_else()
6596 zend_op *opline; in zend_do_begin_qm_op() local
6598 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_begin_qm_op()
6600 opline->opcode = ZEND_JMPZ; in zend_do_begin_qm_op()
6601 SET_NODE(opline->op1, cond); in zend_do_begin_qm_op()
6602 SET_UNUSED(opline->op2); in zend_do_begin_qm_op()
6603 opline->op2.opline_num = jmpz_op_number; in zend_do_begin_qm_op()
6604 GET_NODE(qm_token, opline->op2); in zend_do_begin_qm_op()
6612 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_qm_true() local
6617 opline->opcode = ZEND_QM_ASSIGN_VAR; in zend_do_qm_true()
6618 opline->result_type = IS_VAR; in zend_do_qm_true()
6620 opline->opcode = ZEND_QM_ASSIGN; in zend_do_qm_true()
6621 opline->result_type = IS_TMP_VAR; in zend_do_qm_true()
6623 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_do_qm_true()
6624 SET_NODE(opline->op1, true_value); in zend_do_qm_true()
6625 SET_UNUSED(opline->op2); in zend_do_qm_true()
6627 GET_NODE(qm_token, opline->result); in zend_do_qm_true()
6630 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_qm_true()
6631 opline->opcode = ZEND_JMP; in zend_do_qm_true()
6632 SET_UNUSED(opline->op1); in zend_do_qm_true()
6633 SET_UNUSED(opline->op2); in zend_do_qm_true()
6639 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_qm_false() local
6641 SET_NODE(opline->result, qm_token); in zend_do_qm_false()
6646 opline->opcode = ZEND_QM_ASSIGN_VAR; in zend_do_qm_false()
6647 opline->result_type = IS_VAR; in zend_do_qm_false()
6649 opline->opcode = ZEND_QM_ASSIGN; in zend_do_qm_false()
6652 opline->opcode = ZEND_QM_ASSIGN_VAR; in zend_do_qm_false()
6654 SET_NODE(opline->op1, false_value); in zend_do_qm_false()
6655 SET_UNUSED(opline->op2); in zend_do_qm_false()
6659 GET_NODE(result, opline->result); in zend_do_qm_false()
6667 zend_op *opline; in zend_do_extended_info() local
6673 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_extended_info()
6675 opline->opcode = ZEND_EXT_STMT; in zend_do_extended_info()
6676 SET_UNUSED(opline->op1); in zend_do_extended_info()
6677 SET_UNUSED(opline->op2); in zend_do_extended_info()
6683 zend_op *opline; in zend_do_extended_fcall_begin() local
6689 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_extended_fcall_begin()
6691 opline->opcode = ZEND_EXT_FCALL_BEGIN; in zend_do_extended_fcall_begin()
6692 SET_UNUSED(opline->op1); in zend_do_extended_fcall_begin()
6693 SET_UNUSED(opline->op2); in zend_do_extended_fcall_begin()
6699 zend_op *opline; in zend_do_extended_fcall_end() local
6705 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_extended_fcall_end()
6707 opline->opcode = ZEND_EXT_FCALL_END; in zend_do_extended_fcall_end()
6708 SET_UNUSED(opline->op1); in zend_do_extended_fcall_end()
6709 SET_UNUSED(opline->op2); in zend_do_extended_fcall_end()
6715 zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_ticks() local
6717 opline->opcode = ZEND_TICKS; in zend_do_ticks()
6718 SET_UNUSED(opline->op1); in zend_do_ticks()
6719 SET_UNUSED(opline->op2); in zend_do_ticks()
6720 opline->extended_value = Z_LVAL(CG(declarables).ticks); in zend_do_ticks()
7105 zend_op *opline; in zend_do_declare_constant() local
7126 opline = get_next_op(CG(active_op_array) TSRMLS_CC); in zend_do_declare_constant()
7127 opline->opcode = ZEND_DECLARE_CONST; in zend_do_declare_constant()
7128 SET_UNUSED(opline->result); in zend_do_declare_constant()
7129 SET_NODE(opline->op1, name); in zend_do_declare_constant()
7130 SET_NODE(opline->op2, value); in zend_do_declare_constant()