Lines Matching refs:opline

492 	zend_op *opline = op_array->opcodes, *end=opline+op_array->last;  in zend_update_extended_info()  local
494 while (opline<end) { in zend_update_extended_info()
495 if (opline->opcode == ZEND_EXT_STMT) { in zend_update_extended_info()
496 if (opline+1<end) { in zend_update_extended_info()
497 if ((opline+1)->opcode == ZEND_EXT_STMT) { in zend_update_extended_info()
498 opline->opcode = ZEND_NOP; in zend_update_extended_info()
499 opline++; in zend_update_extended_info()
502 if (opline+1<end) { in zend_update_extended_info()
503 opline->lineno = (opline+1)->lineno; in zend_update_extended_info()
506 opline->opcode = ZEND_NOP; in zend_update_extended_info()
509 opline++; in zend_update_extended_info()
545 static uint32_t zend_get_brk_cont_target(const zend_op_array *op_array, const zend_op *opline) { in zend_get_brk_cont_target() argument
546 int nest_levels = opline->op2.num; in zend_get_brk_cont_target()
547 int array_offset = opline->op1.num; in zend_get_brk_cont_target()
556 return opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont; in zend_get_brk_cont_target()
561 zend_op *opline, *end; in pass_two() local
587 opline = op_array->opcodes; in pass_two()
588 end = opline + op_array->last; in pass_two()
589 while (opline < end) { in pass_two()
590 switch (opline->opcode) { in pass_two()
592 opline->op1.opline_num = op_array->try_catch_array[opline->op1.num].finally_op; in pass_two()
593 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
598 uint32_t jmp_target = zend_get_brk_cont_target(op_array, opline); in pass_two()
601 zend_check_finally_breakout(op_array, opline - op_array->opcodes, jmp_target); in pass_two()
603 opline->opcode = ZEND_JMP; in pass_two()
604 opline->op1.opline_num = jmp_target; in pass_two()
605 opline->op2.num = 0; in pass_two()
606 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
610 zend_resolve_goto_label(op_array, opline); in pass_two()
612 zend_check_finally_breakout(op_array, opline - op_array->opcodes, opline->op1.opline_num); in pass_two()
616 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
620 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
630 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2); in pass_two()
635 zend_op *call = &op_array->opcodes[opline->op2.opline_num - 1]; in pass_two()
640 opline->result_type = IS_UNUSED; in pass_two()
642 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2); in pass_two()
651 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
656 opline->opcode = ZEND_GENERATOR_RETURN; in pass_two()
663 HashTable *jumptable = Z_ARRVAL_P(CT_CONSTANT(opline->op2)); in pass_two()
666 Z_LVAL_P(zv) = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, Z_LVAL_P(zv)); in pass_two()
669 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
673 if (opline->op1_type == IS_CONST) { in pass_two()
674 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline->op1); in pass_two()
675 } else if (opline->op1_type & (IS_VAR|IS_TMP_VAR)) { in pass_two()
676opline->op1.var = (uint32_t)(zend_intptr_t)ZEND_CALL_VAR_NUM(NULL, op_array->last_var + opline->op… in pass_two()
678 if (opline->op2_type == IS_CONST) { in pass_two()
679 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline->op2); in pass_two()
680 } else if (opline->op2_type & (IS_VAR|IS_TMP_VAR)) { in pass_two()
681opline->op2.var = (uint32_t)(zend_intptr_t)ZEND_CALL_VAR_NUM(NULL, op_array->last_var + opline->op… in pass_two()
683 if (opline->result_type & (IS_VAR|IS_TMP_VAR)) { in pass_two()
684opline->result.var = (uint32_t)(zend_intptr_t)ZEND_CALL_VAR_NUM(NULL, op_array->last_var + opline-… in pass_two()
686 ZEND_VM_SET_OPCODE_HANDLER(opline); in pass_two()
687 opline++; in pass_two()