Lines Matching refs:opline

69 # define OP_ADDR(opline, type, op) \  argument
70 (((opline)->type == IS_CONST) ? \
71 ZEND_ADDR_CONST_ZVAL((opline)->op.zv) : \
72 ZEND_ADDR_MEM_ZVAL(ZREG_FP, (opline)->op.var))
74 # define OP_ADDR(opline, type, op) \ argument
75 (((opline)->type == IS_CONST) ? \
76 ZEND_ADDR_CONST_ZVAL(RT_CONSTANT(opline, (opline)->op)) : \
77 ZEND_ADDR_MEM_ZVAL(ZREG_FP, (opline)->op.var))
80 #define OP_REG_ADDR(opline, ssa_op, type, op, _ssa_op) \ argument
83 OP_ADDR(opline, type, op))
86 OP_ADDR(opline, op1_type, op1)
88 OP_ADDR(opline, op2_type, op2)
90 OP_ADDR(opline, result_type, result)
92 OP_ADDR(opline + 1, op1_type, op1)
95 OP_REG_ADDR(opline, ssa_op, op1_type, op1, op1_use)
97 OP_REG_ADDR(opline, ssa_op, op2_type, op2, op2_use)
99 OP_REG_ADDR(opline, ssa_op, result_type, result, result_def)
101 OP_REG_ADDR(opline + 1, ssa_op + 1, op1_type, op1, op1_use)
104 OP_REG_ADDR(opline, ssa_op, op1_type, op1, op1_def)
106 OP_REG_ADDR(opline, ssa_op, op2_type, op2, op2_def)
108 OP_REG_ADDR(opline, ssa_op, result_type, result, result_use)
110 OP_REG_ADDR(opline + 1, ssa_op + 1, op1_type, op1, op1_def)
160 void ZEND_FASTCALL zend_jit_hot_func(zend_execute_data *execute_data, const zend_op *opline);
202 # define OPLINE_D const zend_op* opline
203 # define OPLINE_C opline
243 #define zend_jit_opline_hash(opline) \ argument
244 zend_jit_hash(opline)
344 #define ZEND_OP_TRACE_INFO(opline, offset) \ argument
345 ((zend_op_trace_info*)(((char*)opline) + offset))
415 const zend_op *opline; member
423 const zend_op *opline; /* opline where VM should continue execution */ member
527 const zend_op *opline; /* first opline */ member
651 int ZEND_FASTCALL zend_jit_trace_hot_root(zend_execute_data *execute_data, const zend_op *opline);
653 const zend_op *opline,
659 …zend_jit_trace_get_exit_opline(zend_jit_trace_rec *trace, const zend_op *opline, bool *exit_if_tru… in zend_jit_trace_get_exit_opline() argument
662 if (trace->opline == opline + 1) { in zend_jit_trace_get_exit_opline()
664 *exit_if_true = opline->opcode == ZEND_JMPNZ; in zend_jit_trace_get_exit_opline()
665 return OP_JMP_ADDR(opline, opline->op2); in zend_jit_trace_get_exit_opline()
666 } else if (trace->opline == OP_JMP_ADDR(opline, opline->op2)) { in zend_jit_trace_get_exit_opline()
668 *exit_if_true = opline->opcode == ZEND_JMPZ; in zend_jit_trace_get_exit_opline()
669 return opline + 1; in zend_jit_trace_get_exit_opline()
700 static zend_always_inline bool zend_jit_may_be_polymorphic_call(const zend_op *opline) in zend_jit_may_be_polymorphic_call() argument
702 if (opline->opcode == ZEND_INIT_FCALL in zend_jit_may_be_polymorphic_call()
703 || opline->opcode == ZEND_INIT_FCALL_BY_NAME in zend_jit_may_be_polymorphic_call()
704 || opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME in zend_jit_may_be_polymorphic_call()
705 || opline->opcode == ZEND_INIT_PARENT_PROPERTY_HOOK_CALL) { in zend_jit_may_be_polymorphic_call()
707 } else if (opline->opcode == ZEND_INIT_METHOD_CALL in zend_jit_may_be_polymorphic_call()
708 || opline->opcode == ZEND_INIT_DYNAMIC_CALL) { in zend_jit_may_be_polymorphic_call()
710 } else if (opline->opcode == ZEND_INIT_STATIC_METHOD_CALL) { in zend_jit_may_be_polymorphic_call()
711 return (opline->op1_type != IS_CONST || opline->op2_type != IS_CONST); in zend_jit_may_be_polymorphic_call()
712 } else if (opline->opcode == ZEND_INIT_USER_CALL) { in zend_jit_may_be_polymorphic_call()
713 return (opline->op2_type != IS_CONST); in zend_jit_may_be_polymorphic_call()
714 } else if (opline->opcode == ZEND_NEW) { in zend_jit_may_be_polymorphic_call()
715 return (opline->op1_type != IS_CONST); in zend_jit_may_be_polymorphic_call()