< prev index next >

src/hotspot/share/classfile/vmSymbols.hpp

Print this page
rev 54303 : 8221477: Inject os/cpu-specific constants into Unsafe from JVM
Summary: Initialize Unsafe os/cpu-specific constants using injection instead of native callouts
Reviewed-by: duke


 430   template(last_cleanup_name,                         "last_cleanup")                             \
 431   template(loader_name,                               "loader")                                   \
 432   template(getModule_name,                            "getModule")                                \
 433   template(input_stream_void_signature,               "(Ljava/io/InputStream;)V")                 \
 434   template(input_stream_signature,                    "Ljava/io/InputStream;")                    \
 435   template(print_stream_signature,                    "Ljava/io/PrintStream;")                    \
 436   template(security_manager_signature,                "Ljava/lang/SecurityManager;")              \
 437   template(definePackage_name,                        "definePackage")                            \
 438   template(definePackage_signature,                   "(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;") \
 439   template(defineOrCheckPackage_name,                 "defineOrCheckPackage")                     \
 440   template(defineOrCheckPackage_signature,            "(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;") \
 441   template(fileToEncodedURL_name,                     "fileToEncodedURL")                         \
 442   template(fileToEncodedURL_signature,                "(Ljava/io/File;)Ljava/net/URL;")           \
 443   template(getProtectionDomain_name,                  "getProtectionDomain")                      \
 444   template(getProtectionDomain_signature,             "(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;") \
 445   template(java_lang_Integer_array_signature,         "[Ljava/lang/Integer;")                     \
 446   template(url_code_signer_array_void_signature,      "(Ljava/net/URL;[Ljava/security/CodeSigner;)V") \
 447   template(module_entry_name,                         "module_entry")                             \
 448   template(resolved_references_name,                  "<resolved_references>")                    \
 449   template(init_lock_name,                            "<init_lock>")                              \




 450                                                                                                   \
 451   /* name symbols needed by intrinsics */                                                         \
 452   VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, template, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) \
 453                                                                                                   \
 454   /* common signatures names */                                                                   \
 455   template(void_method_signature,                     "()V")                                      \
 456   template(void_boolean_signature,                    "()Z")                                      \
 457   template(void_byte_signature,                       "()B")                                      \
 458   template(void_char_signature,                       "()C")                                      \
 459   template(void_short_signature,                      "()S")                                      \
 460   template(void_int_signature,                        "()I")                                      \
 461   template(void_long_signature,                       "()J")                                      \
 462   template(void_float_signature,                      "()F")                                      \
 463   template(void_double_signature,                     "()D")                                      \
 464   template(bool_void_signature,                       "(Z)V")                                     \
 465   template(int_void_signature,                        "(I)V")                                     \
 466   template(int_int_signature,                         "(I)I")                                     \
 467   template(char_char_signature,                       "(C)C")                                     \
 468   template(short_short_signature,                     "(S)S")                                     \
 469   template(int_bool_signature,                        "(I)Z")                                     \


1054   do_intrinsic(_updateBytesCRC32,          java_util_zip_CRC32,   updateBytes_name, updateBytes_signature,       F_SN)  \
1055    do_name(     updateBytes_name,                                "updateBytes0")                                        \
1056    do_signature(updateBytes_signature,                           "(I[BII)I")                                            \
1057   do_intrinsic(_updateByteBufferCRC32,     java_util_zip_CRC32,   updateByteBuffer_name, updateByteBuffer_signature, F_SN) \
1058    do_name(     updateByteBuffer_name,                           "updateByteBuffer0")                                   \
1059    do_signature(updateByteBuffer_signature,                      "(IJII)I")                                             \
1060                                                                                                                         \
1061   /* support for java.util.zip.CRC32C */                                                                                \
1062   do_class(java_util_zip_CRC32C,          "java/util/zip/CRC32C")                                                       \
1063   do_intrinsic(_updateBytesCRC32C,         java_util_zip_CRC32C,  updateBytes_C_name, updateBytes_signature,       F_S) \
1064    do_name(     updateBytes_C_name,                               "updateBytes")                                        \
1065   do_intrinsic(_updateDirectByteBufferCRC32C, java_util_zip_CRC32C, updateDirectByteBuffer_C_name, updateByteBuffer_signature, F_S) \
1066    do_name(    updateDirectByteBuffer_C_name,                     "updateDirectByteBuffer")                             \
1067                                                                                                                         \
1068    /* support for java.util.zip.Adler32 */                                                                              \
1069   do_class(java_util_zip_Adler32,        "java/util/zip/Adler32")                                                       \
1070   do_intrinsic(_updateBytesAdler32,       java_util_zip_Adler32,  updateBytes_C_name,  updateBytes_signature,  F_SN)    \
1071   do_intrinsic(_updateByteBufferAdler32,  java_util_zip_Adler32,  updateByteBuffer_A_name,  updateByteBuffer_signature,  F_SN) \
1072    do_name(     updateByteBuffer_A_name,                          "updateByteBuffer")                                   \
1073                                                                                                                         \


