Lines Matching refs:res_addr
968 |.macro ZVAL_COPY_CONST_2, dst_addr, res_addr, dst_info, dst_def_info, zv, tmp_reg
972 || Z_REG(dst_addr) : ((Z_MODE(res_addr) == IS_REG) ? Z_REG(res_addr) : ZREG_XMM0);
988 | DOUBLE_SET_ZVAL_DVAL res_addr, ZREG_XMM0
992 | DOUBLE_SET_ZVAL_DVAL res_addr, Z_REG(dst_addr)
993 || } else if (Z_MODE(res_addr) == IS_REG) {
994 | DOUBLE_GET_LONG Z_REG(res_addr), Z_LVAL_P(zv), ZREG_R0
995 | DOUBLE_SET_ZVAL_DVAL dst_addr, Z_REG(res_addr)
999 | DOUBLE_SET_ZVAL_DVAL res_addr, ZREG_XMM0
1001 || } else if (Z_LVAL_P(zv) == 0 && (Z_MODE(dst_addr) == IS_REG || Z_MODE(res_addr) == IS_REG)) {
1004 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(dst_addr))
1006 | xor Ra(Z_REG(res_addr)), Ra(Z_REG(res_addr))
1007 | SET_ZVAL_LVAL dst_addr, Ra(Z_REG(res_addr))
1014 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(dst_addr))
1015 || } else if (Z_MODE(res_addr) == IS_REG) {
1016 | mov64 Ra(Z_REG(res_addr)), ((uintptr_t)Z_LVAL_P(zv))
1017 | SET_ZVAL_LVAL dst_addr, Ra(Z_REG(res_addr))
1021 | SET_ZVAL_LVAL res_addr, Ra(tmp_reg)
1025 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(dst_addr))
1026 || } else if (Z_MODE(res_addr) == IS_REG) {
1027 | SET_ZVAL_LVAL res_addr, Z_LVAL_P(zv)
1028 | SET_ZVAL_LVAL dst_addr, Ra(Z_REG(res_addr))
1031 | SET_ZVAL_LVAL res_addr, Z_LVAL_P(zv)
1036 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(dst_addr))
1037 || } else if (Z_MODE(res_addr) == IS_REG) {
1038 | SET_ZVAL_LVAL res_addr, Z_LVAL_P(zv)
1039 | SET_ZVAL_LVAL dst_addr, Ra(Z_REG(res_addr))
1042 | SET_ZVAL_LVAL res_addr, Z_LVAL_P(zv)
1056 || if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
1058 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
1060 | SET_ZVAL_TYPE_INFO res_addr, Z_TYPE_INFO_P(zv)
1129 |.macro ZVAL_COPY_VALUE_2, dst_addr, dst_info, res_addr, src_addr, src_info, tmp_reg1, tmp_reg2
1136 || if (Z_MODE(res_addr) != IS_REG || Z_REG(res_addr) != Z_REG(src_addr)) {
1137 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(src_addr))
1141 || if (Z_MODE(res_addr) != IS_REG || Z_REG(res_addr) != Z_REG(dst_addr)) {
1142 | SET_ZVAL_LVAL res_addr, Ra(Z_REG(dst_addr))
1144 || } else if (Z_MODE(res_addr) == IS_REG) {
1145 | GET_ZVAL_LVAL Z_REG(res_addr), src_addr
1146 | SET_ZVAL_LVAL dst_addr, Ra(Z_REG(res_addr))
1150 | SET_ZVAL_LVAL res_addr, Ra(tmp_reg2)
1155 | DOUBLE_SET_ZVAL_DVAL res_addr, Z_REG(src_addr)
1158 | DOUBLE_SET_ZVAL_DVAL res_addr, Z_REG(dst_addr)
1159 || } else if (Z_MODE(res_addr) == IS_REG) {
1160 | DOUBLE_GET_ZVAL_DVAL Z_REG(res_addr), src_addr
1161 | DOUBLE_SET_ZVAL_DVAL dst_addr, Z_REG(res_addr)
1165 | DOUBLE_SET_ZVAL_DVAL res_addr, ZREG_XMM0
1170 | SET_ZVAL_PTR res_addr, Ra(tmp_reg2)
1175 | SET_ZVAL_PTR res_addr, Ra(tmp_reg2)
1180 | SET_ZVAL_W2 res_addr, Ra(tmp_reg2)
1183 | SET_ZVAL_PTR res_addr, Ra(tmp_reg2)
1188 | SET_ZVAL_PTR res_addr, Ra(tmp_reg2)
1190 | SET_ZVAL_W2 res_addr, Ra(tmp_reg1)
1203 || if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
1204 | SET_ZVAL_TYPE_INFO res_addr, type
1209 | SET_ZVAL_TYPE_INFO res_addr, Rd(tmp_reg1)
4130 …r op1_def_addr, uint32_t res_use_info, uint32_t res_info, zend_jit_addr res_addr, int may_overflow…
4136 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_addr, MAY_BE_LONG, ZREG_R0, ZREG_R1
4189 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_def_addr, MAY_BE_LONG, ZREG_R0, ZREG_R1
4200 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_def_addr, MAY_BE_LONG, ZREG_R0, ZREG_R1
4226 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_def_addr, MAY_BE_DOUBLE, ZREG_R0, ZREG_R1
4233 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_def_addr, MAY_BE_LONG, ZREG_R0, ZREG_R1
4259 | LOAD_ZVAL_ADDR FCARG2a, res_addr
4284 | ZVAL_COPY_VALUE res_addr, res_use_info, val_addr, op1_info, ZREG_R0, ZREG_R2
4289 | LOAD_ZVAL_ADDR FCARG2a, res_addr
4296 | LOAD_ZVAL_ADDR FCARG2a, res_addr
4309 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_addr, MAY_BE_DOUBLE, ZREG_R0, ZREG_R2
4335 | ZVAL_COPY_VALUE res_addr, res_use_info, op1_addr, op1_def_info, ZREG_R0, ZREG_R1
4347 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
4375 zend_jit_addr res_addr,
4385 if (Z_MODE(res_addr) == IS_REG && (res_info & MAY_BE_LONG)) {
4388 && zend_jit_opline_uses_reg(opline, Z_REG(res_addr))) {
4391 result_reg = Z_REG(res_addr);
4395 } else if (Z_REG(res_addr) != ZREG_R0) {
4499 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4519 if (Z_MODE(res_addr) == IS_REG && result_reg != Z_REG(res_addr)) {
4520 | mov Ra(Z_REG(res_addr)), Ra(result_reg)
4536 if (Z_MODE(res_addr) == IS_MEM_ZVAL && (res_info & MAY_BE_LONG)) {
4537 | SET_ZVAL_LVAL res_addr, Ra(result_reg)
4538 …_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_…
4540 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
4555 if ((sizeof(void*) == 8 || Z_MODE(res_addr) != IS_REG) &&
4561 if (Z_MODE(res_addr) == IS_REG) {
4562 | movd xmm(Z_REG(res_addr)-ZREG_XMM0), Ra(tmp_reg)
4564 | SET_ZVAL_LVAL res_addr, Ra(tmp_reg)
4567 | SET_ZVAL_LVAL res_addr, 0
4568 | SET_ZVAL_W2 res_addr, 0x41e00000
4574 if (Z_MODE(res_addr) == IS_REG) {
4575 | movd xmm(Z_REG(res_addr)-ZREG_XMM0), Ra(tmp_reg)
4577 | SET_ZVAL_LVAL res_addr, Ra(tmp_reg)
4580 | SET_ZVAL_LVAL res_addr, 0x00200000
4581 | SET_ZVAL_W2 res_addr, 0xc1e00000
4594 | DOUBLE_SET_ZVAL_DVAL res_addr, tmp_reg1
4597 if (Z_MODE(res_addr) == IS_MEM_ZVAL
4599 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
4615 zend_jit_addr res_addr,
4619 (Z_MODE(res_addr) == IS_REG) ? Z_REG(res_addr) : ZREG_XMM0;
4622 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4631 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4645 | DOUBLE_SET_ZVAL_DVAL res_addr, result_reg
4647 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
4649 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
4660 zend_jit_addr res_addr,
4665 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4673 …&& (Z_MODE(res_addr) != IS_REG || Z_MODE(op1_addr) != IS_REG || Z_REG(res_addr) != Z_REG(op1_addr)…
4674 if (Z_MODE(res_addr) == IS_REG) {
4675 result_reg = Z_REG(res_addr);
4680 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4697 if (Z_MODE(res_addr) == IS_REG) {
4698 result_reg = Z_REG(res_addr);
4736 | DOUBLE_SET_ZVAL_DVAL res_addr, result_reg
4738 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
4739 …_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_…
4741 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
4753 zend_jit_addr res_addr,
4759 if (Z_MODE(res_addr) == IS_REG) {
4760 result_reg = Z_REG(res_addr);
4787 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4808 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
4815 | DOUBLE_SET_ZVAL_DVAL res_addr, result_reg
4817 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
4818 …_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_…
4820 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
4840 zend_jit_addr res_addr,
4865 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4874 …if (!zend_jit_math_long_long(Dst, opline, opcode, op1_addr, op2_addr, res_addr, res_info, res_use_…
4891 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4901 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4923 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4935 if (!zend_jit_math_double_long(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4958 if (!zend_jit_math_double_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4970 if (!zend_jit_math_long_double(Dst, opcode, op1_addr, op2_addr, res_addr, res_use_info)) {
4991 if (Z_MODE(res_addr) == IS_REG) {
4994 } else if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
4995 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5014 if (Z_MODE(res_addr) == IS_REG) {
5017 } else if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5018 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5056 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RX) {
5062 if (Z_MODE(res_addr) == IS_REG) {
5064 if (!zend_jit_load_reg(Dst, real_addr, res_addr, res_info)) {
5079 …_addr op2_addr, uint32_t res_use_info, uint32_t res_info, zend_jit_addr res_addr, int may_overflow…
5085 … opline->op2_type, opline->op2, op2_addr, op2_info, opline->result.var, res_addr, res_info, res_us…
5088 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
5094 …p1_info, zend_jit_addr op1_addr, uint32_t op2_info, zend_jit_addr op2_addr, zend_jit_addr res_addr)
5108 | SET_ZVAL_PTR res_addr, r0
5109 | SET_ZVAL_TYPE_INFO res_addr, IS_ARRAY_EX
5129 zend_jit_addr res_addr,
5147 } else if (Z_MODE(res_addr) == IS_REG) {
5152 result_reg = Z_REG(res_addr);
5156 } else if (Z_REG(res_addr) != ZREG_R0) {
5269 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
5280 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RAX) {
5282 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RCX) {
5298 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RAX) {
5300 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RCX) {
5331 | SET_ZVAL_LVAL res_addr, 0
5332 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
5333 …_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_…
5335 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
5343 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RAX) {
5358 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RAX) {
5368 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_R0) {
5380 if (Z_MODE(res_addr) != IS_REG || Z_REG(res_addr) != result_reg) {
5381 | SET_ZVAL_LVAL res_addr, Ra(result_reg)
5383 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
5384 …_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_…
5386 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
5399 if (Z_MODE(res_addr) == IS_REG) {
5402 } else if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5403 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5422 if (Z_MODE(res_addr) == IS_REG) {
5425 } else if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5426 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5461 if (op1_addr == res_addr && (op2_info & MAY_BE_RCN)) {
5471 } else if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RX) {
5477 if (Z_MODE(res_addr) == IS_REG) {
5479 if (!zend_jit_load_reg(Dst, real_addr, res_addr, res_info)) {
5494 …jit_addr op2_addr, uint32_t res_use_info, uint32_t res_info, zend_jit_addr res_addr, int may_throw)
5502 opline->result.var, res_addr, res_info, res_use_info, may_throw)) {
5505 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
5521 zend_jit_addr res_addr,
5532 …_addr) == IS_MEM_ZVAL && Z_REG(op1_addr) == Z_REG(res_addr) && Z_OFFSET(op1_addr) == Z_OFFSET(res_…
5533 if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5534 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5541 if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5542 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5573 if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5574 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5579 if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
5580 | LOAD_ZVAL_ADDR FCARG1a, res_addr
5600 if (Z_MODE(res_addr) == IS_MEM_ZVAL && Z_REG(res_addr) == ZREG_RX) {
5617 …const zend_op *opline, uint32_t op1_info, uint32_t op2_info, zend_jit_addr res_addr, int may_throw)
5627 …->op1, op1_addr, op1_info, opline->op2_type, opline->op2, op2_addr, op2_info, res_addr, may_throw);
5634 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
5858 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
5992 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
6053 | LOAD_ZVAL_ADDR CARG3, res_addr
6056 | PUSH_ZVAL_ADDR res_addr, r0
6085 | LOAD_ZVAL_ADDR CARG3, res_addr
6088 | PUSH_ZVAL_ADDR res_addr, r0
6127 zend_jit_addr res_addr,
6145 if (!res_addr) {
6148 | ZVAL_COPY_CONST_2 var_addr, res_addr, var_info, var_def_info, zv, tmp_reg
6151 if (!res_addr) {
6171 if (res_addr) {
6172 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
6218 if (!res_addr) {
6221 | ZVAL_COPY_VALUE_2 var_addr, var_info, res_addr, ref_addr, val_info, type_reg, tmp_reg
6231 if (!res_addr) {
6238 if (res_addr) {
6264 if (!res_addr) {
6267 | ZVAL_COPY_VALUE_2 var_addr, var_info, res_addr, val_addr, val_info, ZREG_R2, tmp_reg
6271 if (!res_addr) {
6277 if (res_addr) {
6290 zend_jit_addr res_addr,
6315 if (res_addr) {
6318 | ZVAL_COPY_VALUE res_addr, -1, ret_addr, -1, ZREG_R1, ZREG_R2
6425 zend_jit_addr res_addr,
6450 if (!zend_jit_assign_to_typed_ref(Dst, opline, val_type, val_addr, res_addr, check_exception)) {
6498 …opline, var_addr, var_info, var_def_info, val_type, val_addr, val_info, res_addr, in_cold, 0, 0)) {
6506 …opline, var_addr, var_info, var_def_info, val_type, val_addr, val_info, res_addr, in_cold, 1, 0)) {
6568 …opline, var_addr, var_info, var_def_info, val_type, val_addr, val_info, res_addr, 0, 0, check_exce…
6579 zend_jit_addr op2_addr, op3_addr, res_addr;
6584 res_addr = 0;
6586 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
6666 …st, opline, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0, 0, 0)) {
6688 …opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0)) {
6692 …opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0)) {
6753 | LOAD_ZVAL_ADDR CARG4, res_addr
6755 | PUSH_ZVAL_ADDR res_addr, r0
7135 zend_jit_addr res_addr,
7149 | SET_ZVAL_TYPE_INFO res_addr, (result ? IS_TRUE : IS_FALSE)
7242 | SET_ZVAL_TYPE_INFO res_addr, eax
7428 | SET_ZVAL_TYPE_INFO res_addr, eax
7434 …mp_double_common(dasm_State **Dst, const zend_op *opline, zend_jit_addr res_addr, bool swap, zend_…
7617 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7620 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7625 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7628 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7632 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7634 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7636 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7639 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7644 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7646 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7648 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7651 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7664 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7667 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7671 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7674 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7681 | SET_ZVAL_TYPE_INFO res_addr, eax
7685 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7688 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7696 | SET_ZVAL_TYPE_INFO res_addr, eax
7700 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
7703 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
7765 | SET_ZVAL_TYPE_INFO res_addr, eax
7771 … *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr res_addr, zend_uchar smart…
7778 …return zend_jit_cmp_double_common(Dst, opline, res_addr, 0, smart_branch_opcode, target_label, tar…
7781 … *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr res_addr, zend_uchar smart…
7788 …return zend_jit_cmp_double_common(Dst, opline, res_addr, /* swap */ 1, smart_branch_opcode, target…
7791 … *opline, zend_jit_addr op1_addr, zend_jit_addr op2_addr, zend_jit_addr res_addr, zend_uchar smart…
7807 …return zend_jit_cmp_double_common(Dst, opline, res_addr, swap, smart_branch_opcode, target_label, …
7810 static int zend_jit_cmp_slow(dasm_State **Dst, const zend_op *opline, zend_jit_addr res_addr, zend_…
7835 | SET_ZVAL_TYPE_INFO res_addr, eax
7949 | SET_ZVAL_TYPE_INFO res_addr, eax
7963 zend_jit_addr res_addr,
7996 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8005 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
8022 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8032 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8053 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8065 …if (!zend_jit_cmp_double_long(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8087 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8099 …if (!zend_jit_cmp_long_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, targ…
8185 …if (!zend_jit_cmp_slow(Dst, opline, res_addr, smart_branch_opcode, target_label, target_label2, ex…
8207 zend_jit_addr res_addr,
8246 …if (!zend_jit_cmp_long_long(Dst, opline, op1_range, op1_addr, op2_range, op2_addr, res_addr, smart…
8252 …if (!zend_jit_cmp_double_double(Dst, opline, op1_addr, op2_addr, res_addr, smart_branch_opcode, ta…
8381 | SET_ZVAL_TYPE_INFO res_addr, (opline->opcode != ZEND_IS_NOT_IDENTICAL ? IS_FALSE : IS_TRUE)
8409 | SET_ZVAL_TYPE_INFO res_addr, (opline->opcode != ZEND_IS_NOT_IDENTICAL ? IS_TRUE : IS_FALSE)
8422 | SET_ZVAL_TYPE_INFO res_addr, (opline->opcode != ZEND_IS_NOT_IDENTICAL ? IS_TRUE : IS_FALSE)
8434 | SET_ZVAL_TYPE_INFO res_addr, (opline->opcode != ZEND_IS_NOT_IDENTICAL ? IS_FALSE : IS_TRUE)
8471 | SET_ZVAL_TYPE_INFO res_addr, eax
8522 | SET_ZVAL_TYPE_INFO res_addr, eax
8588 | SET_ZVAL_TYPE_INFO res_addr, eax
8599 …nd_op *opline, uint32_t op1_info, zend_jit_addr op1_addr, zend_jit_addr res_addr, uint32_t target_…
8635 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8637 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8647 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8649 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8670 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8672 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8683 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8685 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8714 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8716 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8723 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8730 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8748 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8755 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8778 | SET_ZVAL_TYPE_INFO res_addr, eax
8789 | SET_ZVAL_TYPE_INFO res_addr, eax
8863 | SET_ZVAL_TYPE_INFO res_addr, eax
8898 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8901 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8904 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8907 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8911 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8914 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8916 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
8919 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
8926 | SET_ZVAL_TYPE_INFO res_addr, eax
8933 | SET_ZVAL_TYPE_INFO res_addr, eax
9014 | SET_ZVAL_TYPE_INFO res_addr, eax
9016 | CMP_ZVAL_TYPE res_addr, IS_FALSE
9023 | CMP_ZVAL_TYPE res_addr, IS_FALSE
9078 …addr, zend_jit_addr op1_def_addr, uint32_t res_use_info, uint32_t res_info, zend_jit_addr res_addr)
9089 …if (!zend_jit_simple_assign(Dst, opline, res_addr, res_use_info, res_info, opline->op1_type, op1_a…
9092 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
9101 …ddr op2_addr, zend_jit_addr op2_def_addr, uint32_t res_info, zend_jit_addr res_addr, int may_throw)
9121 …ne, op1_use_addr, op1_addr, op1_info, op1_def_info, opline->op2_type, op2_addr, op2_info, res_addr,
9129 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
9963 zend_jit_addr res_addr;
9970 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
9973 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_R4, TMP_ZVAL_OFFSET);
10133 | LOAD_ZVAL_ADDR r2, res_addr
10439 | LOAD_ZVAL_ADDR FCARG2a, res_addr
10542 | ZVAL_PTR_DTOR res_addr, func_info, 1, 1, opline
11039 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
11041 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
11065 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
11067 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
11081 zend_jit_addr res_addr = 0;
11148 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
11151 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
11165 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
11335 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
11340 | SET_ZVAL_TYPE_INFO res_addr, eax
11431 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
11440 | SET_ZVAL_TYPE_INFO res_addr, eax
11894 static int zend_jit_zval_copy_deref(dasm_State **Dst, zend_jit_addr res_addr, zend_jit_addr val_add…
11920 | SET_ZVAL_PTR res_addr, r1
11922 | SET_ZVAL_W2 res_addr, r0
11924 | SET_ZVAL_TYPE_INFO res_addr, edx
11938 zend_jit_addr res_addr,
12075 | SET_ZVAL_PTR res_addr, r0
12076 | SET_ZVAL_TYPE_INFO res_addr, IS_STRING
12080 | LOAD_ZVAL_ADDR CARG3, res_addr
12083 | PUSH_ZVAL_ADDR res_addr, r0
12117 | LOAD_ZVAL_ADDR CARG3, res_addr
12120 | PUSH_ZVAL_ADDR res_addr, r0
12173 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
12233 | ZVAL_COPY_VALUE_V res_addr, -1, val_addr, res_info, ZREG_R0, ZREG_R1
12234 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
12236 if (Z_REG(res_addr) != ZREG_FP ||
12238 STACK_MEM_TYPE(JIT_G(current_frame)->stack, EX_VAR_TO_NUM(Z_OFFSET(res_addr))) != type) {
12239 | SET_ZVAL_TYPE_INFO res_addr, type
12242 | SET_ZVAL_TYPE_INFO res_addr, edx
12247 } else if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
12253 if (!zend_jit_zval_copy_deref(Dst, res_addr, val_addr, ZREG_R2)) {
12258 | ZVAL_COPY_VALUE res_addr, -1, val_addr, res_info, ZREG_R1, ZREG_R2
12300 zend_jit_addr res_addr,
12392 | SET_ZVAL_TYPE_INFO res_addr, IS_UNDEF
12396 | SET_ZVAL_PTR res_addr, r0
12397 | SET_ZVAL_TYPE_INFO res_addr, IS_INDIRECT
12425 | SET_ZVAL_PTR res_addr, r0
12426 | SET_ZVAL_TYPE_INFO res_addr, IS_INDIRECT
12431 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
12460 | LOAD_ZVAL_ADDR CARG3, res_addr
12463 | PUSH_ZVAL_ADDR res_addr, r0
12526 zend_jit_addr op2_addr, res_addr;
12532 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
12649 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
12682 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
12776 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
12794 | LOAD_ZVAL_ADDR Ra(tmp_reg), res_addr
12796 res_addr = ZEND_ADDR_MEM_ZVAL(tmp_reg, 0);
12798 | GET_ZVAL_PTR Ra(tmp_reg), res_addr
12799 res_addr = ZEND_ADDR_MEM_ZVAL(tmp_reg, offsetof(zend_reference, val));
12806 | IF_NOT_ZVAL_TYPE res_addr, type_code, >1
12809 | mov cl, byte [Ra(Z_REG(res_addr))+Z_OFFSET(res_addr)+offsetof(zval, u1.v.type)]
12821 if (Z_REG(res_addr) != ZREG_FCARG1 || Z_OFFSET(res_addr) != 0) {
12822 | LOAD_ZVAL_ADDR FCARG1a, res_addr
12918 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
12924 | ZVAL_COPY_CONST res_addr, -1, -1, zv, ZREG_R0
12935 | ZVAL_COPY_CONST res_addr, -1, -1, zv, ZREG_R0
12947 | LOAD_ZVAL_ADDR FCARG1a, res_addr
12963 | ZVAL_PTR_DTOR res_addr, MAY_BE_ANY|MAY_BE_RC1|MAY_BE_RCN, 1, 0, opline
12964 | SET_ZVAL_TYPE_INFO res_addr, IS_UNDEF
13045 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
13159 | SET_ZVAL_PTR res_addr, r0
13160 | SET_ZVAL_TYPE_INFO res_addr, IS_OBJECT_EX
13166 | SET_ZVAL_TYPE_INFO res_addr, _IS_ERROR
13175 | LOAD_ZVAL_ADDR CARG3, res_addr
13178 | PUSH_ZVAL_ADDR res_addr, r0
13219 | SET_ZVAL_PTR res_addr, r0
13220 | SET_ZVAL_TYPE_INFO res_addr, IS_OBJECT_EX
13227 | SET_ZVAL_TYPE_INFO res_addr, _IS_ERROR
13275 | LOAD_ZVAL_ADDR CARG3, res_addr
13278 | PUSH_ZVAL_ADDR res_addr, r0
13295 | SET_ZVAL_PTR res_addr, FCARG1a
13296 | SET_ZVAL_TYPE_INFO res_addr, IS_INDIRECT
13383 | ZVAL_COPY_VALUE_V res_addr, -1, val_addr, res_info, ZREG_R0, ZREG_R1
13385 if (Z_REG(res_addr) != ZREG_FP ||
13387 STACK_MEM_TYPE(JIT_G(current_frame)->stack, EX_VAR_TO_NUM(Z_OFFSET(res_addr))) != type) {
13388 | SET_ZVAL_TYPE_INFO res_addr, type
13391 | SET_ZVAL_TYPE_INFO res_addr, edx
13397 if (!zend_jit_zval_copy_deref(Dst, res_addr, prop_addr, ZREG_R2)) {
13444 | SET_ZVAL_TYPE_INFO res_addr, _IS_ERROR
13447 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
13451 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
13530 zend_jit_addr res_addr = 0;
13541 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
13694 | LOAD_ZVAL_ADDR CARG3, res_addr
13697 | PUSH_ZVAL_ADDR res_addr, r0
13756 | LOAD_ZVAL_ADDR FCARG2a, res_addr
13785 | ZVAL_COPY_VALUE res_addr, -1, var_addr, MAY_BE_LONG, ZREG_R1, ZREG_R2
13796 | ZVAL_COPY_VALUE res_addr, -1, var_addr, MAY_BE_LONG, ZREG_R0, ZREG_R2
13813 | ZVAL_COPY_VALUE res_addr, -1, var_addr, MAY_BE_ANY, ZREG_R0, ZREG_R2
13818 | LOAD_ZVAL_ADDR FCARG2a, res_addr
13825 | LOAD_ZVAL_ADDR FCARG2a, res_addr
13843 | SET_ZVAL_LVAL res_addr, rax
13844 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
13851 | SET_ZVAL_LVAL res_addr, 0
13852 | SET_ZVAL_W2 res_addr, 0x41e00000
13853 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
13862 | SET_ZVAL_LVAL res_addr, rax
13863 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
13870 | SET_ZVAL_LVAL res_addr, 0x00200000
13871 | SET_ZVAL_W2 res_addr, 0xc1e00000
13872 | SET_ZVAL_TYPE_INFO res_addr, IS_DOUBLE
13918 | LOAD_ZVAL_ADDR CARG4, res_addr
13925 | PUSH_ZVAL_ADDR res_addr, r0
14419 zend_jit_addr res_addr = 0;
14426 res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
14476 | SET_ZVAL_TYPE_INFO res_addr, IS_NULL
14548 | LOAD_ZVAL_ADDR CARG4, res_addr
14555 | PUSH_ZVAL_ADDR res_addr, r0
14618 | LOAD_ZVAL_ADDR CARG4, res_addr
14625 | PUSH_ZVAL_ADDR res_addr, r0
14649 …st, opline, prop_addr, prop_addr, -1, -1, (opline+1)->op1_type, val_addr, val_info, res_addr, 0)) {
14653 …st, opline, prop_addr, prop_addr, -1, -1, (opline+1)->op1_type, val_addr, val_info, res_addr, 0)) {
14671 | LOAD_ZVAL_ADDR r0, res_addr
14674 | LOAD_ZVAL_ADDR CARG5, res_addr
14686 | PUSH_ZVAL_ADDR res_addr, r0
14818 …te **Dst, const zend_op *opline, uint32_t op1_info, zend_jit_addr op1_addr, zend_jit_addr res_addr)
14828 | SET_ZVAL_LVAL res_addr, len
14829 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
14830 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
14831 } else if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, MAY_BE_LONG)) {
14837 if (Z_MODE(res_addr) == IS_REG) {
14838 | GET_ZVAL_PTR Ra(Z_REG(res_addr)), op1_addr
14839 | mov Ra(Z_REG(res_addr)), aword [Ra(Z_REG(res_addr))+offsetof(zend_string, len)]
14840 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, MAY_BE_LONG)) {
14846 | SET_ZVAL_LVAL res_addr, r0
14847 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
14854 … zend_op *opline, uint32_t op1_info, zend_jit_addr op1_addr, zend_jit_addr res_addr, int may_throw)
14864 | SET_ZVAL_LVAL res_addr, count
14865 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
14866 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
14867 } else if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, MAY_BE_LONG)) {
14874 if (Z_MODE(res_addr) == IS_REG) {
14875 | GET_ZVAL_PTR Ra(Z_REG(res_addr)), op1_addr
14877 | mov Rd(Z_REG(res_addr)), dword [Ra(Z_REG(res_addr))+offsetof(HashTable, nNumOfElements)]
14878 if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, MAY_BE_LONG)) {
14885 | SET_ZVAL_LVAL res_addr, r0
14886 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
15407 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
15431 | SET_ZVAL_TYPE_INFO res_addr, IS_TRUE
15441 | SET_ZVAL_TYPE_INFO res_addr, IS_FALSE
15467 | SET_ZVAL_TYPE_INFO res_addr, eax
15476 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
15481 | ZVAL_COPY_CONST res_addr, MAY_BE_ANY, MAY_BE_ANY, zv, ZREG_R0
15489 | ZVAL_COPY_VALUE res_addr, -1, op1_addr, op1_info, ZREG_R0, ZREG_FCARG1
15567 zend_jit_addr res_addr = RES_ADDR();
15578 | SET_ZVAL_PTR res_addr, r0
15581 | SET_ZVAL_TYPE_INFO res_addr, IS_STRING
15585 | SET_ZVAL_TYPE_INFO res_addr, IS_STRING_EX
15595 | SET_ZVAL_LVAL res_addr, r0
15596 | SET_ZVAL_TYPE_INFO res_addr, IS_LONG
15632 zend_jit_addr res_addr)
15676 | ZVAL_COPY_VALUE_V res_addr, -1, const_addr, res_info, ZREG_R0, ZREG_R1
15678 if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
15679 | SET_ZVAL_TYPE_INFO res_addr, type
15680 } else if (!zend_jit_store_var_if_necessary(Dst, opline->result.var, res_addr, res_info)) {
15684 | SET_ZVAL_TYPE_INFO res_addr, edx
15689 | ZVAL_COPY_VALUE res_addr, MAY_BE_ANY, const_addr, MAY_BE_ANY, ZREG_R0, ZREG_R1
15713 zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
15750 | SET_ZVAL_TYPE_INFO res_addr, eax
15785 zend_jit_addr res_addr = RES_ADDR();
15790 | SET_ZVAL_PTR res_addr, r0
15791 | SET_ZVAL_TYPE_INFO res_addr, IS_STRING_EX