< prev index next >

src/hotspot/share/classfile/vmSymbols.hpp

Print this page

 47 #define VM_INTRINSIC_IGNORE(id, class, name, sig, flags) /*ignored*/
 48 #define VM_SYMBOL_IGNORE(id, name)                       /*ignored*/
 49 #define VM_ALIAS_IGNORE(id, id2)                         /*ignored*/
 50 
 51 // Mapping function names to values. New entries should be added below.
 52 
 53 #define VM_SYMBOLS_DO(template, do_alias)                                                         \
 54   /* commonly used class, package, module names */                                                \
 55   template(java_base,                                 "java.base")                                \
 56   template(java_lang_System,                          "java/lang/System")                         \
 57   template(java_lang_Object,                          "java/lang/Object")                         \
 58   template(java_lang_Class,                           "java/lang/Class")                          \
 59   template(java_lang_Package,                         "java/lang/Package")                        \
 60   template(java_lang_Module,                          "java/lang/Module")                         \
 61   template(java_lang_String,                          "java/lang/String")                         \
 62   template(java_lang_StringLatin1,                    "java/lang/StringLatin1")                   \
 63   template(java_lang_StringUTF16,                     "java/lang/StringUTF16")                    \
 64   template(java_lang_Thread,                          "java/lang/Thread")                         \
 65   template(java_lang_ThreadGroup,                     "java/lang/ThreadGroup")                    \
 66   template(java_lang_Cloneable,                       "java/lang/Cloneable")                      \

 67   template(java_lang_Throwable,                       "java/lang/Throwable")                      \
 68   template(java_lang_ClassLoader,                     "java/lang/ClassLoader")                    \
 69   template(java_lang_ThreadDeath,                     "java/lang/ThreadDeath")                    \
 70   template(java_lang_Boolean,                         "java/lang/Boolean")                        \
 71   template(java_lang_Character,                       "java/lang/Character")                      \
 72   template(java_lang_Character_CharacterCache,        "java/lang/Character$CharacterCache")       \
 73   template(java_lang_CharacterDataLatin1,             "java/lang/CharacterDataLatin1")            \
 74   template(java_lang_Float,                           "java/lang/Float")                          \
 75   template(java_lang_Double,                          "java/lang/Double")                         \
 76   template(java_lang_Byte,                            "java/lang/Byte")                           \
 77   template(java_lang_Byte_ByteCache,                  "java/lang/Byte$ByteCache")                 \
 78   template(java_lang_Short,                           "java/lang/Short")                          \
 79   template(java_lang_Short_ShortCache,                "java/lang/Short$ShortCache")               \
 80   template(java_lang_Integer,                         "java/lang/Integer")                        \
 81   template(java_lang_Integer_IntegerCache,            "java/lang/Integer$IntegerCache")           \
 82   template(java_lang_Long,                            "java/lang/Long")                           \
 83   template(java_lang_Long_LongCache,                  "java/lang/Long$LongCache")                 \
 84                                                                                                   \
 85   template(jdk_internal_vm_vector_VectorSupport,      "jdk/internal/vm/vector/VectorSupport")               \
 86   template(jdk_internal_vm_vector_VectorPayload,      "jdk/internal/vm/vector/VectorSupport$VectorPayload") \

151                                                                                                   \
152   /* Java runtime version access */                                                               \
153   template(java_lang_VersionProps,                    "java/lang/VersionProps")                   \
154   template(java_version_name,                         "java_version")                             \
155   template(java_runtime_name_name,                    "java_runtime_name")                        \
156   template(java_runtime_version_name,                 "java_runtime_version")                     \
157   template(java_runtime_vendor_version_name,          "VENDOR_VERSION")                           \
158   template(java_runtime_vendor_vm_bug_url_name,       "VENDOR_URL_VM_BUG")                        \
159                                                                                                   \
160   /* system initialization */                                                                     \
161   template(initPhase1_name,                           "initPhase1")                               \
162   template(initPhase2_name,                           "initPhase2")                               \
163   template(initPhase3_name,                           "initPhase3")                               \
164   template(java_lang_module_init_signature,           "(Ljava/lang/ClassLoader;Ljava/lang/String;)V") \
165                                                                                                   \
166   /* class file format tags */                                                                    \
167   template(tag_source_file,                           "SourceFile")                               \
168   template(tag_inner_classes,                         "InnerClasses")                             \
169   template(tag_nest_members,                          "NestMembers")                              \
170   template(tag_nest_host,                             "NestHost")                                 \

