548 template(threadgroup_array_signature, "[Ljava/lang/ThreadGroup;") \
549 template(class_array_signature, "[Ljava/lang/Class;") \
550 template(classloader_signature, "Ljava/lang/ClassLoader;") \
551 template(object_signature, "Ljava/lang/Object;") \
552 template(object_array_signature, "[Ljava/lang/Object;") \
553 template(class_signature, "Ljava/lang/Class;") \
554 template(string_signature, "Ljava/lang/String;") \
555 template(string_array_signature, "[Ljava/lang/String;") \
556 template(reference_signature, "Ljava/lang/ref/Reference;") \
557 template(executable_signature, "Ljava/lang/reflect/Executable;") \
558 template(module_signature, "Ljava/lang/Module;") \
559 template(concurrenthashmap_signature, "Ljava/util/concurrent/ConcurrentHashMap;") \
560 template(String_StringBuilder_signature, "(Ljava/lang/String;)Ljava/lang/StringBuilder;") \
561 template(int_StringBuilder_signature, "(I)Ljava/lang/StringBuilder;") \
562 template(char_StringBuilder_signature, "(C)Ljava/lang/StringBuilder;") \
563 template(String_StringBuffer_signature, "(Ljava/lang/String;)Ljava/lang/StringBuffer;") \
564 template(int_StringBuffer_signature, "(I)Ljava/lang/StringBuffer;") \
565 template(char_StringBuffer_signature, "(C)Ljava/lang/StringBuffer;") \
566 template(int_String_signature, "(I)Ljava/lang/String;") \
567 template(boolean_boolean_int_signature, "(ZZ)I") \
568 template(reflect_method_signature, "Ljava/lang/reflect/Method;") \
569 /* signature symbols needed by intrinsics */ \
570 VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, template, VM_ALIAS_IGNORE) \
571 \
572 /* symbol aliases needed by intrinsics */ \
573 VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, do_alias) \
574 \
575 /* returned by the C1 compiler in case there's not enough memory to allocate a new symbol*/ \
576 template(dummy_symbol, "illegal symbol") \
577 \
578 /* used by ClassFormatError when class name is not known yet */ \
579 template(unknown_class_name, "<Unknown>") \
580 \
581 /* JVM monitoring and management support */ \
582 template(java_lang_StackTraceElement_array, "[Ljava/lang/StackTraceElement;") \
583 template(java_lang_management_ThreadState, "java/lang/management/ThreadState") \
584 template(java_lang_management_MemoryUsage, "java/lang/management/MemoryUsage") \
585 template(java_lang_management_ThreadInfo, "java/lang/management/ThreadInfo") \
586 template(jdk_internal_agent_Agent, "jdk/internal/agent/Agent") \
587 template(sun_management_Sensor, "sun/management/Sensor") \
989 do_class(java_math_BigInteger, "java/math/BigInteger") \
990 do_intrinsic(_multiplyToLen, java_math_BigInteger, multiplyToLen_name, multiplyToLen_signature, F_S) \
991 do_name( multiplyToLen_name, "implMultiplyToLen") \
992 do_signature(multiplyToLen_signature, "([II[II[I)[I") \
993 \
994 do_intrinsic(_squareToLen, java_math_BigInteger, squareToLen_name, squareToLen_signature, F_S) \
995 do_name( squareToLen_name, "implSquareToLen") \
996 do_signature(squareToLen_signature, "([II[II)[I") \
997 \
998 do_intrinsic(_mulAdd, java_math_BigInteger, mulAdd_name, mulAdd_signature, F_S) \
999 do_name( mulAdd_name, "implMulAdd") \
1000 do_signature(mulAdd_signature, "([I[IIII)I") \
1001 \
1002 do_intrinsic(_montgomeryMultiply, java_math_BigInteger, montgomeryMultiply_name, montgomeryMultiply_signature, F_S) \
1003 do_name( montgomeryMultiply_name, "implMontgomeryMultiply") \
1004 do_signature(montgomeryMultiply_signature, "([I[I[IIJ[I)[I") \
1005 \
1006 do_intrinsic(_montgomerySquare, java_math_BigInteger, montgomerySquare_name, montgomerySquare_signature, F_S) \
1007 do_name( montgomerySquare_name, "implMontgomerySquare") \
1008 do_signature(montgomerySquare_signature, "([I[IIJ[I)[I") \
1009 \
1010 do_class(jdk_internal_util_ArraysSupport, "jdk/internal/util/ArraysSupport") \
1011 do_intrinsic(_vectorizedMismatch, jdk_internal_util_ArraysSupport, vectorizedMismatch_name, vectorizedMismatch_signature, F_S)\
1012 do_name(vectorizedMismatch_name, "vectorizedMismatch") \
1013 do_signature(vectorizedMismatch_signature, "(Ljava/lang/Object;JLjava/lang/Object;JII)I") \
1014 \
1015 /* java/lang/ref/Reference */ \
1016 do_intrinsic(_Reference_get, java_lang_ref_Reference, get_name, void_object_signature, F_R) \
1017 \
1018 /* support for com.sun.crypto.provider.AESCrypt and some of its callers */ \
1019 do_class(com_sun_crypto_provider_aescrypt, "com/sun/crypto/provider/AESCrypt") \
1020 do_intrinsic(_aescrypt_encryptBlock, com_sun_crypto_provider_aescrypt, encryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \
1021 do_intrinsic(_aescrypt_decryptBlock, com_sun_crypto_provider_aescrypt, decryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \
1022 do_name( encryptBlock_name, "implEncryptBlock") \
1023 do_name( decryptBlock_name, "implDecryptBlock") \
1024 do_signature(byteArray_int_byteArray_int_signature, "([BI[BI)V") \
1025 \
1026 do_class(com_sun_crypto_provider_cipherBlockChaining, "com/sun/crypto/provider/CipherBlockChaining") \
1027 do_intrinsic(_cipherBlockChaining_encryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, encrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \
1028 do_intrinsic(_cipherBlockChaining_decryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, decrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \
|
548 template(threadgroup_array_signature, "[Ljava/lang/ThreadGroup;") \
549 template(class_array_signature, "[Ljava/lang/Class;") \
550 template(classloader_signature, "Ljava/lang/ClassLoader;") \
551 template(object_signature, "Ljava/lang/Object;") \
552 template(object_array_signature, "[Ljava/lang/Object;") \
553 template(class_signature, "Ljava/lang/Class;") \
554 template(string_signature, "Ljava/lang/String;") \
555 template(string_array_signature, "[Ljava/lang/String;") \
556 template(reference_signature, "Ljava/lang/ref/Reference;") \
557 template(executable_signature, "Ljava/lang/reflect/Executable;") \
558 template(module_signature, "Ljava/lang/Module;") \
559 template(concurrenthashmap_signature, "Ljava/util/concurrent/ConcurrentHashMap;") \
560 template(String_StringBuilder_signature, "(Ljava/lang/String;)Ljava/lang/StringBuilder;") \
561 template(int_StringBuilder_signature, "(I)Ljava/lang/StringBuilder;") \
562 template(char_StringBuilder_signature, "(C)Ljava/lang/StringBuilder;") \
563 template(String_StringBuffer_signature, "(Ljava/lang/String;)Ljava/lang/StringBuffer;") \
564 template(int_StringBuffer_signature, "(I)Ljava/lang/StringBuffer;") \
565 template(char_StringBuffer_signature, "(C)Ljava/lang/StringBuffer;") \
566 template(int_String_signature, "(I)Ljava/lang/String;") \
567 template(boolean_boolean_int_signature, "(ZZ)I") \
568 template(big_integer_shift_worker_signature, "([I[IIII)V") \
569 template(reflect_method_signature, "Ljava/lang/reflect/Method;") \
570 /* signature symbols needed by intrinsics */ \
571 VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, template, VM_ALIAS_IGNORE) \
572 \
573 /* symbol aliases needed by intrinsics */ \
574 VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, do_alias) \
575 \
576 /* returned by the C1 compiler in case there's not enough memory to allocate a new symbol*/ \
577 template(dummy_symbol, "illegal symbol") \
578 \
579 /* used by ClassFormatError when class name is not known yet */ \
580 template(unknown_class_name, "<Unknown>") \
581 \
582 /* JVM monitoring and management support */ \
583 template(java_lang_StackTraceElement_array, "[Ljava/lang/StackTraceElement;") \
584 template(java_lang_management_ThreadState, "java/lang/management/ThreadState") \
585 template(java_lang_management_MemoryUsage, "java/lang/management/MemoryUsage") \
586 template(java_lang_management_ThreadInfo, "java/lang/management/ThreadInfo") \
587 template(jdk_internal_agent_Agent, "jdk/internal/agent/Agent") \
588 template(sun_management_Sensor, "sun/management/Sensor") \
990 do_class(java_math_BigInteger, "java/math/BigInteger") \
991 do_intrinsic(_multiplyToLen, java_math_BigInteger, multiplyToLen_name, multiplyToLen_signature, F_S) \
992 do_name( multiplyToLen_name, "implMultiplyToLen") \
993 do_signature(multiplyToLen_signature, "([II[II[I)[I") \
994 \
995 do_intrinsic(_squareToLen, java_math_BigInteger, squareToLen_name, squareToLen_signature, F_S) \
996 do_name( squareToLen_name, "implSquareToLen") \
997 do_signature(squareToLen_signature, "([II[II)[I") \
998 \
999 do_intrinsic(_mulAdd, java_math_BigInteger, mulAdd_name, mulAdd_signature, F_S) \
1000 do_name( mulAdd_name, "implMulAdd") \
1001 do_signature(mulAdd_signature, "([I[IIII)I") \
1002 \
1003 do_intrinsic(_montgomeryMultiply, java_math_BigInteger, montgomeryMultiply_name, montgomeryMultiply_signature, F_S) \
1004 do_name( montgomeryMultiply_name, "implMontgomeryMultiply") \
1005 do_signature(montgomeryMultiply_signature, "([I[I[IIJ[I)[I") \
1006 \
1007 do_intrinsic(_montgomerySquare, java_math_BigInteger, montgomerySquare_name, montgomerySquare_signature, F_S) \
1008 do_name( montgomerySquare_name, "implMontgomerySquare") \
1009 do_signature(montgomerySquare_signature, "([I[IIJ[I)[I") \
1010 \
1011 do_intrinsic(_bigIntegerRightShiftWorker, java_math_BigInteger, rightShift_name, big_integer_shift_worker_signature, F_S) \
1012 do_name( rightShift_name, "shiftRightImplWorker") \
1013 \
1014 do_intrinsic(_bigIntegerLeftShiftWorker, java_math_BigInteger, leftShift_name, big_integer_shift_worker_signature, F_S) \
1015 do_name( leftShift_name, "shiftLeftImplWorker") \
1016 \
1017 do_class(jdk_internal_util_ArraysSupport, "jdk/internal/util/ArraysSupport") \
1018 do_intrinsic(_vectorizedMismatch, jdk_internal_util_ArraysSupport, vectorizedMismatch_name, vectorizedMismatch_signature, F_S)\
1019 do_name(vectorizedMismatch_name, "vectorizedMismatch") \
1020 do_signature(vectorizedMismatch_signature, "(Ljava/lang/Object;JLjava/lang/Object;JII)I") \
1021 \
1022 /* java/lang/ref/Reference */ \
1023 do_intrinsic(_Reference_get, java_lang_ref_Reference, get_name, void_object_signature, F_R) \
1024 \
1025 /* support for com.sun.crypto.provider.AESCrypt and some of its callers */ \
1026 do_class(com_sun_crypto_provider_aescrypt, "com/sun/crypto/provider/AESCrypt") \
1027 do_intrinsic(_aescrypt_encryptBlock, com_sun_crypto_provider_aescrypt, encryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \
1028 do_intrinsic(_aescrypt_decryptBlock, com_sun_crypto_provider_aescrypt, decryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \
1029 do_name( encryptBlock_name, "implEncryptBlock") \
1030 do_name( decryptBlock_name, "implDecryptBlock") \
1031 do_signature(byteArray_int_byteArray_int_signature, "([BI[BI)V") \
1032 \
1033 do_class(com_sun_crypto_provider_cipherBlockChaining, "com/sun/crypto/provider/CipherBlockChaining") \
1034 do_intrinsic(_cipherBlockChaining_encryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, encrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \
1035 do_intrinsic(_cipherBlockChaining_decryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, decrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \
|