456 \
457 /* common signatures names */ \
458 template(void_method_signature, "()V") \
459 template(void_boolean_signature, "()Z") \
460 template(void_byte_signature, "()B") \
461 template(void_char_signature, "()C") \
462 template(void_short_signature, "()S") \
463 template(void_int_signature, "()I") \
464 template(void_long_signature, "()J") \
465 template(void_float_signature, "()F") \
466 template(void_double_signature, "()D") \
467 template(bool_void_signature, "(Z)V") \
468 template(int_void_signature, "(I)V") \
469 template(int_int_signature, "(I)I") \
470 template(char_char_signature, "(C)C") \
471 template(short_short_signature, "(S)S") \
472 template(int_bool_signature, "(I)Z") \
473 template(float_int_signature, "(F)I") \
474 template(double_long_signature, "(D)J") \
475 template(double_double_signature, "(D)D") \
476 template(int_float_signature, "(I)F") \
477 template(long_int_signature, "(J)I") \
478 template(long_long_signature, "(J)J") \
479 template(long_double_signature, "(J)D") \
480 template(byte_signature, "B") \
481 template(char_signature, "C") \
482 template(double_signature, "D") \
483 template(float_signature, "F") \
484 template(int_signature, "I") \
485 template(long_signature, "J") \
486 template(short_signature, "S") \
487 template(bool_signature, "Z") \
488 template(void_signature, "V") \
489 template(bool_array_signature, "[Z") \
490 template(byte_array_signature, "[B") \
491 template(char_array_signature, "[C") \
492 template(int_array_signature, "[I") \
493 template(object_void_signature, "(Ljava/lang/Object;)V") \
494 template(object_int_signature, "(Ljava/lang/Object;)I") \
495 template(object_boolean_signature, "(Ljava/lang/Object;)Z") \
755 do_signature(float3_float_signature, "(FFF)F") \
756 do_signature(int2_int_signature, "(II)I") \
757 do_signature(long2_long_signature, "(JJ)J") \
758 \
759 /* here are the math names, all together: */ \
760 do_name(abs_name,"abs") do_name(sin_name,"sin") do_name(cos_name,"cos") \
761 do_name(tan_name,"tan") do_name(atan2_name,"atan2") do_name(sqrt_name,"sqrt") \
762 do_name(log_name,"log") do_name(log10_name,"log10") do_name(pow_name,"pow") \
763 do_name(exp_name,"exp") do_name(min_name,"min") do_name(max_name,"max") \
764 \
765 do_name(addExact_name,"addExact") \
766 do_name(decrementExact_name,"decrementExact") \
767 do_name(incrementExact_name,"incrementExact") \
768 do_name(multiplyExact_name,"multiplyExact") \
769 do_name(multiplyHigh_name,"multiplyHigh") \
770 do_name(negateExact_name,"negateExact") \
771 do_name(subtractExact_name,"subtractExact") \
772 do_name(fma_name, "fma") \
773 \
774 do_intrinsic(_dabs, java_lang_Math, abs_name, double_double_signature, F_S) \
775 do_intrinsic(_dsin, java_lang_Math, sin_name, double_double_signature, F_S) \
776 do_intrinsic(_dcos, java_lang_Math, cos_name, double_double_signature, F_S) \
777 do_intrinsic(_dtan, java_lang_Math, tan_name, double_double_signature, F_S) \
778 do_intrinsic(_datan2, java_lang_Math, atan2_name, double2_double_signature, F_S) \
779 do_intrinsic(_dsqrt, java_lang_Math, sqrt_name, double_double_signature, F_S) \
780 do_intrinsic(_dlog, java_lang_Math, log_name, double_double_signature, F_S) \
781 do_intrinsic(_dlog10, java_lang_Math, log10_name, double_double_signature, F_S) \
782 do_intrinsic(_dpow, java_lang_Math, pow_name, double2_double_signature, F_S) \
783 do_intrinsic(_dexp, java_lang_Math, exp_name, double_double_signature, F_S) \
784 do_intrinsic(_min, java_lang_Math, min_name, int2_int_signature, F_S) \
785 do_intrinsic(_max, java_lang_Math, max_name, int2_int_signature, F_S) \
786 do_intrinsic(_addExactI, java_lang_Math, addExact_name, int2_int_signature, F_S) \
787 do_intrinsic(_addExactL, java_lang_Math, addExact_name, long2_long_signature, F_S) \
788 do_intrinsic(_decrementExactI, java_lang_Math, decrementExact_name, int_int_signature, F_S) \
789 do_intrinsic(_decrementExactL, java_lang_Math, decrementExact_name, long_long_signature, F_S) \
790 do_intrinsic(_incrementExactI, java_lang_Math, incrementExact_name, int_int_signature, F_S) \
791 do_intrinsic(_incrementExactL, java_lang_Math, incrementExact_name, long_long_signature, F_S) \
792 do_intrinsic(_multiplyExactI, java_lang_Math, multiplyExact_name, int2_int_signature, F_S) \
793 do_intrinsic(_multiplyExactL, java_lang_Math, multiplyExact_name, long2_long_signature, F_S) \
794 do_intrinsic(_multiplyHigh, java_lang_Math, multiplyHigh_name, long2_long_signature, F_S) \
|
456 \
457 /* common signatures names */ \
458 template(void_method_signature, "()V") \
459 template(void_boolean_signature, "()Z") \
460 template(void_byte_signature, "()B") \
461 template(void_char_signature, "()C") \
462 template(void_short_signature, "()S") \
463 template(void_int_signature, "()I") \
464 template(void_long_signature, "()J") \
465 template(void_float_signature, "()F") \
466 template(void_double_signature, "()D") \
467 template(bool_void_signature, "(Z)V") \
468 template(int_void_signature, "(I)V") \
469 template(int_int_signature, "(I)I") \
470 template(char_char_signature, "(C)C") \
471 template(short_short_signature, "(S)S") \
472 template(int_bool_signature, "(I)Z") \
473 template(float_int_signature, "(F)I") \
474 template(double_long_signature, "(D)J") \
475 template(double_double_signature, "(D)D") \
476 template(float_float_signature, "(F)F") \
477 template(int_float_signature, "(I)F") \
478 template(long_int_signature, "(J)I") \
479 template(long_long_signature, "(J)J") \
480 template(long_double_signature, "(J)D") \
481 template(byte_signature, "B") \
482 template(char_signature, "C") \
483 template(double_signature, "D") \
484 template(float_signature, "F") \
485 template(int_signature, "I") \
486 template(long_signature, "J") \
487 template(short_signature, "S") \
488 template(bool_signature, "Z") \
489 template(void_signature, "V") \
490 template(bool_array_signature, "[Z") \
491 template(byte_array_signature, "[B") \
492 template(char_array_signature, "[C") \
493 template(int_array_signature, "[I") \
494 template(object_void_signature, "(Ljava/lang/Object;)V") \
495 template(object_int_signature, "(Ljava/lang/Object;)I") \
496 template(object_boolean_signature, "(Ljava/lang/Object;)Z") \
756 do_signature(float3_float_signature, "(FFF)F") \
757 do_signature(int2_int_signature, "(II)I") \
758 do_signature(long2_long_signature, "(JJ)J") \
759 \
760 /* here are the math names, all together: */ \
761 do_name(abs_name,"abs") do_name(sin_name,"sin") do_name(cos_name,"cos") \
762 do_name(tan_name,"tan") do_name(atan2_name,"atan2") do_name(sqrt_name,"sqrt") \
763 do_name(log_name,"log") do_name(log10_name,"log10") do_name(pow_name,"pow") \
764 do_name(exp_name,"exp") do_name(min_name,"min") do_name(max_name,"max") \
765 \
766 do_name(addExact_name,"addExact") \
767 do_name(decrementExact_name,"decrementExact") \
768 do_name(incrementExact_name,"incrementExact") \
769 do_name(multiplyExact_name,"multiplyExact") \
770 do_name(multiplyHigh_name,"multiplyHigh") \
771 do_name(negateExact_name,"negateExact") \
772 do_name(subtractExact_name,"subtractExact") \
773 do_name(fma_name, "fma") \
774 \
775 do_intrinsic(_dabs, java_lang_Math, abs_name, double_double_signature, F_S) \
776 do_intrinsic(_fabs, java_lang_Math, abs_name, float_float_signature, F_S) \
777 do_intrinsic(_iabs, java_lang_Math, abs_name, int_int_signature, F_S) \
778 do_intrinsic(_labs, java_lang_Math, abs_name, long_long_signature, F_S) \
779 do_intrinsic(_dsin, java_lang_Math, sin_name, double_double_signature, F_S) \
780 do_intrinsic(_dcos, java_lang_Math, cos_name, double_double_signature, F_S) \
781 do_intrinsic(_dtan, java_lang_Math, tan_name, double_double_signature, F_S) \
782 do_intrinsic(_datan2, java_lang_Math, atan2_name, double2_double_signature, F_S) \
783 do_intrinsic(_dsqrt, java_lang_Math, sqrt_name, double_double_signature, F_S) \
784 do_intrinsic(_dlog, java_lang_Math, log_name, double_double_signature, F_S) \
785 do_intrinsic(_dlog10, java_lang_Math, log10_name, double_double_signature, F_S) \
786 do_intrinsic(_dpow, java_lang_Math, pow_name, double2_double_signature, F_S) \
787 do_intrinsic(_dexp, java_lang_Math, exp_name, double_double_signature, F_S) \
788 do_intrinsic(_min, java_lang_Math, min_name, int2_int_signature, F_S) \
789 do_intrinsic(_max, java_lang_Math, max_name, int2_int_signature, F_S) \
790 do_intrinsic(_addExactI, java_lang_Math, addExact_name, int2_int_signature, F_S) \
791 do_intrinsic(_addExactL, java_lang_Math, addExact_name, long2_long_signature, F_S) \
792 do_intrinsic(_decrementExactI, java_lang_Math, decrementExact_name, int_int_signature, F_S) \
793 do_intrinsic(_decrementExactL, java_lang_Math, decrementExact_name, long_long_signature, F_S) \
794 do_intrinsic(_incrementExactI, java_lang_Math, incrementExact_name, int_int_signature, F_S) \
795 do_intrinsic(_incrementExactL, java_lang_Math, incrementExact_name, long_long_signature, F_S) \
796 do_intrinsic(_multiplyExactI, java_lang_Math, multiplyExact_name, int2_int_signature, F_S) \
797 do_intrinsic(_multiplyExactL, java_lang_Math, multiplyExact_name, long2_long_signature, F_S) \
798 do_intrinsic(_multiplyHigh, java_lang_Math, multiplyHigh_name, long2_long_signature, F_S) \
|