171   template(tag_constant_value,                        "ConstantValue")                            \
172   template(tag_code,                                  "Code")                                     \
173   template(tag_exceptions,                            "Exceptions")                               \
174   template(tag_line_number_table,                     "LineNumberTable")                          \
175   template(tag_local_variable_table,                  "LocalVariableTable")                       \
176   template(tag_local_variable_type_table,             "LocalVariableTypeTable")                   \
177   template(tag_method_parameters,                     "MethodParameters")                         \
178   template(tag_stack_map_table,                       "StackMapTable")                            \
179   template(tag_synthetic,                             "Synthetic")                                \
180   template(tag_deprecated,                            "Deprecated")                               \
181   template(tag_source_debug_extension,                "SourceDebugExtension")                     \
182   template(tag_signature,                             "Signature")                                \
183   template(tag_record,                                "Record")                                   \
184   template(tag_runtime_visible_annotations,           "RuntimeVisibleAnnotations")                \
185   template(tag_runtime_invisible_annotations,         "RuntimeInvisibleAnnotations")              \
186   template(tag_runtime_visible_parameter_annotations, "RuntimeVisibleParameterAnnotations")       \
187   template(tag_runtime_invisible_parameter_annotations,"RuntimeInvisibleParameterAnnotations")    \
188   template(tag_annotation_default,                    "AnnotationDefault")                        \
189   template(tag_runtime_visible_type_annotations,      "RuntimeVisibleTypeAnnotations")            \
190   template(tag_runtime_invisible_type_annotations,    "RuntimeInvisibleTypeAnnotations")          \

462   template(input_stream_void_signature,               "(Ljava/io/InputStream;)V")                 \
463   template(input_stream_signature,                    "Ljava/io/InputStream;")                    \
464   template(print_stream_signature,                    "Ljava/io/PrintStream;")                    \
465   template(security_manager_signature,                "Ljava/lang/SecurityManager;")              \
466   template(defineOrCheckPackage_name,                 "defineOrCheckPackage")                     \
467   template(defineOrCheckPackage_signature,            "(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;") \
468   template(fileToEncodedURL_name,                     "fileToEncodedURL")                         \
469   template(fileToEncodedURL_signature,                "(Ljava/io/File;)Ljava/net/URL;")           \
470   template(getProtectionDomain_name,                  "getProtectionDomain")                      \
471   template(getProtectionDomain_signature,             "(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;") \
472   template(java_lang_Integer_array_signature,         "[Ljava/lang/Integer;")                     \
473   template(java_lang_Long_array_signature,            "[Ljava/lang/Long;")                        \
474   template(java_lang_Character_array_signature,       "[Ljava/lang/Character;")                   \
475   template(java_lang_Short_array_signature,           "[Ljava/lang/Short;")                       \
476   template(java_lang_Byte_array_signature,            "[Ljava/lang/Byte;")                        \
477   template(java_lang_Boolean_signature,               "Ljava/lang/Boolean;")                      \
478   template(url_code_signer_array_void_signature,      "(Ljava/net/URL;[Ljava/security/CodeSigner;)V") \
479   template(module_entry_name,                         "module_entry")                             \
480   template(resolved_references_name,                  "<resolved_references>")                    \
481   template(init_lock_name,                            "<init_lock>")                              \


482   template(address_size_name,                         "ADDRESS_SIZE0")                            \
483   template(page_size_name,                            "PAGE_SIZE")                                \
484   template(big_endian_name,                           "BIG_ENDIAN")                               \
485   template(use_unaligned_access_name,                 "UNALIGNED_ACCESS")                         \
486   template(data_cache_line_flush_size_name,           "DATA_CACHE_LINE_FLUSH_SIZE")               \
487   template(during_unsafe_access_name,                 "during_unsafe_access")                     \
488   template(checkIndex_name,                           "checkIndex")                               \
489                                                                                                   \
490   /* name symbols needed by intrinsics */                                                         \
491   VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, template, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) \
492                                                                                                   \
493   /* common signatures names */                                                                   \
494   template(void_method_signature,                     "()V")                                      \
495   template(void_boolean_signature,                    "()Z")                                      \
496   template(void_byte_signature,                       "()B")                                      \
497   template(void_char_signature,                       "()C")                                      \
498   template(void_short_signature,                      "()S")                                      \
499   template(void_int_signature,                        "()I")                                      \
500   template(void_long_signature,                       "()J")                                      \
501   template(void_float_signature,                      "()F")                                      \

