Lines Matching refs:op

328 static const void *zend_vm_get_opcode_handler(zend_uchar opcode, const zend_op* op);
332 static const void *zend_vm_get_opcode_handler_func(zend_uchar opcode, const zend_op* op);
338 # define VM_TRACE(op) argument
349 #define HYBRID_CASE(op) op ## _LABEL argument
6635 zval *op, *jump_zv; in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER() local
6638 op = RT_CONSTANT(opline, opline->op1); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
6641 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
6642 ZVAL_DEREF(op); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
6643 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
6649 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_SWITCH_LONG_SPEC_CONST_CONST_HANDLER()
6664 zval *op, *jump_zv; in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER() local
6667 op = RT_CONSTANT(opline, opline->op1); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
6670 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
6675 ZVAL_DEREF(op); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
6676 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
6683 jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), IS_CONST == IS_CONST); in ZEND_SWITCH_STRING_SPEC_CONST_CONST_HANDLER()
11815 zval *op, *jump_zv; in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER() local
11818 op = EX_VAR(opline->op1.var); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
11821 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
11822 ZVAL_DEREF(op); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
11823 if (Z_TYPE_P(op) != IS_LONG) { in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
11829 jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op)); in ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER()
11844 zval *op, *jump_zv; in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER() local
11847 op = EX_VAR(opline->op1.var); in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
11850 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
11855 ZVAL_DEREF(op); in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
11856 if (Z_TYPE_P(op) != IS_STRING) { in ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER()
11863 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()
61067 ZEND_API void ZEND_FASTCALL zend_serialize_opcode_handler(zend_op *op) argument
61074 zv = zend_hash_index_find(zend_handlers_table, (zend_long)(zend_uintptr_t)op->handler);
61076 op->handler = (const void *)(zend_uintptr_t)Z_LVAL_P(zv);
61079 ZEND_API void ZEND_FASTCALL zend_deserialize_opcode_handler(zend_op *op) argument
61081 op->handler = zend_opcode_handlers[(zend_uintptr_t)op->handler];
61084 ZEND_API const void* ZEND_FASTCALL zend_get_opcode_handler_func(const zend_op *op) argument
61087 return op->handler;
61094 zv = zend_hash_index_find(zend_handlers_table, (zend_long)(zend_uintptr_t)op->handler);
61116 static const void* ZEND_FASTCALL zend_vm_get_opcode_handler_ex(uint32_t spec, const zend_op* op) argument
61130 if (spec & SPEC_RULE_OP1) offset = offset * 5 + zend_vm_decode[op->op1_type];
61131 if (spec & SPEC_RULE_OP2) offset = offset * 5 + zend_vm_decode[op->op2_type];
61134 offset = offset * 2 + (op->result_type != IS_UNUSED);
61136 offset = offset * 2 + (op->op2.num <= MAX_ARG_FLAG_NUM);
61138 offset = offset * 5 + zend_vm_decode[(op + 1)->op1_type];
61140 offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
61143 if ((op+1)->opcode == ZEND_JMPZ) {
61145 } else if ((op+1)->opcode == ZEND_JMPNZ) {
61154 static const void *zend_vm_get_opcode_handler(zend_uchar opcode, const zend_op* op) argument
61156 return zend_vm_get_opcode_handler_ex(zend_spec_handlers[opcode], op);
61161 static const void *zend_vm_get_opcode_handler_func(zend_uchar opcode, const zend_op* op) argument
61176 if (spec & SPEC_RULE_OP1) offset = offset * 5 + zend_vm_decode[op->op1_type];
61177 if (spec & SPEC_RULE_OP2) offset = offset * 5 + zend_vm_decode[op->op2_type];
61179 if (spec & SPEC_RULE_OP_DATA) offset = offset * 5 + zend_vm_decode[(op + 1)->op1_type];
61180 else if (spec & SPEC_RULE_RETVAL) offset = offset * 2 + (op->result_type != IS_UNUSED);
61181 else if (spec & SPEC_RULE_QUICK_ARG) offset = offset * 2 + (op->op2.num <= MAX_ARG_FLAG_NUM);
61184 if ((op+1)->opcode == ZEND_JMPZ) {
61186 } else if ((op+1)->opcode == ZEND_JMPNZ) {
61190 else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
61197 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler(zend_op* op) argument
61199 zend_uchar opcode = zend_user_opcodes[op->opcode];
61201 if (zend_spec_handlers[op->opcode] & SPEC_RULE_COMMUTATIVE) {
61202 if (op->op1_type < op->op2_type) {
61203 zend_swap_operands(op);
61206 op->handler = zend_vm_get_opcode_handler_ex(zend_spec_handlers[opcode], op);
61209 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint32_t … argument
61211 zend_uchar opcode = zend_user_opcodes[op->opcode];
61216 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61220 if (op->op1_type < op->op2_type) {
61221 zend_swap_operands(op);
61224 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61228 if (op->op1_type < op->op2_type) {
61229 zend_swap_operands(op);
61232 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61236 if (op->op1_type < op->op2_type) {
61237 zend_swap_operands(op);
61243 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61248 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61253 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61260 if (op->op1_type < op->op2_type) {
61261 zend_swap_operands(op);
61264 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61269 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61274 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61281 if (op->op1_type < op->op2_type) {
61282 zend_swap_operands(op);
61285 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61290 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61297 if (op->op1_type < op->op2_type) {
61298 zend_swap_operands(op);
61301 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61306 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61314 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61319 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61327 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61332 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61343 …} else if ((op->op1_type == IS_CONST) ? !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1)) : (!(op1_info & …
61376 if (OP_JMP_ADDR(op, op->op1) > op) {
61381 if (op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
61386 if (op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
61391 if (op->op2_type == IS_CV && (op1_info & (MAY_BE_UNDEF|MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) {
61397 if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
61404 …if (op->op2.num <= MAX_ARG_FLAG_NUM && op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op,…
61419 if (op->op1_type < op->op2_type) {
61420 zend_swap_operands(op);
61424 if (zend_spec_handlers[op->opcode] & SPEC_RULE_COMMUTATIVE) {
61425 if (op->op1_type < op->op2_type) {
61426 zend_swap_operands(op);
61433 op->handler = zend_vm_get_opcode_handler_ex(spec, op);