Lines Matching refs:op2

47 ZEND_API int add_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
48 ZEND_API int sub_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
49 ZEND_API int mul_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
50 ZEND_API int pow_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
51 ZEND_API int div_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
52 ZEND_API int mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
53 ZEND_API int boolean_xor_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
56 ZEND_API int bitwise_or_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
57 ZEND_API int bitwise_and_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
58 ZEND_API int bitwise_xor_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
59 ZEND_API int shift_left_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
60 ZEND_API int shift_right_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
61 ZEND_API int concat_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
63 ZEND_API int is_equal_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
64 ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
65 ZEND_API int is_not_identical_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
66 ZEND_API int is_not_equal_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
67 ZEND_API int is_smaller_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
68 ZEND_API int is_smaller_or_equal_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
325 ZEND_API int decrement_function(zval *op2);
340 ZEND_API int add_char_to_string(zval *result, const zval *op1, const zval *op2);
341 ZEND_API int add_string_to_string(zval *result, const zval *op1, const zval *op2);
348 ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
349 ZEND_API int numeric_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
350 ZEND_API int string_compare_function_ex(zval *result, zval *op1, zval *op2, zend_bool case_insensit…
351 ZEND_API int string_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
352 ZEND_API int string_case_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
354 ZEND_API int string_locale_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
596 static zend_always_inline int fast_add_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_add_function()
599 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_add_function()
618 "r"(&op2->value), in fast_add_function()
641 "r"(&op2->value), in fast_add_function()
653 if (UNEXPECTED((Z_LVAL_P(op1) & LONG_SIGN_MASK) == (Z_LVAL_P(op2) & LONG_SIGN_MASK) in fast_add_function()
654 && (Z_LVAL_P(op1) & LONG_SIGN_MASK) != ((Z_LVAL_P(op1) + Z_LVAL_P(op2)) & LONG_SIGN_MASK))) { in fast_add_function()
655 Z_DVAL_P(result) = (double) Z_LVAL_P(op1) + (double) Z_LVAL_P(op2); in fast_add_function()
658 Z_LVAL_P(result) = Z_LVAL_P(op1) + Z_LVAL_P(op2); in fast_add_function()
663 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_add_function()
664 Z_DVAL_P(result) = ((double)Z_LVAL_P(op1)) + Z_DVAL_P(op2); in fast_add_function()
669 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_add_function()
670 Z_DVAL_P(result) = Z_DVAL_P(op1) + Z_DVAL_P(op2); in fast_add_function()
673 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_add_function()
674 Z_DVAL_P(result) = Z_DVAL_P(op1) + ((double)Z_LVAL_P(op2)); in fast_add_function()
679 return add_function(result, op1, op2 TSRMLS_CC); in fast_add_function()
682 static zend_always_inline int fast_sub_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_sub_function()
685 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_sub_function()
708 "r"(&op2->value), in fast_sub_function()
735 "r"(&op2->value), in fast_sub_function()
741 Z_LVAL_P(result) = Z_LVAL_P(op1) - Z_LVAL_P(op2); in fast_sub_function()
743 if (UNEXPECTED((Z_LVAL_P(op1) & LONG_SIGN_MASK) != (Z_LVAL_P(op2) & LONG_SIGN_MASK) in fast_sub_function()
745 Z_DVAL_P(result) = (double) Z_LVAL_P(op1) - (double) Z_LVAL_P(op2); in fast_sub_function()
752 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_sub_function()
753 Z_DVAL_P(result) = ((double)Z_LVAL_P(op1)) - Z_DVAL_P(op2); in fast_sub_function()
758 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_sub_function()
759 Z_DVAL_P(result) = Z_DVAL_P(op1) - Z_DVAL_P(op2); in fast_sub_function()
762 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_sub_function()
763 Z_DVAL_P(result) = Z_DVAL_P(op1) - ((double)Z_LVAL_P(op2)); in fast_sub_function()
768 return sub_function(result, op1, op2 TSRMLS_CC); in fast_sub_function()
771 static zend_always_inline int fast_mul_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_mul_function()
774 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_mul_function()
777 …ZEND_SIGNED_MULTIPLY_LONG(Z_LVAL_P(op1), Z_LVAL_P(op2), Z_LVAL_P(result), Z_DVAL_P(result), overfl… in fast_mul_function()
780 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_mul_function()
781 Z_DVAL_P(result) = ((double)Z_LVAL_P(op1)) * Z_DVAL_P(op2); in fast_mul_function()
786 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_mul_function()
787 Z_DVAL_P(result) = Z_DVAL_P(op1) * Z_DVAL_P(op2); in fast_mul_function()
790 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_mul_function()
791 Z_DVAL_P(result) = Z_DVAL_P(op1) * ((double)Z_LVAL_P(op2)); in fast_mul_function()
796 return mul_function(result, op1, op2 TSRMLS_CC); in fast_mul_function()
799 static zend_always_inline int fast_div_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_div_function()
803 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_div_function()
804 if (UNEXPECTED(Z_LVAL_P(op2) == 0)) { in fast_div_function()
809 } else if (UNEXPECTED(Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == LONG_MIN)) { in fast_div_function()
813 } else if (EXPECTED(Z_LVAL_P(op1) % Z_LVAL_P(op2) == 0)) { in fast_div_function()
815 Z_LVAL_P(result) = Z_LVAL_P(op1) / Z_LVAL_P(op2); in fast_div_function()
818 Z_DVAL_P(result) = ((double) Z_LVAL_P(op1)) / ((double)Z_LVAL_P(op2)); in fast_div_function()
822 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_div_function()
823 if (UNEXPECTED(Z_DVAL_P(op2) == 0)) { in fast_div_function()
829 Z_DVAL_P(result) = ((double)Z_LVAL_P(op1)) / Z_DVAL_P(op2); in fast_div_function()
834 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_div_function()
835 if (UNEXPECTED(Z_DVAL_P(op2) == 0)) { in fast_div_function()
841 Z_DVAL_P(result) = Z_DVAL_P(op1) / Z_DVAL_P(op2); in fast_div_function()
844 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_div_function()
845 if (UNEXPECTED(Z_LVAL_P(op2) == 0)) { in fast_div_function()
851 Z_DVAL_P(result) = Z_DVAL_P(op1) / ((double)Z_LVAL_P(op2)); in fast_div_function()
857 return div_function(result, op1, op2 TSRMLS_CC); in fast_div_function()
860 static zend_always_inline int fast_mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_mod_function()
863 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_mod_function()
864 if (UNEXPECTED(Z_LVAL_P(op2) == 0)) { in fast_mod_function()
869 } else if (UNEXPECTED(Z_LVAL_P(op2) == -1)) { in fast_mod_function()
875 Z_LVAL_P(result) = Z_LVAL_P(op1) % Z_LVAL_P(op2); in fast_mod_function()
880 return mod_function(result, op1, op2 TSRMLS_CC); in fast_mod_function()
883 static zend_always_inline int fast_equal_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_equal_function()
886 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_equal_function()
887 return Z_LVAL_P(op1) == Z_LVAL_P(op2); in fast_equal_function()
888 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_equal_function()
889 return ((double)Z_LVAL_P(op1)) == Z_DVAL_P(op2); in fast_equal_function()
892 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_equal_function()
893 return Z_DVAL_P(op1) == Z_DVAL_P(op2); in fast_equal_function()
894 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_equal_function()
895 return Z_DVAL_P(op1) == ((double)Z_LVAL_P(op2)); in fast_equal_function()
898 compare_function(result, op1, op2 TSRMLS_CC); in fast_equal_function()
902 static zend_always_inline int fast_not_equal_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_not_equal_function()
905 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_not_equal_function()
906 return Z_LVAL_P(op1) != Z_LVAL_P(op2); in fast_not_equal_function()
907 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_not_equal_function()
908 return ((double)Z_LVAL_P(op1)) != Z_DVAL_P(op2); in fast_not_equal_function()
911 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_not_equal_function()
912 return Z_DVAL_P(op1) != Z_DVAL_P(op2); in fast_not_equal_function()
913 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_not_equal_function()
914 return Z_DVAL_P(op1) != ((double)Z_LVAL_P(op2)); in fast_not_equal_function()
917 compare_function(result, op1, op2 TSRMLS_CC); in fast_not_equal_function()
921 static zend_always_inline int fast_is_smaller_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) in fast_is_smaller_function()
924 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_is_smaller_function()
925 return Z_LVAL_P(op1) < Z_LVAL_P(op2); in fast_is_smaller_function()
926 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_is_smaller_function()
927 return ((double)Z_LVAL_P(op1)) < Z_DVAL_P(op2); in fast_is_smaller_function()
930 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_is_smaller_function()
931 return Z_DVAL_P(op1) < Z_DVAL_P(op2); in fast_is_smaller_function()
932 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_is_smaller_function()
933 return Z_DVAL_P(op1) < ((double)Z_LVAL_P(op2)); in fast_is_smaller_function()
936 compare_function(result, op1, op2 TSRMLS_CC); in fast_is_smaller_function()
940 static zend_always_inline int fast_is_smaller_or_equal_function(zval *result, zval *op1, zval *op2 in fast_is_smaller_or_equal_function()
943 if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_is_smaller_or_equal_function()
944 return Z_LVAL_P(op1) <= Z_LVAL_P(op2); in fast_is_smaller_or_equal_function()
945 } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_is_smaller_or_equal_function()
946 return ((double)Z_LVAL_P(op1)) <= Z_DVAL_P(op2); in fast_is_smaller_or_equal_function()
949 if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { in fast_is_smaller_or_equal_function()
950 return Z_DVAL_P(op1) <= Z_DVAL_P(op2); in fast_is_smaller_or_equal_function()
951 } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { in fast_is_smaller_or_equal_function()
952 return Z_DVAL_P(op1) <= ((double)Z_LVAL_P(op2)); in fast_is_smaller_or_equal_function()
955 compare_function(result, op1, op2 TSRMLS_CC); in fast_is_smaller_or_equal_function()
961 if (SUCCESS == Z_OBJ_HANDLER_P(op1, do_operation)(opcode, result, op1, op2 TSRMLS_CC)) { \
964 } else if (Z_TYPE_P(op2) == IS_OBJECT && Z_OBJ_HANDLER_P(op2, do_operation)) { \
965 if (SUCCESS == Z_OBJ_HANDLER_P(op2, do_operation)(opcode, result, op1, op2 TSRMLS_CC)) { \