Lines Matching refs:op2
1850 static zend_result zend_ffi_cdata_do_operation(uint8_t opcode, zval *result, zval *op1, zval *op2) … in zend_ffi_cdata_do_operation() argument
1855 ZVAL_DEREF(op2); in zend_ffi_cdata_do_operation()
1862 offset = zval_get_long(op2); in zend_ffi_cdata_do_operation()
1869 if (Z_TYPE_P(op2) == IS_OBJECT && Z_OBJCE_P(op2) == zend_ffi_cdata_ce) { in zend_ffi_cdata_do_operation()
1870 zend_ffi_cdata *cdata2 = (zend_ffi_cdata*)Z_OBJ_P(op2); in zend_ffi_cdata_do_operation()
1898 offset = zval_get_long(op2); in zend_ffi_cdata_do_operation()
1906 } else if (Z_TYPE_P(op2) == IS_OBJECT && Z_OBJCE_P(op2) == zend_ffi_cdata_ce) { in zend_ffi_cdata_do_operation()
1907 zend_ffi_cdata *cdata2 = (zend_ffi_cdata*)Z_OBJ_P(op2); in zend_ffi_cdata_do_operation()
7165 #define zend_ffi_expr_math(val, op2, OP) do { \ argument
7167 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7168 val->kind = MAX(val->kind, op2->kind); \
7169 val->u64 = val->u64 OP op2->u64; \
7170 } else if (op2->kind == ZEND_FFI_VAL_INT32) { \
7171 val->u64 = val->u64 OP op2->i64; \
7172 } else if (op2->kind == ZEND_FFI_VAL_INT64) { \
7173 val->u64 = val->u64 OP op2->i64; \
7174 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7175 val->kind = op2->kind; \
7176 val->d = (zend_ffi_double)val->u64 OP op2->d; \
7177 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7178 val->u64 = val->u64 OP op2->ch; \
7183 if (op2->kind == ZEND_FFI_VAL_UINT32) { \
7184 val->i64 = val->i64 OP op2->u64; \
7185 } else if (op2->kind == ZEND_FFI_VAL_UINT64) { \
7186 val->i64 = val->i64 OP op2->u64; \
7187 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7188 val->kind = MAX(val->kind, op2->kind); \
7189 val->i64 = val->i64 OP op2->i64; \
7190 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7191 val->kind = op2->kind; \
7192 val->d = (zend_ffi_double)val->i64 OP op2->d; \
7193 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7194 val->i64 = val->i64 OP op2->ch; \
7199 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7200 val->d = val->d OP (zend_ffi_double)op2->u64; \
7201 } else if (op2->kind == ZEND_FFI_VAL_INT32 ||op2->kind == ZEND_FFI_VAL_INT64) { \
7202 val->d = val->d OP (zend_ffi_double)op2->i64; \
7203 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7204 val->kind = MAX(val->kind, op2->kind); \
7205 val->d = val->d OP op2->d; \
7206 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7207 val->d = val->d OP (zend_ffi_double)op2->ch; \
7212 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7213 val->kind = op2->kind; \
7214 val->u64 = val->ch OP op2->u64; \
7215 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7217 val->i64 = val->ch OP op2->i64; \
7218 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7219 val->kind = op2->kind; \
7220 val->d = (zend_ffi_double)val->ch OP op2->d; \
7221 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7222 val->ch = val->ch OP op2->ch; \
7231 #define zend_ffi_expr_int_math(val, op2, OP) do { \ argument
7233 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7234 val->kind = MAX(val->kind, op2->kind); \
7235 val->u64 = val->u64 OP op2->u64; \
7236 } else if (op2->kind == ZEND_FFI_VAL_INT32) { \
7237 val->u64 = val->u64 OP op2->i64; \
7238 } else if (op2->kind == ZEND_FFI_VAL_INT64) { \
7239 val->u64 = val->u64 OP op2->i64; \
7240 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7241 val->u64 = val->u64 OP (uint64_t)op2->d; \
7242 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7243 val->u64 = val->u64 OP op2->ch; \
7248 if (op2->kind == ZEND_FFI_VAL_UINT32) { \
7249 val->i64 = val->i64 OP op2->u64; \
7250 } else if (op2->kind == ZEND_FFI_VAL_UINT64) { \
7251 val->i64 = val->i64 OP op2->u64; \
7252 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7253 val->kind = MAX(val->kind, op2->kind); \
7254 val->i64 = val->i64 OP op2->i64; \
7255 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7256 val->u64 = val->u64 OP (int64_t)op2->d; \
7257 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7258 val->i64 = val->i64 OP op2->ch; \
7263 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7264 val->kind = op2->kind; \
7265 val->u64 = (uint64_t)val->d OP op2->u64; \
7266 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7267 val->kind = op2->kind; \
7268 val->i64 = (int64_t)val->d OP op2->i64; \
7273 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7274 val->kind = op2->kind; \
7275 val->u64 = (uint64_t)val->ch OP op2->u64; \
7276 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7277 val->kind = op2->kind; \
7278 val->i64 = (int64_t)val->ch OP op2->u64; \
7279 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7280 val->ch = val->ch OP op2->ch; \
7289 #define zend_ffi_expr_cmp(val, op2, OP) do { \ argument
7291 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7293 val->i64 = val->u64 OP op2->u64; \
7294 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7296 val->i64 = val->u64 OP op2->u64; /*signed/unsigned */ \
7297 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7299 val->i64 = (zend_ffi_double)val->u64 OP op2->d; \
7300 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7302 val->i64 = val->u64 OP op2->d; \
7307 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7309 val->i64 = val->i64 OP op2->i64; /* signed/unsigned */ \
7310 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7312 val->i64 = val->i64 OP op2->i64; \
7313 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7315 val->i64 = (zend_ffi_double)val->i64 OP op2->d; \
7316 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7318 val->i64 = val->i64 OP op2->ch; \
7323 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7325 val->i64 = val->d OP (zend_ffi_double)op2->u64; \
7326 } else if (op2->kind == ZEND_FFI_VAL_INT32 ||op2->kind == ZEND_FFI_VAL_INT64) { \
7328 val->i64 = val->d OP (zend_ffi_double)op2->i64; \
7329 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7331 val->i64 = val->d OP op2->d; \
7332 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7334 val->i64 = val->d OP (zend_ffi_double)op2->ch; \
7339 if (op2->kind == ZEND_FFI_VAL_UINT32 || op2->kind == ZEND_FFI_VAL_UINT64) { \
7341 val->i64 = val->ch OP op2->i64; /* signed/unsigned */ \
7342 } else if (op2->kind == ZEND_FFI_VAL_INT32 || op2->kind == ZEND_FFI_VAL_INT64) { \
7344 val->i64 = val->ch OP op2->i64; \
7345 …} else if (op2->kind == ZEND_FFI_VAL_FLOAT || op2->kind == ZEND_FFI_VAL_DOUBLE || op2->kind == ZEN…
7347 val->i64 = (zend_ffi_double)val->ch OP op2->d; \
7348 } else if (op2->kind == ZEND_FFI_VAL_CHAR) { \
7350 val->i64 = val->ch OP op2->ch; \
7359 void zend_ffi_expr_conditional(zend_ffi_val *val, zend_ffi_val *op2, zend_ffi_val *op3) /* {{{ */ argument
7364 *val = *op2;
7372 void zend_ffi_expr_bool_or(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7375 zend_ffi_expr_bool(op2);
7376 if (val->kind == ZEND_FFI_VAL_INT32 && op2->kind == ZEND_FFI_VAL_INT32) {
7377 val->i64 = val->i64 || op2->i64;
7384 void zend_ffi_expr_bool_and(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7387 zend_ffi_expr_bool(op2);
7388 if (val->kind == ZEND_FFI_VAL_INT32 && op2->kind == ZEND_FFI_VAL_INT32) {
7389 val->i64 = val->i64 && op2->i64;
7396 void zend_ffi_expr_bw_or(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7398 zend_ffi_expr_int_math(val, op2, |);
7402 void zend_ffi_expr_bw_xor(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7404 zend_ffi_expr_int_math(val, op2, ^);
7408 void zend_ffi_expr_bw_and(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7410 zend_ffi_expr_int_math(val, op2, &);
7414 void zend_ffi_expr_is_equal(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7416 zend_ffi_expr_cmp(val, op2, ==);
7420 void zend_ffi_expr_is_not_equal(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7422 zend_ffi_expr_cmp(val, op2, !=);
7426 void zend_ffi_expr_is_less(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7428 zend_ffi_expr_cmp(val, op2, <);
7432 void zend_ffi_expr_is_greater(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7434 zend_ffi_expr_cmp(val, op2, >);
7438 void zend_ffi_expr_is_less_or_equal(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7440 zend_ffi_expr_cmp(val, op2, <=);
7444 void zend_ffi_expr_is_greater_or_equal(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7446 zend_ffi_expr_cmp(val, op2, >=);
7450 void zend_ffi_expr_shift_left(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7452 zend_ffi_expr_int_math(val, op2, <<);
7456 void zend_ffi_expr_shift_right(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7458 zend_ffi_expr_int_math(val, op2, >>);
7462 void zend_ffi_expr_add(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7464 zend_ffi_expr_math(val, op2, +);
7468 void zend_ffi_expr_sub(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7470 zend_ffi_expr_math(val, op2, -);
7474 void zend_ffi_expr_mul(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7476 zend_ffi_expr_math(val, op2, *);
7480 void zend_ffi_expr_div(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7482 zend_ffi_expr_math(val, op2, /);
7486 void zend_ffi_expr_mod(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */ argument
7488 zend_ffi_expr_int_math(val, op2, %); // ???