537   template(string_void_signature,                     "(Ljava/lang/String;)V")                    \
538   template(string_int_signature,                      "(Ljava/lang/String;)I")                    \
539   template(throwable_signature,                       "Ljava/lang/Throwable;")                    \
540   template(throwable_void_signature,                  "(Ljava/lang/Throwable;)V")                 \
541   template(void_throwable_signature,                  "()Ljava/lang/Throwable;")                  \
542   template(class_void_signature,                      "(Ljava/lang/Class;)V")                     \
543   template(class_int_signature,                       "(Ljava/lang/Class;)I")                     \
544   template(class_long_signature,                      "(Ljava/lang/Class;)J")                     \
545   template(class_boolean_signature,                   "(Ljava/lang/Class;)Z")                     \
546   template(throwable_throwable_signature,             "(Ljava/lang/Throwable;)Ljava/lang/Throwable;")             \
547   template(throwable_string_void_signature,           "(Ljava/lang/Throwable;Ljava/lang/String;)V")               \
548   template(string_array_void_signature,               "([Ljava/lang/String;)V")                                   \
549   template(string_array_string_array_void_signature,  "([Ljava/lang/String;[Ljava/lang/String;)V")                \
550   template(thread_throwable_void_signature,           "(Ljava/lang/Thread;Ljava/lang/Throwable;)V")               \
551   template(thread_void_signature,                     "(Ljava/lang/Thread;)V")                                    \
552   template(threadgroup_runnable_void_signature,       "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V")           \
553   template(threadgroup_string_void_signature,         "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V")             \
554   template(string_class_signature,                    "(Ljava/lang/String;)Ljava/lang/Class;")                    \
555   template(string_boolean_class_signature,            "(Ljava/lang/String;Z)Ljava/lang/Class;")                   \
556   template(object_object_object_signature,            "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \

557   template(string_string_string_signature,            "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;") \
558   template(string_string_signature,                   "(Ljava/lang/String;)Ljava/lang/String;")                   \
559   template(classloader_string_long_signature,         "(Ljava/lang/ClassLoader;Ljava/lang/String;)J")             \
560   template(byte_array_void_signature,                 "([B)V")                                                    \
561   template(char_array_void_signature,                 "([C)V")                                                    \
562   template(int_int_void_signature,                    "(II)V")                                                    \
563   template(long_long_void_signature,                  "(JJ)V")                                                    \
564   template(void_classloader_signature,                "()Ljava/lang/ClassLoader;")                                \
565   template(void_object_signature,                     "()Ljava/lang/Object;")                                     \
566   template(void_class_signature,                      "()Ljava/lang/Class;")                                      \
567   template(void_class_array_signature,                "()[Ljava/lang/Class;")                                     \
568   template(void_string_signature,                     "()Ljava/lang/String;")                                     \
569   template(void_module_signature,                     "()Ljava/lang/Module;")                                     \
570   template(object_array_object_signature,             "([Ljava/lang/Object;)Ljava/lang/Object;")                  \
571   template(object_object_array_object_signature,      "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\
572   template(exception_void_signature,                  "(Ljava/lang/Exception;)V")                                 \
573   template(protectiondomain_signature,                "[Ljava/security/ProtectionDomain;")                        \
574   template(accesscontrolcontext_signature,            "Ljava/security/AccessControlContext;")                     \
575   template(class_protectiondomain_signature,          "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V")     \
576   template(thread_signature,                          "Ljava/lang/Thread;")                                       \

671   template(addReads_signature,                         "(Ljava/lang/Module;Ljava/lang/Module;)V")                 \
672   template(addExports_name,                            "addExports")                                              \
673   template(addOpens_name,                              "addOpens")                                                \
674   template(addExports_signature,                       "(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V") \
675   template(addUses_name,                               "addUses")                                                 \
676   template(addUses_signature,                          "(Ljava/lang/Module;Ljava/lang/Class;)V")                  \
677   template(addProvides_name,                           "addProvides")                                             \
678   template(addProvides_signature,                      "(Ljava/lang/Module;Ljava/lang/Class;Ljava/lang/Class;)V") \
679   template(loadModule_name,                            "loadModule")                                              \
680   template(loadModule_signature,                       "(Ljava/lang/String;)Ljava/lang/Module;")                  \
681   template(transformedByAgent_name,                    "transformedByAgent")                                      \
682   template(transformedByAgent_signature,               "(Ljava/lang/Module;)V")                                   \
683   template(appendToClassPathForInstrumentation_name,   "appendToClassPathForInstrumentation")                     \
684   do_alias(appendToClassPathForInstrumentation_signature, string_void_signature)                                  \
685   template(serializePropertiesToByteArray_name,        "serializePropertiesToByteArray")                          \
686   template(serializePropertiesToByteArray_signature,   "()[B")                                                    \
687   template(serializeAgentPropertiesToByteArray_name,   "serializeAgentPropertiesToByteArray")                     \
688   template(classRedefinedCount_name,                   "classRedefinedCount")                                     \
689   template(classLoader_name,                           "classLoader")                                             \
690   template(componentType_name,                         "componentType")                                           \


691                                                                                                                   \
692   /* forEachRemaining support */                                                                                  \
693   template(java_util_stream_StreamsRangeIntSpliterator,          "java/util/stream/Streams$RangeIntSpliterator")  \
694                                                                                                                   \
695   /* jfr signatures */                                                                                            \
696   JFR_TEMPLATES(template)                                                                                         \
697                                                                                                                   \
698   /* CDS */                                                                                                       \
699   template(dumpSharedArchive,                               "dumpSharedArchive")                                  \
700   template(dumpSharedArchive_signature,                     "(ZLjava/lang/String;)Ljava/lang/String;")            \
701   template(generateLambdaFormHolderClasses,                 "generateLambdaFormHolderClasses")                    \
702   template(generateLambdaFormHolderClasses_signature,       "([Ljava/lang/String;)[Ljava/lang/Object;")           \
703   template(java_lang_Enum,                                  "java/lang/Enum")                                     \
704   template(java_lang_invoke_Invokers_Holder,                "java/lang/invoke/Invokers$Holder")                   \
705   template(java_lang_invoke_DirectMethodHandle_Holder,      "java/lang/invoke/DirectMethodHandle$Holder")         \
706   template(java_lang_invoke_LambdaForm_Holder,              "java/lang/invoke/LambdaForm$Holder")                 \
707   template(java_lang_invoke_DelegatingMethodHandle_Holder,  "java/lang/invoke/DelegatingMethodHandle$Holder")     \
708   template(jdk_internal_loader_ClassLoaders,                "jdk/internal/loader/ClassLoaders")                   \
709   template(jdk_internal_misc_CDS,                           "jdk/internal/misc/CDS")                              \
710   template(java_util_concurrent_ConcurrentHashMap,          "java/util/concurrent/ConcurrentHashMap")             \
711   template(java_util_ArrayList,                             "java/util/ArrayList")                                \
712   template(toFileURL_name,                                  "toFileURL")                                          \
713   template(toFileURL_signature,                             "(Ljava/lang/String;)Ljava/net/URL;")                 \
714   template(url_void_signature,                              "(Ljava/net/URL;)V")                                  \
715   template(url_array_classloader_void_signature,            "([Ljava/net/URL;Ljava/lang/ClassLoader;)V")          \
716                                                                                                                   \




717   /*end*/
718 
719 // enum for figuring positions and size of Symbol::_vm_symbols[]
720 enum class vmSymbolID : int {
721   // [FIRST_SID ... LAST_SID] is the iteration range for the *valid* symbols.
722   // NO_SID is used to indicate an invalid symbol. Some implementation code
723   // *may* read _vm_symbols[NO_SID], so it must be a valid array index.
724   NO_SID = 0,                // exclusive lower limit
725 
726   #define VM_SYMBOL_ENUM(name, string) VM_SYMBOL_ENUM_NAME_(name),
727   VM_SYMBOLS_DO(VM_SYMBOL_ENUM, VM_ALIAS_IGNORE)
728   #undef VM_SYMBOL_ENUM
729 
730   SID_LIMIT,                 // exclusive upper limit
731 
732   #define VM_ALIAS_ENUM(name, def) VM_SYMBOL_ENUM_NAME_(name) = VM_SYMBOL_ENUM_NAME_(def),
733   VM_SYMBOLS_DO(VM_SYMBOL_IGNORE, VM_ALIAS_ENUM)
734   #undef VM_ALIAS_ENUM
735 
736   FIRST_SID = NO_SID + 1,    // inclusive lower limit

 47 #define VM_INTRINSIC_IGNORE(id, class, name, sig, flags) /*ignored*/
 48 #define VM_SYMBOL_IGNORE(id, name)                       /*ignored*/
 49 #define VM_ALIAS_IGNORE(id, id2)                         /*ignored*/
 50 
 51 // Mapping function names to values. New entries should be added below.
 52 
 53 #define VM_SYMBOLS_DO(template, do_alias)                                                         \
 54   /* commonly used class, package, module names */                                                \
 55   template(java_base,                                 "java.base")                                \
 56   template(java_lang_System,                          "java/lang/System")                         \
 57   template(java_lang_Object,                          "java/lang/Object")                         \
 58   template(java_lang_Class,                           "java/lang/Class")                          \
 59   template(java_lang_Package,                         "java/lang/Package")                        \
 60   template(java_lang_Module,                          "java/lang/Module")                         \
 61   template(java_lang_String,                          "java/lang/String")                         \
 62   template(java_lang_StringLatin1,                    "java/lang/StringLatin1")                   \
 63   template(java_lang_StringUTF16,                     "java/lang/StringUTF16")                    \
 64   template(java_lang_Thread,                          "java/lang/Thread")                         \
 65   template(java_lang_ThreadGroup,                     "java/lang/ThreadGroup")                    \
 66   template(java_lang_Cloneable,                       "java/lang/Cloneable")                      \
 67   template(java_lang_NonTearable,                     "java/lang/NonTearable")                    \
 68   template(java_lang_Throwable,                       "java/lang/Throwable")                      \
 69   template(java_lang_ClassLoader,                     "java/lang/ClassLoader")                    \
 70   template(java_lang_ThreadDeath,                     "java/lang/ThreadDeath")                    \
 71   template(java_lang_Boolean,                         "java/lang/Boolean")                        \
 72   template(java_lang_Character,                       "java/lang/Character")                      \
 73   template(java_lang_Character_CharacterCache,        "java/lang/Character$CharacterCache")       \
 74   template(java_lang_CharacterDataLatin1,             "java/lang/CharacterDataLatin1")            \
 75   template(java_lang_Float,                           "java/lang/Float")                          \
 76   template(java_lang_Double,                          "java/lang/Double")                         \
 77   template(java_lang_Byte,                            "java/lang/Byte")                           \
 78   template(java_lang_Byte_ByteCache,                  "java/lang/Byte$ByteCache")                 \
 79   template(java_lang_Short,                           "java/lang/Short")                          \
 80   template(java_lang_Short_ShortCache,                "java/lang/Short$ShortCache")               \
 81   template(java_lang_Integer,                         "java/lang/Integer")                        \
 82   template(java_lang_Integer_IntegerCache,            "java/lang/Integer$IntegerCache")           \
 83   template(java_lang_Long,                            "java/lang/Long")                           \
 84   template(java_lang_Long_LongCache,                  "java/lang/Long$LongCache")                 \
 85                                                                                                   \
 86   template(jdk_internal_vm_vector_VectorSupport,      "jdk/internal/vm/vector/VectorSupport")               \
 87   template(jdk_internal_vm_vector_VectorPayload,      "jdk/internal/vm/vector/VectorSupport$VectorPayload") \

152                                                                                                   \
153   /* Java runtime version access */                                                               \
154   template(java_lang_VersionProps,                    "java/lang/VersionProps")                   \
155   template(java_version_name,                         "java_version")                             \
156   template(java_runtime_name_name,                    "java_runtime_name")                        \
157   template(java_runtime_version_name,                 "java_runtime_version")                     \
158   template(java_runtime_vendor_version_name,          "VENDOR_VERSION")                           \
159   template(java_runtime_vendor_vm_bug_url_name,       "VENDOR_URL_VM_BUG")                        \
160                                                                                                   \
161   /* system initialization */                                                                     \
162   template(initPhase1_name,                           "initPhase1")                               \
163   template(initPhase2_name,                           "initPhase2")                               \
164   template(initPhase3_name,                           "initPhase3")                               \
165   template(java_lang_module_init_signature,           "(Ljava/lang/ClassLoader;Ljava/lang/String;)V") \
166                                                                                                   \
167   /* class file format tags */                                                                    \
168   template(tag_source_file,                           "SourceFile")                               \
169   template(tag_inner_classes,                         "InnerClasses")                             \
170   template(tag_nest_members,                          "NestMembers")                              \
171   template(tag_nest_host,                             "NestHost")                                 \
172   template(tag_preload,                               "Preload")                                  \
173   template(tag_constant_value,                        "ConstantValue")                            \
174   template(tag_code,                                  "Code")                                     \
175   template(tag_exceptions,                            "Exceptions")                               \
176   template(tag_line_number_table,                     "LineNumberTable")                          \
177   template(tag_local_variable_table,                  "LocalVariableTable")                       \
178   template(tag_local_variable_type_table,             "LocalVariableTypeTable")                   \
179   template(tag_method_parameters,                     "MethodParameters")                         \
180   template(tag_stack_map_table,                       "StackMapTable")                            \
181   template(tag_synthetic,                             "Synthetic")                                \
182   template(tag_deprecated,                            "Deprecated")                               \
183   template(tag_source_debug_extension,                "SourceDebugExtension")                     \
184   template(tag_signature,                             "Signature")                                \
185   template(tag_record,                                "Record")                                   \
186   template(tag_runtime_visible_annotations,           "RuntimeVisibleAnnotations")                \
187   template(tag_runtime_invisible_annotations,         "RuntimeInvisibleAnnotations")              \
188   template(tag_runtime_visible_parameter_annotations, "RuntimeVisibleParameterAnnotations")       \
189   template(tag_runtime_invisible_parameter_annotations,"RuntimeInvisibleParameterAnnotations")    \
190   template(tag_annotation_default,                    "AnnotationDefault")                        \
191   template(tag_runtime_visible_type_annotations,      "RuntimeVisibleTypeAnnotations")            \
192   template(tag_runtime_invisible_type_annotations,    "RuntimeInvisibleTypeAnnotations")          \

464   template(input_stream_void_signature,               "(Ljava/io/InputStream;)V")                 \
465   template(input_stream_signature,                    "Ljava/io/InputStream;")                    \
466   template(print_stream_signature,                    "Ljava/io/PrintStream;")                    \
467   template(security_manager_signature,                "Ljava/lang/SecurityManager;")              \
468   template(defineOrCheckPackage_name,                 "defineOrCheckPackage")                     \
469   template(defineOrCheckPackage_signature,            "(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;") \
470   template(fileToEncodedURL_name,                     "fileToEncodedURL")                         \
471   template(fileToEncodedURL_signature,                "(Ljava/io/File;)Ljava/net/URL;")           \
472   template(getProtectionDomain_name,                  "getProtectionDomain")                      \
473   template(getProtectionDomain_signature,             "(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;") \
474   template(java_lang_Integer_array_signature,         "[Ljava/lang/Integer;")                     \
475   template(java_lang_Long_array_signature,            "[Ljava/lang/Long;")                        \
476   template(java_lang_Character_array_signature,       "[Ljava/lang/Character;")                   \
477   template(java_lang_Short_array_signature,           "[Ljava/lang/Short;")                       \
478   template(java_lang_Byte_array_signature,            "[Ljava/lang/Byte;")                        \
479   template(java_lang_Boolean_signature,               "Ljava/lang/Boolean;")                      \
480   template(url_code_signer_array_void_signature,      "(Ljava/net/URL;[Ljava/security/CodeSigner;)V") \
481   template(module_entry_name,                         "module_entry")                             \
482   template(resolved_references_name,                  "<resolved_references>")                    \
483   template(init_lock_name,                            "<init_lock>")                              \
484   template(default_value_name,                        ".default")                                 \
485   template(empty_marker_name,                         ".empty")                                   \
486   template(address_size_name,                         "ADDRESS_SIZE0")                            \
487   template(page_size_name,                            "PAGE_SIZE")                                \
488   template(big_endian_name,                           "BIG_ENDIAN")                               \
489   template(use_unaligned_access_name,                 "UNALIGNED_ACCESS")                         \
490   template(data_cache_line_flush_size_name,           "DATA_CACHE_LINE_FLUSH_SIZE")               \
491   template(during_unsafe_access_name,                 "during_unsafe_access")                     \
492   template(checkIndex_name,                           "checkIndex")                               \
493                                                                                                   \
494   /* name symbols needed by intrinsics */                                                         \
495   VM_INTRINSICS_DO(VM_INTRINSIC_IGNORE, VM_SYMBOL_IGNORE, template, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) \
496                                                                                                   \
497   /* common signatures names */                                                                   \
498   template(void_method_signature,                     "()V")                                      \
499   template(void_boolean_signature,                    "()Z")                                      \
500   template(void_byte_signature,                       "()B")                                      \
501   template(void_char_signature,                       "()C")                                      \
502   template(void_short_signature,                      "()S")                                      \
503   template(void_int_signature,                        "()I")                                      \
504   template(void_long_signature,                       "()J")                                      \
505   template(void_float_signature,                      "()F")                                      \

541   template(string_void_signature,                     "(Ljava/lang/String;)V")                    \
542   template(string_int_signature,                      "(Ljava/lang/String;)I")                    \
543   template(throwable_signature,                       "Ljava/lang/Throwable;")                    \
544   template(throwable_void_signature,                  "(Ljava/lang/Throwable;)V")                 \
545   template(void_throwable_signature,                  "()Ljava/lang/Throwable;")                  \
546   template(class_void_signature,                      "(Ljava/lang/Class;)V")                     \
547   template(class_int_signature,                       "(Ljava/lang/Class;)I")                     \
548   template(class_long_signature,                      "(Ljava/lang/Class;)J")                     \
549   template(class_boolean_signature,                   "(Ljava/lang/Class;)Z")                     \
550   template(throwable_throwable_signature,             "(Ljava/lang/Throwable;)Ljava/lang/Throwable;")             \
551   template(throwable_string_void_signature,           "(Ljava/lang/Throwable;Ljava/lang/String;)V")               \
552   template(string_array_void_signature,               "([Ljava/lang/String;)V")                                   \
553   template(string_array_string_array_void_signature,  "([Ljava/lang/String;[Ljava/lang/String;)V")                \
554   template(thread_throwable_void_signature,           "(Ljava/lang/Thread;Ljava/lang/Throwable;)V")               \
555   template(thread_void_signature,                     "(Ljava/lang/Thread;)V")                                    \
556   template(threadgroup_runnable_void_signature,       "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V")           \
557   template(threadgroup_string_void_signature,         "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V")             \
558   template(string_class_signature,                    "(Ljava/lang/String;)Ljava/lang/Class;")                    \
559   template(string_boolean_class_signature,            "(Ljava/lang/String;Z)Ljava/lang/Class;")                   \
560   template(object_object_object_signature,            "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \
561   template(object_object_boolean_signature,           "(Ljava/lang/Object;Ljava/lang/Object;)Z") \
562   template(string_string_string_signature,            "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;") \
563   template(string_string_signature,                   "(Ljava/lang/String;)Ljava/lang/String;")                   \
564   template(classloader_string_long_signature,         "(Ljava/lang/ClassLoader;Ljava/lang/String;)J")             \
565   template(byte_array_void_signature,                 "([B)V")                                                    \
566   template(char_array_void_signature,                 "([C)V")                                                    \
567   template(int_int_void_signature,                    "(II)V")                                                    \
568   template(long_long_void_signature,                  "(JJ)V")                                                    \
569   template(void_classloader_signature,                "()Ljava/lang/ClassLoader;")                                \
570   template(void_object_signature,                     "()Ljava/lang/Object;")                                     \
571   template(void_class_signature,                      "()Ljava/lang/Class;")                                      \
572   template(void_class_array_signature,                "()[Ljava/lang/Class;")                                     \
573   template(void_string_signature,                     "()Ljava/lang/String;")                                     \
574   template(void_module_signature,                     "()Ljava/lang/Module;")                                     \
575   template(object_array_object_signature,             "([Ljava/lang/Object;)Ljava/lang/Object;")                  \
576   template(object_object_array_object_signature,      "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\
577   template(exception_void_signature,                  "(Ljava/lang/Exception;)V")                                 \
578   template(protectiondomain_signature,                "[Ljava/security/ProtectionDomain;")                        \
579   template(accesscontrolcontext_signature,            "Ljava/security/AccessControlContext;")                     \
580   template(class_protectiondomain_signature,          "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V")     \
581   template(thread_signature,                          "Ljava/lang/Thread;")                                       \

676   template(addReads_signature,                         "(Ljava/lang/Module;Ljava/lang/Module;)V")                 \
677   template(addExports_name,                            "addExports")                                              \
678   template(addOpens_name,                              "addOpens")                                                \
679   template(addExports_signature,                       "(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V") \
680   template(addUses_name,                               "addUses")                                                 \
681   template(addUses_signature,                          "(Ljava/lang/Module;Ljava/lang/Class;)V")                  \
682   template(addProvides_name,                           "addProvides")                                             \
683   template(addProvides_signature,                      "(Ljava/lang/Module;Ljava/lang/Class;Ljava/lang/Class;)V") \
684   template(loadModule_name,                            "loadModule")                                              \
685   template(loadModule_signature,                       "(Ljava/lang/String;)Ljava/lang/Module;")                  \
686   template(transformedByAgent_name,                    "transformedByAgent")                                      \
687   template(transformedByAgent_signature,               "(Ljava/lang/Module;)V")                                   \
688   template(appendToClassPathForInstrumentation_name,   "appendToClassPathForInstrumentation")                     \
689   do_alias(appendToClassPathForInstrumentation_signature, string_void_signature)                                  \
690   template(serializePropertiesToByteArray_name,        "serializePropertiesToByteArray")                          \
691   template(serializePropertiesToByteArray_signature,   "()[B")                                                    \
692   template(serializeAgentPropertiesToByteArray_name,   "serializeAgentPropertiesToByteArray")                     \
693   template(classRedefinedCount_name,                   "classRedefinedCount")                                     \
694   template(classLoader_name,                           "classLoader")                                             \
695   template(componentType_name,                         "componentType")                                           \
696   template(primaryType_name,                           "primaryType")                                             \
697   template(secondaryType_name,                         "secondaryType")                                           \
698                                                                                                                   \
699   /* forEachRemaining support */                                                                                  \
700   template(java_util_stream_StreamsRangeIntSpliterator,          "java/util/stream/Streams$RangeIntSpliterator")  \
701                                                                                                                   \
702   /* jfr signatures */                                                                                            \
703   JFR_TEMPLATES(template)                                                                                         \
704                                                                                                                   \
705   /* CDS */                                                                                                       \
706   template(dumpSharedArchive,                               "dumpSharedArchive")                                  \
707   template(dumpSharedArchive_signature,                     "(ZLjava/lang/String;)Ljava/lang/String;")            \
708   template(generateLambdaFormHolderClasses,                 "generateLambdaFormHolderClasses")                    \
709   template(generateLambdaFormHolderClasses_signature,       "([Ljava/lang/String;)[Ljava/lang/Object;")           \
710   template(java_lang_Enum,                                  "java/lang/Enum")                                     \
711   template(java_lang_invoke_Invokers_Holder,                "java/lang/invoke/Invokers$Holder")                   \
712   template(java_lang_invoke_DirectMethodHandle_Holder,      "java/lang/invoke/DirectMethodHandle$Holder")         \
713   template(java_lang_invoke_LambdaForm_Holder,              "java/lang/invoke/LambdaForm$Holder")                 \
714   template(java_lang_invoke_DelegatingMethodHandle_Holder,  "java/lang/invoke/DelegatingMethodHandle$Holder")     \
715   template(jdk_internal_loader_ClassLoaders,                "jdk/internal/loader/ClassLoaders")                   \
716   template(jdk_internal_misc_CDS,                           "jdk/internal/misc/CDS")                              \
717   template(java_util_concurrent_ConcurrentHashMap,          "java/util/concurrent/ConcurrentHashMap")             \
718   template(java_util_ArrayList,                             "java/util/ArrayList")                                \
719   template(toFileURL_name,                                  "toFileURL")                                          \
720   template(toFileURL_signature,                             "(Ljava/lang/String;)Ljava/net/URL;")                 \
721   template(url_void_signature,                              "(Ljava/net/URL;)V")                                  \
722   template(url_array_classloader_void_signature,            "([Ljava/net/URL;Ljava/lang/ClassLoader;)V")          \
723                                                                                                                   \
724   template(java_lang_runtime_PrimitiveObjectMethods,        "java/lang/runtime/PrimitiveObjectMethods")           \
725   template(isSubstitutable_name,                            "isSubstitutable")                                    \
726   template(primitiveObjectHashCode_name,                    "primitiveObjectHashCode")                            \
727                                                                                                                   \
728   /*end*/
729 
730 // enum for figuring positions and size of Symbol::_vm_symbols[]
731 enum class vmSymbolID : int {
732   // [FIRST_SID ... LAST_SID] is the iteration range for the *valid* symbols.
733   // NO_SID is used to indicate an invalid symbol. Some implementation code
734   // *may* read _vm_symbols[NO_SID], so it must be a valid array index.
735   NO_SID = 0,                // exclusive lower limit
736 
737   #define VM_SYMBOL_ENUM(name, string) VM_SYMBOL_ENUM_NAME_(name),
738   VM_SYMBOLS_DO(VM_SYMBOL_ENUM, VM_ALIAS_IGNORE)
739   #undef VM_SYMBOL_ENUM
740 
741   SID_LIMIT,                 // exclusive upper limit
742 
743   #define VM_ALIAS_ENUM(name, def) VM_SYMBOL_ENUM_NAME_(name) = VM_SYMBOL_ENUM_NAME_(def),
744   VM_SYMBOLS_DO(VM_SYMBOL_IGNORE, VM_ALIAS_ENUM)
745   #undef VM_ALIAS_ENUM
746 
747   FIRST_SID = NO_SID + 1,    // inclusive lower limit
< prev index next >