1074   /* support for Unsafe */                                                                                              \
1075   do_class(jdk_internal_misc_Unsafe,               "jdk/internal/misc/Unsafe")                                          \
1076                                                                                                                         \
1077   do_intrinsic(_allocateInstance,         jdk_internal_misc_Unsafe,     allocateInstance_name, allocateInstance_signature, F_RN) \
1078    do_name(     allocateInstance_name,                                  "allocateInstance")                                      \
1079    do_signature(allocateInstance_signature,                             "(Ljava/lang/Class;)Ljava/lang/Object;")                 \
1080   do_intrinsic(_allocateUninitializedArray, jdk_internal_misc_Unsafe,   allocateUninitializedArray_name, newArray_signature,  F_R) \
1081    do_name(     allocateUninitializedArray_name,                        "allocateUninitializedArray0")                           \
1082   do_intrinsic(_copyMemory,               jdk_internal_misc_Unsafe,     copyMemory_name, copyMemory_signature,         F_RN)     \
1083    do_name(     copyMemory_name,                                        "copyMemory0")                                           \
1084    do_signature(copyMemory_signature,                                   "(Ljava/lang/Object;JLjava/lang/Object;JJ)V")            \
1085   do_intrinsic(_loadFence,                jdk_internal_misc_Unsafe,     loadFence_name, loadFence_signature,           F_RN)     \
1086    do_name(     loadFence_name,                                         "loadFence")                                             \
1087    do_alias(    loadFence_signature,                                    void_method_signature)                                   \
1088   do_intrinsic(_storeFence,               jdk_internal_misc_Unsafe,     storeFence_name, storeFence_signature,         F_RN)     \
1089    do_name(     storeFence_name,                                        "storeFence")                                            \
1090    do_alias(    storeFence_signature,                                   void_method_signature)                                   \
1091   do_intrinsic(_fullFence,                jdk_internal_misc_Unsafe,     fullFence_name, fullFence_signature,           F_RN)     \
1092    do_name(     fullFence_name,                                         "fullFence")                                             \
1093    do_alias(    fullFence_signature,                                    void_method_signature)                                   \




 430   template(last_cleanup_name,                         "last_cleanup")                             \
 431   template(loader_name,                               "loader")                                   \
 432   template(getModule_name,                            "getModule")                                \
 433   template(input_stream_void_signature,               "(Ljava/io/InputStream;)V")                 \
 434   template(input_stream_signature,                    "Ljava/io/InputStream;")                    \
 435   template(print_stream_signature,                    "Ljava/io/PrintStream;")                    \
 436   template(security_manager_signature,                "Ljava/lang/SecurityManager;")              \
 437   template(definePackage_name,                        "definePackage")                            \
 438   template(definePackage_signature,                   "(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;") \
 439   template(defineOrCheckPackage_name,                 "defineOrCheckPackage")                     \
 440   template(defineOrCheckPackage_signature,            "(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;") \
 441   template(fileToEncodedURL_name,                     "fileToEncodedURL")                         \
 442   template(fileToEncodedURL_signature,                "(Ljava/io/File;)Ljava/net/URL;")           \
 443   template(getProtectionDomain_name,                  "getProtectionDomain")                      \
 444   template(getProtectionDomain_signature,             "(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;") \
 445   template(java_lang_Integer_array_signature,         "[Ljava/lang/Integer;")                     \
 446   template(url_code_signer_array_void_signature,      "(Ljava/net/URL;[Ljava/security/CodeSigner;)V") \
 447   template(module_entry_name,                         "module_entry")                             \
 448   template(resolved_references_name,                  "<resolved_references>")                    \
 449   template(init_lock_name,                            "<init_lock>")                              \
 450   template(address_size_name,                         "ADDRESS_SIZE")                             \
 451   template(page_size_name,                            "PAGE_SIZE")                                \
 452   template(big_endian_name,                           "BIG_ENDIAN")                                       \
 453   template(use_unaligned_access_name,                  "UNALIGNED_ACCESS")                         \
 454                                                                                                   \
 455   /* name symbols needed by intrinsics */                                                         \
 456   VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, template, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) \
 457                                                                                                   \
 458   /* common signatures names */                                                                   \
 459   template(void_method_signature,                     "()V")                                      \
 460   template(void_boolean_signature,                    "()Z")                                      \
 461   template(void_byte_signature,                       "()B")                                      \
 462   template(void_char_signature,                       "()C")                                      \
 463   template(void_short_signature,                      "()S")                                      \
 464   template(void_int_signature,                        "()I")                                      \
 465   template(void_long_signature,                       "()J")                                      \
 466   template(void_float_signature,                      "()F")                                      \
 467   template(void_double_signature,                     "()D")                                      \
 468   template(bool_void_signature,                       "(Z)V")                                     \
 469   template(int_void_signature,                        "(I)V")                                     \
 470   template(int_int_signature,                         "(I)I")                                     \
 471   template(char_char_signature,                       "(C)C")                                     \
 472   template(short_short_signature,                     "(S)S")                                     \
 473   template(int_bool_signature,                        "(I)Z")                                     \


