Lines Matching refs:op

329 static const void *zend_vm_get_opcode_handler(uint8_t opcode, const zend_op* op);
333 static const void *zend_vm_get_opcode_handler_func(uint8_t opcode, const zend_op* op);
339 # define VM_TRACE(op) argument
342 # define VM_TRACE_OP_END(op) argument
362 #define HYBRID_CASE(op) op ## _LABEL argument
5108 const zend_op *op = new_op_array->opcodes; in ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER() local
5110 ZVAL_COPY(EX_VAR(opline->result.var), RT_CONSTANT(op, op->op1)); in ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER()
5191 const zend_op *op = new_op_array->opcodes; in ZEND_INCLUDE_OR_EVAL_SPEC_OBSERVER_HANDLER() local
5193 ZVAL_COPY(EX_VAR(opline->result.var), RT_CONSTANT(op, op->op1)); in ZEND_INCLUDE_OR_EVAL_SPEC_OBSERVER_HANDLER()
7895 zval *op, *jump_zv; in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER() local
7898 op = RT_CONSTANT(opline, opline->op1); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
7900 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
7901 ZVAL_DEREF(op); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
7902 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
7909 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
7923 zval *op, *jump_zv; in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER() local
7926 op = RT_CONSTANT(opline, opline->op1); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
7928 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
7933 ZVAL_DEREF(op); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
7934 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
7942 jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), IS_CONST == IS_CONST); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
7956 zval *op, *jump_zv; in ZEND_MATCH_SPEC_CONST_CONST_HANDLER() local
7959 op = RT_CONSTANT(opline, opline->op1); in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7963 if (Z_TYPE_P(op) == IS_LONG) { in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7964 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7965 } else if (Z_TYPE_P(op) == IS_STRING) { in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7966 jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), IS_CONST == IS_CONST); in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7967 } else if (Z_TYPE_P(op) == IS_REFERENCE) { in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7968 op = Z_REFVAL_P(op); in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7971 if (UNEXPECTED((IS_CONST & IS_CV) && Z_TYPE_P(op) == IS_UNDEF)) { in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
7973 op = ZVAL_UNDEFINED_OP1(); in ZEND_MATCH_SPEC_CONST_CONST_HANDLER()
11025 zval *op; in ZEND_MATCH_ERROR_SPEC_CONST_UNUSED_HANDLER() local
11028 op = RT_CONSTANT(opline, opline->op1); in ZEND_MATCH_ERROR_SPEC_CONST_UNUSED_HANDLER()
11029 zend_match_unhandled_error(op); in ZEND_MATCH_ERROR_SPEC_CONST_UNUSED_HANDLER()
13124 zval *op, *jump_zv; in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER() local
13127 op = EX_VAR(opline->op1.var); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
13129 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
13130 ZVAL_DEREF(op); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
13131 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
13138 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
13152 zval *op, *jump_zv; in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER() local
13155 op = EX_VAR(opline->op1.var); in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
13157 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
13162 ZVAL_DEREF(op); in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
13163 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
13171 jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), (IS_TMP_VAR|IS_VAR|IS_CV) == IS_CONST); in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
13185 zval *op, *jump_zv; in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER() local
13188 op = EX_VAR(opline->op1.var); in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13192 if (Z_TYPE_P(op) == IS_LONG) { in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13193 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13194 } else if (Z_TYPE_P(op) == IS_STRING) { in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13195 jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), (IS_TMP_VAR|IS_VAR|IS_CV) == IS_CONST); in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13196 } else if (Z_TYPE_P(op) == IS_REFERENCE) { in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13197 op = Z_REFVAL_P(op); in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13200 if (UNEXPECTED(((IS_TMP_VAR|IS_VAR|IS_CV) & IS_CV) && Z_TYPE_P(op) == IS_UNDEF)) { in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
13202 op = ZVAL_UNDEFINED_OP1(); in ZEND_MATCH_SPEC_TMPVARCV_CONST_HANDLER()
14542 zval *op; in ZEND_MATCH_ERROR_SPEC_TMPVARCV_UNUSED_HANDLER() local
14545 op = EX_VAR(opline->op1.var); in ZEND_MATCH_ERROR_SPEC_TMPVARCV_UNUSED_HANDLER()
14546 zend_match_unhandled_error(op); in ZEND_MATCH_ERROR_SPEC_TMPVARCV_UNUSED_HANDLER()
14946 const zend_op *op = new_op_array->opcodes; in ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HANDLER() local
14948 ZVAL_COPY(EX_VAR(opline->result.var), RT_CONSTANT(op, op->op1)); in ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HANDLER()
15211 zval *op = _get_zval_ptr_var(opline->op1.var EXECUTE_DATA_CC); in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER() local
15212 if (UNEXPECTED(Z_TYPE_P(op) != IS_OBJECT)) { in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER()
15213 ZVAL_DEREF(op); in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER()
15214 if (Z_TYPE_P(op) != IS_OBJECT) { in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER()
15215 zend_type_error("Cannot use \"::class\" on %s", zend_zval_value_name(op)); in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER()
15222 ZVAL_STR_COPY(EX_VAR(opline->result.var), Z_OBJCE_P(op)->name); in ZEND_FETCH_CLASS_NAME_SPEC_TMPVAR_HANDLER()
32741 zval *op = NULL; in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER() local
32742 if (UNEXPECTED(Z_TYPE_P(op) != IS_OBJECT)) { in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER()
32743 ZVAL_DEREF(op); in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER()
32744 if (Z_TYPE_P(op) != IS_OBJECT) { in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER()
32745 zend_type_error("Cannot use \"::class\" on %s", zend_zval_value_name(op)); in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER()
32752 ZVAL_STR_COPY(EX_VAR(opline->result.var), Z_OBJCE_P(op)->name); in ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER()
39990 const zend_op *op = new_op_array->opcodes; in ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER() local
39992 ZVAL_COPY(EX_VAR(opline->result.var), RT_CONSTANT(op, op->op1)); in ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER()
40578 zval *op = _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC); in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER() local
40579 if (UNEXPECTED(Z_TYPE_P(op) != IS_OBJECT)) { in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER()
40580 ZVAL_DEREF(op); in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER()
40581 if (Z_TYPE_P(op) != IS_OBJECT) { in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER()
40582 zend_type_error("Cannot use \"::class\" on %s", zend_zval_value_name(op)); in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER()
40589 ZVAL_STR_COPY(EX_VAR(opline->result.var), Z_OBJCE_P(op)->name); in ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER()
66566 ZEND_API void ZEND_FASTCALL zend_serialize_opcode_handler(zend_op *op) argument
66573 zv = zend_hash_index_find(zend_handlers_table, (zend_long)(uintptr_t)op->handler);
66575 op->handler = (const void *)(uintptr_t)Z_LVAL_P(zv);
66578 ZEND_API void ZEND_FASTCALL zend_deserialize_opcode_handler(zend_op *op) argument
66580 op->handler = zend_opcode_handlers[(uintptr_t)op->handler];
66583 ZEND_API const void* ZEND_FASTCALL zend_get_opcode_handler_func(const zend_op *op) argument
66586 return op->handler;
66593 zv = zend_hash_index_find(zend_handlers_table, (zend_long)(uintptr_t)op->handler);
66615 static uint32_t ZEND_FASTCALL zend_vm_get_opcode_handler_idx(uint32_t spec, const zend_op* op) argument
66629 if (spec & SPEC_RULE_OP1) offset = offset * 5 + zend_vm_decode[op->op1_type];
66630 if (spec & SPEC_RULE_OP2) offset = offset * 5 + zend_vm_decode[op->op2_type];
66633 offset = offset * 2 + (op->result_type != IS_UNUSED);
66638 offset = offset * 2 + (op->op2.num <= MAX_ARG_FLAG_NUM);
66640 offset = offset * 5 + zend_vm_decode[(op + 1)->op1_type];
66642 offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
66645 if (op->result_type == (IS_SMART_BRANCH_JMPZ|IS_TMP_VAR)) {
66647 } else if (op->result_type == (IS_SMART_BRANCH_JMPNZ|IS_TMP_VAR)) {
66661 static const void *zend_vm_get_opcode_handler(uint8_t opcode, const zend_op* op) argument
66663 return zend_opcode_handlers[zend_vm_get_opcode_handler_idx(zend_spec_handlers[opcode], op)];
66668 static const void *zend_vm_get_opcode_handler_func(uint8_t opcode, const zend_op* op) argument
66671 return zend_opcode_handler_funcs[zend_vm_get_opcode_handler_idx(spec, op)];
66676 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler(zend_op* op) argument
66678 uint8_t opcode = zend_user_opcodes[op->opcode];
66680 if (zend_spec_handlers[op->opcode] & SPEC_RULE_COMMUTATIVE) {
66681 if (op->op1_type < op->op2_type) {
66682 zend_swap_operands(op);
66685 op->handler = zend_opcode_handlers[zend_vm_get_opcode_handler_idx(zend_spec_handlers[opcode], op)];
66688 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint32_t … argument
66690 uint8_t opcode = zend_user_opcodes[op->opcode];
66695 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66699 if (op->op1_type < op->op2_type) {
66700 zend_swap_operands(op);
66703 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66707 if (op->op1_type < op->op2_type) {
66708 zend_swap_operands(op);
66711 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66715 if (op->op1_type < op->op2_type) {
66716 zend_swap_operands(op);
66722 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66727 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66732 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66739 if (op->op1_type < op->op2_type) {
66740 zend_swap_operands(op);
66743 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66748 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66753 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66760 if (op->op1_type < op->op2_type) {
66761 zend_swap_operands(op);
66764 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66769 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66773 …} else if (op->op1_type == IS_CV && (op->op2_type & (IS_CONST|IS_CV)) && !(op1_info & (MAY_BE_UNDE…
66778 if (op->op1_type < op->op2_type) {
66779 zend_swap_operands(op);
66782 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66787 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66791 …} else if (op->op1_type == IS_CV && (op->op2_type & (IS_CONST|IS_CV)) && !(op1_info & (MAY_BE_UNDE…
66796 if (op->op1_type < op->op2_type) {
66797 zend_swap_operands(op);
66800 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66805 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66812 if (op->op1_type < op->op2_type) {
66813 zend_swap_operands(op);
66816 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66821 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66829 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66834 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66842 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66847 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66858 …} else if ((op->op1_type == IS_CONST) ? !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1)) : (!(op1_info & …
66891 if (OP_JMP_ADDR(op, op->op1) > op) {
66896 if (Z_EXTRA_P(RT_CONSTANT(op, op->op2)) != 0) {
66901 if (op->op2.num == MAY_BE_ANY) {
66906 …if (op->op1_type == IS_CONST && op->op2_type == IS_UNUSED && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->o…
66911 …if (op->op2_type == IS_UNUSED && op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_…
66916 if (op->op2_type == IS_CV && (op1_info & (MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) {
66922 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
66929 …if (op->op2_type == IS_UNUSED && op->op2.num <= MAX_ARG_FLAG_NUM && op->op1_type == IS_CONST && !Z…
66934 if (op->op2_type == IS_UNUSED && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
66947 if (op->op1_type < op->op2_type) {
66948 zend_swap_operands(op);
66952 if (zend_spec_handlers[op->opcode] & SPEC_RULE_COMMUTATIVE) {
66953 if (op->op1_type < op->op2_type) {
66954 zend_swap_operands(op);
66961 op->handler = zend_opcode_handlers[zend_vm_get_opcode_handler_idx(spec, op)];