Lines Matching refs:opline

32 #define ZEND_OP2_IS_CONST_STRING(opline) \  argument
33 (ZEND_OP2_TYPE(opline) == IS_CONST && \
34 Z_TYPE(op_array->literals[(opline)->op2.constant]) == IS_STRING)
38 zend_op *opline; member
43 zend_op *opline = op_array->opcodes; in optimize_func_calls() local
44 zend_op *end = opline + op_array->last; in optimize_func_calls()
55 while (opline < end) { in optimize_func_calls()
56 switch (opline->opcode) { in optimize_func_calls()
59 if (ZEND_OP2_IS_CONST_STRING(opline)) { in optimize_func_calls()
61 zval *function_name = &op_array->literals[opline->op2.constant + 1]; in optimize_func_calls()
74 call_stack[call].opline = opline; in optimize_func_calls()
82 if (call_stack[call].func && call_stack[call].opline) { in optimize_func_calls()
83 zend_op *fcall = call_stack[call].opline; in optimize_func_calls()
91 opline->opcode = zend_get_call_op(ZEND_INIT_FCALL, call_stack[call].func); in optimize_func_calls()
99 opline->opcode = zend_get_call_op(ZEND_INIT_FCALL, call_stack[call].func); in optimize_func_calls()
105 call_stack[call].opline = NULL; in optimize_func_calls()
111 …if (ARG_SHOULD_BE_SENT_BY_REF(call_stack[call - 1].func, (opline->extended_value & ZEND_FETCH_ARG_… in optimize_func_calls()
112 opline->extended_value &= ZEND_FETCH_TYPE_MASK; in optimize_func_calls()
113 opline->opcode -= 9; in optimize_func_calls()
115 if (opline->opcode == ZEND_FETCH_DIM_FUNC_ARG in optimize_func_calls()
116 && opline->op2_type == IS_UNUSED) { in optimize_func_calls()
122 opline->extended_value &= ZEND_FETCH_TYPE_MASK; in optimize_func_calls()
123 opline->opcode -= 12; in optimize_func_calls()
129 if (ARG_MUST_BE_SENT_BY_REF(call_stack[call - 1].func, opline->op2.num)) { in optimize_func_calls()
131 call_stack[call - 1].opline = NULL; in optimize_func_calls()
133 opline->opcode = ZEND_SEND_VAL; in optimize_func_calls()
139 if (ARG_SHOULD_BE_SENT_BY_REF(call_stack[call - 1].func, opline->op2.num)) { in optimize_func_calls()
140 opline->opcode = ZEND_SEND_REF; in optimize_func_calls()
142 opline->opcode = ZEND_SEND_VAR; in optimize_func_calls()
147 if (!(opline->extended_value & ZEND_ARG_COMPILE_TIME_BOUND) && call_stack[call - 1].func) { in optimize_func_calls()
148 if (ARG_SHOULD_BE_SENT_BY_REF(call_stack[call - 1].func, opline->op2.num)) { in optimize_func_calls()
149 opline->extended_value |= ZEND_ARG_COMPILE_TIME_BOUND | ZEND_ARG_SEND_BY_REF; in optimize_func_calls()
151 opline->opcode = ZEND_SEND_VAR; in optimize_func_calls()
152 opline->extended_value = 0; in optimize_func_calls()
158 if (opline->extended_value != ZEND_ARG_COMPILE_TIME_BOUND && call_stack[call - 1].func) { in optimize_func_calls()
160 call_stack[call - 1].opline = NULL; in optimize_func_calls()
166 call_stack[call - 1].opline = NULL; in optimize_func_calls()
171 opline++; in optimize_func_calls()