1058   do_intrinsic(_updateBytesCRC32,          java_util_zip_CRC32,   updateBytes_name, updateBytes_signature,       F_SN)  \
1059    do_name(     updateBytes_name,                                "updateBytes0")                                        \
1060    do_signature(updateBytes_signature,                           "(I[BII)I")                                            \
1061   do_intrinsic(_updateByteBufferCRC32,     java_util_zip_CRC32,   updateByteBuffer_name, updateByteBuffer_signature, F_SN) \
1062    do_name(     updateByteBuffer_name,                           "updateByteBuffer0")                                   \
1063    do_signature(updateByteBuffer_signature,                      "(IJII)I")                                             \
1064                                                                                                                         \
1065   /* support for java.util.zip.CRC32C */                                                                                \
1066   do_class(java_util_zip_CRC32C,          "java/util/zip/CRC32C")                                                       \
1067   do_intrinsic(_updateBytesCRC32C,         java_util_zip_CRC32C,  updateBytes_C_name, updateBytes_signature,       F_S) \
1068    do_name(     updateBytes_C_name,                               "updateBytes")                                        \
1069   do_intrinsic(_updateDirectByteBufferCRC32C, java_util_zip_CRC32C, updateDirectByteBuffer_C_name, updateByteBuffer_signature, F_S) \
1070    do_name(    updateDirectByteBuffer_C_name,                     "updateDirectByteBuffer")                             \
1071                                                                                                                         \
1072    /* support for java.util.zip.Adler32 */                                                                              \
1073   do_class(java_util_zip_Adler32,        "java/util/zip/Adler32")                                                       \
1074   do_intrinsic(_updateBytesAdler32,       java_util_zip_Adler32,  updateBytes_C_name,  updateBytes_signature,  F_SN)    \
1075   do_intrinsic(_updateByteBufferAdler32,  java_util_zip_Adler32,  updateByteBuffer_A_name,  updateByteBuffer_signature,  F_SN) \
1076    do_name(     updateByteBuffer_A_name,                          "updateByteBuffer")                                   \
1077                                                                                                                         \
1078   /* support for UnsafeConstants */                                                                                     \
1079   do_class(jdk_internal_misc_UnsafeConstants,      "jdk/internal/misc/UnsafeConstants")                                                                                                                 \
1080   /* support for Unsafe */                                                                                              \
1081   do_class(jdk_internal_misc_Unsafe,               "jdk/internal/misc/Unsafe")                                          \
1082                                                                                                                         \
1083   do_intrinsic(_allocateInstance,         jdk_internal_misc_Unsafe,     allocateInstance_name, allocateInstance_signature, F_RN) \
1084    do_name(     allocateInstance_name,                                  "allocateInstance")                                      \
1085    do_signature(allocateInstance_signature,                             "(Ljava/lang/Class;)Ljava/lang/Object;")                 \
1086   do_intrinsic(_allocateUninitializedArray, jdk_internal_misc_Unsafe,   allocateUninitializedArray_name, newArray_signature,  F_R) \
1087    do_name(     allocateUninitializedArray_name,                        "allocateUninitializedArray0")                           \
1088   do_intrinsic(_copyMemory,               jdk_internal_misc_Unsafe,     copyMemory_name, copyMemory_signature,         F_RN)     \
1089    do_name(     copyMemory_name,                                        "copyMemory0")                                           \
1090    do_signature(copyMemory_signature,                                   "(Ljava/lang/Object;JLjava/lang/Object;JJ)V")            \
1091   do_intrinsic(_loadFence,                jdk_internal_misc_Unsafe,     loadFence_name, loadFence_signature,           F_RN)     \
1092    do_name(     loadFence_name,                                         "loadFence")                                             \
1093    do_alias(    loadFence_signature,                                    void_method_signature)                                   \
1094   do_intrinsic(_storeFence,               jdk_internal_misc_Unsafe,     storeFence_name, storeFence_signature,         F_RN)     \
1095    do_name(     storeFence_name,                                        "storeFence")                                            \
1096    do_alias(    storeFence_signature,                                   void_method_signature)                                   \
1097   do_intrinsic(_fullFence,                jdk_internal_misc_Unsafe,     fullFence_name, fullFence_signature,           F_RN)     \
1098    do_name(     fullFence_name,                                         "fullFence")                                             \
1099    do_alias(    fullFence_signature,                                    void_method_signature)                                   \


< prev index next >