< prev index next >

src/hotspot/share/classfile/vmSymbols.hpp

Print this page




 308   template(java_lang_invoke_MethodHandleNatives_CallSiteContext_signature, "Ljava/lang/invoke/MethodHandleNatives$CallSiteContext;") \
 309   /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */         \
 310   template(findMethodHandleType_name,                 "findMethodHandleType")                     \
 311   template(findMethodHandleType_signature,       "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
 312   template(invokeExact_name,                          "invokeExact")                              \
 313   template(linkMethodHandleConstant_name,             "linkMethodHandleConstant")                 \
 314   template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \
 315   template(linkMethod_name,                           "linkMethod")                               \
 316   template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
 317   template(linkDynamicConstant_name,                  "linkDynamicConstant")                      \
 318   template(linkDynamicConstant_signature, "(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \
 319   template(linkCallSite_name,                         "linkCallSite")                             \
 320   template(linkCallSite_signature, "(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
 321   template(setTargetNormal_name,                      "setTargetNormal")                          \
 322   template(setTargetVolatile_name,                    "setTargetVolatile")                        \
 323   template(setTarget_signature,                       "(Ljava/lang/invoke/MethodHandle;)V")       \
 324   template(DEFAULT_CONTEXT_name,                      "DEFAULT_CONTEXT")                          \
 325   NOT_LP64(  do_alias(intptr_signature,               int_signature)  )                           \
 326   LP64_ONLY( do_alias(intptr_signature,               long_signature) )                           \
 327                                                                                                                                       \

 328   /* Support for JVMCI */                                                                                                             \
 329   JVMCI_VM_SYMBOLS_DO(template, do_alias)                                                         \
 330                                                                                                   \
 331   template(java_lang_StackWalker,                     "java/lang/StackWalker")                    \
 332   template(java_lang_StackFrameInfo,                  "java/lang/StackFrameInfo")                 \
 333   template(java_lang_LiveStackFrameInfo,              "java/lang/LiveStackFrameInfo")             \
 334   template(java_lang_StackStreamFactory_AbstractStackWalker, "java/lang/StackStreamFactory$AbstractStackWalker") \
 335   template(doStackWalk_signature,                     "(JIIII)Ljava/lang/Object;")                \
 336   template(asPrimitive_name,                          "asPrimitive")                              \
 337   template(asPrimitive_int_signature,                 "(I)Ljava/lang/LiveStackFrame$PrimitiveSlot;") \
 338   template(asPrimitive_long_signature,                "(J)Ljava/lang/LiveStackFrame$PrimitiveSlot;") \
 339                                                                                                   \
 340   /* common method and field names */                                                             \
 341   template(object_initializer_name,                   "<init>")                                   \
 342   template(class_initializer_name,                    "<clinit>")                                 \
 343   template(println_name,                              "println")                                  \
 344   template(printStackTrace_name,                      "printStackTrace")                          \
 345   template(main_name,                                 "main")                                     \
 346   template(name_name,                                 "name")                                     \
 347   template(priority_name,                             "priority")                                 \


 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")                                     \


 492   template(object_boolean_signature,                  "(Ljava/lang/Object;)Z")                    \
 493   template(object_object_signature,                   "(Ljava/lang/Object;)Ljava/lang/Object;")   \
 494   template(string_void_signature,                     "(Ljava/lang/String;)V")                    \
 495   template(string_int_signature,                      "(Ljava/lang/String;)I")                    \
 496   template(throwable_void_signature,                  "(Ljava/lang/Throwable;)V")                 \
 497   template(void_throwable_signature,                  "()Ljava/lang/Throwable;")                  \
 498   template(throwable_throwable_signature,             "(Ljava/lang/Throwable;)Ljava/lang/Throwable;")             \
 499   template(class_void_signature,                      "(Ljava/lang/Class;)V")                     \
 500   template(class_int_signature,                       "(Ljava/lang/Class;)I")                     \
 501   template(class_long_signature,                      "(Ljava/lang/Class;)J")                     \
 502   template(class_boolean_signature,                   "(Ljava/lang/Class;)Z")                     \
 503   template(throwable_string_void_signature,           "(Ljava/lang/Throwable;Ljava/lang/String;)V")               \
 504   template(string_array_void_signature,               "([Ljava/lang/String;)V")                                   \
 505   template(string_array_string_array_void_signature,  "([Ljava/lang/String;[Ljava/lang/String;)V")                \
 506   template(thread_throwable_void_signature,           "(Ljava/lang/Thread;Ljava/lang/Throwable;)V")               \
 507   template(thread_void_signature,                     "(Ljava/lang/Thread;)V")                                    \
 508   template(threadgroup_runnable_void_signature,       "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V")           \
 509   template(threadgroup_string_void_signature,         "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V")             \
 510   template(string_class_signature,                    "(Ljava/lang/String;)Ljava/lang/Class;")                    \
 511   template(object_object_object_signature,            "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \

 512   template(string_string_string_signature,            "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;") \
 513   template(string_string_signature,                   "(Ljava/lang/String;)Ljava/lang/String;")                   \
 514   template(classloader_string_long_signature,         "(Ljava/lang/ClassLoader;Ljava/lang/String;)J")             \
 515   template(byte_array_void_signature,                 "([B)V")                                                    \
 516   template(char_array_void_signature,                 "([C)V")                                                    \
 517   template(int_int_void_signature,                    "(II)V")                                                    \
 518   template(long_long_void_signature,                  "(JJ)V")                                                    \
 519   template(void_classloader_signature,                "()Ljava/lang/ClassLoader;")                                \
 520   template(void_object_signature,                     "()Ljava/lang/Object;")                                     \
 521   template(void_class_signature,                      "()Ljava/lang/Class;")                                      \
 522   template(void_class_array_signature,                "()[Ljava/lang/Class;")                                     \
 523   template(void_string_signature,                     "()Ljava/lang/String;")                                     \
 524   template(void_module_signature,                     "()Ljava/lang/Module;")                                     \
 525   template(object_array_object_signature,             "([Ljava/lang/Object;)Ljava/lang/Object;")                  \
 526   template(object_object_array_object_signature,      "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\
 527   template(exception_void_signature,                  "(Ljava/lang/Exception;)V")                                 \
 528   template(protectiondomain_signature,                "[Ljava/security/ProtectionDomain;")                        \
 529   template(accesscontrolcontext_signature,            "Ljava/security/AccessControlContext;")                     \
 530   template(class_protectiondomain_signature,          "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V")     \
 531   template(thread_signature,                          "Ljava/lang/Thread;")                                       \


 640   do_alias(appendToClassPathForInstrumentation_signature, string_void_signature)                                  \
 641   template(serializePropertiesToByteArray_name,        "serializePropertiesToByteArray")                          \
 642   template(serializePropertiesToByteArray_signature,   "()[B")                                                    \
 643   template(serializeAgentPropertiesToByteArray_name,   "serializeAgentPropertiesToByteArray")                     \
 644   template(classRedefinedCount_name,                   "classRedefinedCount")                                     \
 645   template(classLoader_name,                           "classLoader")                                             \
 646   template(componentType_name,                         "componentType")                                           \
 647                                                                                                                   \
 648   /* forEachRemaining support */                                                                                  \
 649   template(java_util_stream_StreamsRangeIntSpliterator,          "java/util/stream/Streams$RangeIntSpliterator")  \
 650                                                                                                                   \
 651   /* jfr signatures */                                                                                            \
 652   JFR_TEMPLATES(template)                                                                                         \
 653                                                                                                                   \
 654   /* cds */                                                                                                       \
 655   template(jdk_internal_loader_ClassLoaders,       "jdk/internal/loader/ClassLoaders")                            \
 656   template(toFileURL_name,                         "toFileURL")                                                   \
 657   template(toFileURL_signature,                    "(Ljava/lang/String;)Ljava/net/URL;")                          \
 658   template(url_void_signature,                     "(Ljava/net/URL;)V")                                           \
 659                                                                                                                   \


 660   /*end*/
 661 
 662 // Here are all the intrinsics known to the runtime and the CI.
 663 // Each intrinsic consists of a public enum name (like _hashCode),
 664 // followed by a specification of its klass, name, and signature:
 665 //    template(<id>,  <klass>,  <name>, <sig>, <FCODE>)
 666 //
 667 // If you add an intrinsic here, you must also define its name
 668 // and signature as members of the VM symbols.  The VM symbols for
 669 // the intrinsic name and signature may be defined above.
 670 //
 671 // Because the VM_SYMBOLS_DO macro makes reference to VM_INTRINSICS_DO,
 672 // you can also define an intrinsic's name and/or signature locally to the
 673 // intrinsic, if this makes sense.  (It often does make sense.)
 674 //
 675 // For example:
 676 //    do_intrinsic(_foo,  java_lang_Object,  foo_name, foo_signature, F_xx)
 677 //     do_name(     foo_name, "foo")
 678 //     do_signature(foo_signature, "()F")
 679 // klass      = vmSymbols::java_lang_Object()


1103                                                                                                                         \
1104   /* unsafe memory references (there are a lot of them...) */                                                           \
1105   do_signature(getReference_signature,    "(Ljava/lang/Object;J)Ljava/lang/Object;")                                    \
1106   do_signature(putReference_signature,    "(Ljava/lang/Object;JLjava/lang/Object;)V")                                   \
1107   do_signature(getBoolean_signature,      "(Ljava/lang/Object;J)Z")                                                     \
1108   do_signature(putBoolean_signature,      "(Ljava/lang/Object;JZ)V")                                                    \
1109   do_signature(getByte_signature,         "(Ljava/lang/Object;J)B")                                                     \
1110   do_signature(putByte_signature,         "(Ljava/lang/Object;JB)V")                                                    \
1111   do_signature(getShort_signature,        "(Ljava/lang/Object;J)S")                                                     \
1112   do_signature(putShort_signature,        "(Ljava/lang/Object;JS)V")                                                    \
1113   do_signature(getChar_signature,         "(Ljava/lang/Object;J)C")                                                     \
1114   do_signature(putChar_signature,         "(Ljava/lang/Object;JC)V")                                                    \
1115   do_signature(getInt_signature,          "(Ljava/lang/Object;J)I")                                                     \
1116   do_signature(putInt_signature,          "(Ljava/lang/Object;JI)V")                                                    \
1117   do_signature(getLong_signature,         "(Ljava/lang/Object;J)J")                                                     \
1118   do_signature(putLong_signature,         "(Ljava/lang/Object;JJ)V")                                                    \
1119   do_signature(getFloat_signature,        "(Ljava/lang/Object;J)F")                                                     \
1120   do_signature(putFloat_signature,        "(Ljava/lang/Object;JF)V")                                                    \
1121   do_signature(getDouble_signature,       "(Ljava/lang/Object;J)D")                                                     \
1122   do_signature(putDouble_signature,       "(Ljava/lang/Object;JD)V")                                                    \


1123                                                                                                                         \
1124   do_name(getReference_name,"getReference")     do_name(putReference_name,"putReference")                               \
1125   do_name(getBoolean_name,"getBoolean")         do_name(putBoolean_name,"putBoolean")                                   \
1126   do_name(getByte_name,"getByte")               do_name(putByte_name,"putByte")                                         \
1127   do_name(getShort_name,"getShort")             do_name(putShort_name,"putShort")                                       \
1128   do_name(getChar_name,"getChar")               do_name(putChar_name,"putChar")                                         \
1129   do_name(getInt_name,"getInt")                 do_name(putInt_name,"putInt")                                           \
1130   do_name(getLong_name,"getLong")               do_name(putLong_name,"putLong")                                         \
1131   do_name(getFloat_name,"getFloat")             do_name(putFloat_name,"putFloat")                                       \
1132   do_name(getDouble_name,"getDouble")           do_name(putDouble_name,"putDouble")                                     \



1133                                                                                                                         \
1134   do_intrinsic(_getReference,       jdk_internal_misc_Unsafe,     getReference_name, getReference_signature,     F_RN)  \
1135   do_intrinsic(_getBoolean,         jdk_internal_misc_Unsafe,     getBoolean_name, getBoolean_signature,         F_RN)  \
1136   do_intrinsic(_getByte,            jdk_internal_misc_Unsafe,     getByte_name, getByte_signature,               F_RN)  \
1137   do_intrinsic(_getShort,           jdk_internal_misc_Unsafe,     getShort_name, getShort_signature,             F_RN)  \
1138   do_intrinsic(_getChar,            jdk_internal_misc_Unsafe,     getChar_name, getChar_signature,               F_RN)  \
1139   do_intrinsic(_getInt,             jdk_internal_misc_Unsafe,     getInt_name, getInt_signature,                 F_RN)  \
1140   do_intrinsic(_getLong,            jdk_internal_misc_Unsafe,     getLong_name, getLong_signature,               F_RN)  \
1141   do_intrinsic(_getFloat,           jdk_internal_misc_Unsafe,     getFloat_name, getFloat_signature,             F_RN)  \
1142   do_intrinsic(_getDouble,          jdk_internal_misc_Unsafe,     getDouble_name, getDouble_signature,           F_RN)  \

1143   do_intrinsic(_putReference,       jdk_internal_misc_Unsafe,     putReference_name, putReference_signature,     F_RN)  \
1144   do_intrinsic(_putBoolean,         jdk_internal_misc_Unsafe,     putBoolean_name, putBoolean_signature,         F_RN)  \
1145   do_intrinsic(_putByte,            jdk_internal_misc_Unsafe,     putByte_name, putByte_signature,               F_RN)  \
1146   do_intrinsic(_putShort,           jdk_internal_misc_Unsafe,     putShort_name, putShort_signature,             F_RN)  \
1147   do_intrinsic(_putChar,            jdk_internal_misc_Unsafe,     putChar_name, putChar_signature,               F_RN)  \
1148   do_intrinsic(_putInt,             jdk_internal_misc_Unsafe,     putInt_name, putInt_signature,                 F_RN)  \
1149   do_intrinsic(_putLong,            jdk_internal_misc_Unsafe,     putLong_name, putLong_signature,               F_RN)  \
1150   do_intrinsic(_putFloat,           jdk_internal_misc_Unsafe,     putFloat_name, putFloat_signature,             F_RN)  \
1151   do_intrinsic(_putDouble,          jdk_internal_misc_Unsafe,     putDouble_name, putDouble_signature,           F_RN)  \




1152                                                                                                                         \
1153   do_name(getReferenceVolatile_name,"getReferenceVolatile")   do_name(putReferenceVolatile_name,"putReferenceVolatile") \
1154   do_name(getBooleanVolatile_name,"getBooleanVolatile")       do_name(putBooleanVolatile_name,"putBooleanVolatile")     \
1155   do_name(getByteVolatile_name,"getByteVolatile")             do_name(putByteVolatile_name,"putByteVolatile")           \
1156   do_name(getShortVolatile_name,"getShortVolatile")           do_name(putShortVolatile_name,"putShortVolatile")         \
1157   do_name(getCharVolatile_name,"getCharVolatile")             do_name(putCharVolatile_name,"putCharVolatile")           \
1158   do_name(getIntVolatile_name,"getIntVolatile")               do_name(putIntVolatile_name,"putIntVolatile")             \
1159   do_name(getLongVolatile_name,"getLongVolatile")             do_name(putLongVolatile_name,"putLongVolatile")           \
1160   do_name(getFloatVolatile_name,"getFloatVolatile")           do_name(putFloatVolatile_name,"putFloatVolatile")         \
1161   do_name(getDoubleVolatile_name,"getDoubleVolatile")         do_name(putDoubleVolatile_name,"putDoubleVolatile")       \
1162                                                                                                                         \
1163   do_intrinsic(_getReferenceVolatile,     jdk_internal_misc_Unsafe,     getReferenceVolatile_name, getReference_signature, F_RN)  \
1164   do_intrinsic(_getBooleanVolatile,       jdk_internal_misc_Unsafe,     getBooleanVolatile_name, getBoolean_signature,     F_RN)  \
1165   do_intrinsic(_getByteVolatile,          jdk_internal_misc_Unsafe,     getByteVolatile_name, getByte_signature,           F_RN)  \
1166   do_intrinsic(_getShortVolatile,         jdk_internal_misc_Unsafe,     getShortVolatile_name, getShort_signature,         F_RN)  \
1167   do_intrinsic(_getCharVolatile,          jdk_internal_misc_Unsafe,     getCharVolatile_name, getChar_signature,           F_RN)  \
1168   do_intrinsic(_getIntVolatile,           jdk_internal_misc_Unsafe,     getIntVolatile_name, getInt_signature,             F_RN)  \
1169   do_intrinsic(_getLongVolatile,          jdk_internal_misc_Unsafe,     getLongVolatile_name, getLong_signature,           F_RN)  \
1170   do_intrinsic(_getFloatVolatile,         jdk_internal_misc_Unsafe,     getFloatVolatile_name, getFloat_signature,         F_RN)  \
1171   do_intrinsic(_getDoubleVolatile,        jdk_internal_misc_Unsafe,     getDoubleVolatile_name, getDouble_signature,       F_RN)  \




 308   template(java_lang_invoke_MethodHandleNatives_CallSiteContext_signature, "Ljava/lang/invoke/MethodHandleNatives$CallSiteContext;") \
 309   /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */         \
 310   template(findMethodHandleType_name,                 "findMethodHandleType")                     \
 311   template(findMethodHandleType_signature,       "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
 312   template(invokeExact_name,                          "invokeExact")                              \
 313   template(linkMethodHandleConstant_name,             "linkMethodHandleConstant")                 \
 314   template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \
 315   template(linkMethod_name,                           "linkMethod")                               \
 316   template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
 317   template(linkDynamicConstant_name,                  "linkDynamicConstant")                      \
 318   template(linkDynamicConstant_signature, "(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \
 319   template(linkCallSite_name,                         "linkCallSite")                             \
 320   template(linkCallSite_signature, "(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
 321   template(setTargetNormal_name,                      "setTargetNormal")                          \
 322   template(setTargetVolatile_name,                    "setTargetVolatile")                        \
 323   template(setTarget_signature,                       "(Ljava/lang/invoke/MethodHandle;)V")       \
 324   template(DEFAULT_CONTEXT_name,                      "DEFAULT_CONTEXT")                          \
 325   NOT_LP64(  do_alias(intptr_signature,               int_signature)  )                           \
 326   LP64_ONLY( do_alias(intptr_signature,               long_signature) )                           \
 327                                                                                                   \
 328                                                                                                   \
 329   /* Support for JVMCI */                                                                         \
 330   JVMCI_VM_SYMBOLS_DO(template, do_alias)                                                         \
 331                                                                                                   \
 332   template(java_lang_StackWalker,                     "java/lang/StackWalker")                    \
 333   template(java_lang_StackFrameInfo,                  "java/lang/StackFrameInfo")                 \
 334   template(java_lang_LiveStackFrameInfo,              "java/lang/LiveStackFrameInfo")             \
 335   template(java_lang_StackStreamFactory_AbstractStackWalker, "java/lang/StackStreamFactory$AbstractStackWalker") \
 336   template(doStackWalk_signature,                     "(JIIII)Ljava/lang/Object;")                \
 337   template(asPrimitive_name,                          "asPrimitive")                              \
 338   template(asPrimitive_int_signature,                 "(I)Ljava/lang/LiveStackFrame$PrimitiveSlot;") \
 339   template(asPrimitive_long_signature,                "(J)Ljava/lang/LiveStackFrame$PrimitiveSlot;") \
 340                                                                                                   \
 341   /* common method and field names */                                                             \
 342   template(object_initializer_name,                   "<init>")                                   \
 343   template(class_initializer_name,                    "<clinit>")                                 \
 344   template(println_name,                              "println")                                  \
 345   template(printStackTrace_name,                      "printStackTrace")                          \
 346   template(main_name,                                 "main")                                     \
 347   template(name_name,                                 "name")                                     \
 348   template(priority_name,                             "priority")                                 \


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


 494   template(object_boolean_signature,                  "(Ljava/lang/Object;)Z")                    \
 495   template(object_object_signature,                   "(Ljava/lang/Object;)Ljava/lang/Object;")   \
 496   template(string_void_signature,                     "(Ljava/lang/String;)V")                    \
 497   template(string_int_signature,                      "(Ljava/lang/String;)I")                    \
 498   template(throwable_void_signature,                  "(Ljava/lang/Throwable;)V")                 \
 499   template(void_throwable_signature,                  "()Ljava/lang/Throwable;")                  \
 500   template(throwable_throwable_signature,             "(Ljava/lang/Throwable;)Ljava/lang/Throwable;")             \
 501   template(class_void_signature,                      "(Ljava/lang/Class;)V")                     \
 502   template(class_int_signature,                       "(Ljava/lang/Class;)I")                     \
 503   template(class_long_signature,                      "(Ljava/lang/Class;)J")                     \
 504   template(class_boolean_signature,                   "(Ljava/lang/Class;)Z")                     \
 505   template(throwable_string_void_signature,           "(Ljava/lang/Throwable;Ljava/lang/String;)V")               \
 506   template(string_array_void_signature,               "([Ljava/lang/String;)V")                                   \
 507   template(string_array_string_array_void_signature,  "([Ljava/lang/String;[Ljava/lang/String;)V")                \
 508   template(thread_throwable_void_signature,           "(Ljava/lang/Thread;Ljava/lang/Throwable;)V")               \
 509   template(thread_void_signature,                     "(Ljava/lang/Thread;)V")                                    \
 510   template(threadgroup_runnable_void_signature,       "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V")           \
 511   template(threadgroup_string_void_signature,         "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V")             \
 512   template(string_class_signature,                    "(Ljava/lang/String;)Ljava/lang/Class;")                    \
 513   template(object_object_object_signature,            "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \
 514   template(object_object_boolean_signature,           "(Ljava/lang/Object;Ljava/lang/Object;)Z") \
 515   template(string_string_string_signature,            "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;") \
 516   template(string_string_signature,                   "(Ljava/lang/String;)Ljava/lang/String;")                   \
 517   template(classloader_string_long_signature,         "(Ljava/lang/ClassLoader;Ljava/lang/String;)J")             \
 518   template(byte_array_void_signature,                 "([B)V")                                                    \
 519   template(char_array_void_signature,                 "([C)V")                                                    \
 520   template(int_int_void_signature,                    "(II)V")                                                    \
 521   template(long_long_void_signature,                  "(JJ)V")                                                    \
 522   template(void_classloader_signature,                "()Ljava/lang/ClassLoader;")                                \
 523   template(void_object_signature,                     "()Ljava/lang/Object;")                                     \
 524   template(void_class_signature,                      "()Ljava/lang/Class;")                                      \
 525   template(void_class_array_signature,                "()[Ljava/lang/Class;")                                     \
 526   template(void_string_signature,                     "()Ljava/lang/String;")                                     \
 527   template(void_module_signature,                     "()Ljava/lang/Module;")                                     \
 528   template(object_array_object_signature,             "([Ljava/lang/Object;)Ljava/lang/Object;")                  \
 529   template(object_object_array_object_signature,      "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\
 530   template(exception_void_signature,                  "(Ljava/lang/Exception;)V")                                 \
 531   template(protectiondomain_signature,                "[Ljava/security/ProtectionDomain;")                        \
 532   template(accesscontrolcontext_signature,            "Ljava/security/AccessControlContext;")                     \
 533   template(class_protectiondomain_signature,          "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V")     \
 534   template(thread_signature,                          "Ljava/lang/Thread;")                                       \


 643   do_alias(appendToClassPathForInstrumentation_signature, string_void_signature)                                  \
 644   template(serializePropertiesToByteArray_name,        "serializePropertiesToByteArray")                          \
 645   template(serializePropertiesToByteArray_signature,   "()[B")                                                    \
 646   template(serializeAgentPropertiesToByteArray_name,   "serializeAgentPropertiesToByteArray")                     \
 647   template(classRedefinedCount_name,                   "classRedefinedCount")                                     \
 648   template(classLoader_name,                           "classLoader")                                             \
 649   template(componentType_name,                         "componentType")                                           \
 650                                                                                                                   \
 651   /* forEachRemaining support */                                                                                  \
 652   template(java_util_stream_StreamsRangeIntSpliterator,          "java/util/stream/Streams$RangeIntSpliterator")  \
 653                                                                                                                   \
 654   /* jfr signatures */                                                                                            \
 655   JFR_TEMPLATES(template)                                                                                         \
 656                                                                                                                   \
 657   /* cds */                                                                                                       \
 658   template(jdk_internal_loader_ClassLoaders,       "jdk/internal/loader/ClassLoaders")                            \
 659   template(toFileURL_name,                         "toFileURL")                                                   \
 660   template(toFileURL_signature,                    "(Ljava/lang/String;)Ljava/net/URL;")                          \
 661   template(url_void_signature,                     "(Ljava/net/URL;)V")                                           \
 662                                                                                                                   \
 663   template(java_lang_invoke_ValueBootstrapMethods, "java/lang/invoke/ValueBootstrapMethods")                      \
 664   template(isSubstitutable_name,                   "isSubstitutable")                                             \
 665   /*end*/
 666 
 667 // Here are all the intrinsics known to the runtime and the CI.
 668 // Each intrinsic consists of a public enum name (like _hashCode),
 669 // followed by a specification of its klass, name, and signature:
 670 //    template(<id>,  <klass>,  <name>, <sig>, <FCODE>)
 671 //
 672 // If you add an intrinsic here, you must also define its name
 673 // and signature as members of the VM symbols.  The VM symbols for
 674 // the intrinsic name and signature may be defined above.
 675 //
 676 // Because the VM_SYMBOLS_DO macro makes reference to VM_INTRINSICS_DO,
 677 // you can also define an intrinsic's name and/or signature locally to the
 678 // intrinsic, if this makes sense.  (It often does make sense.)
 679 //
 680 // For example:
 681 //    do_intrinsic(_foo,  java_lang_Object,  foo_name, foo_signature, F_xx)
 682 //     do_name(     foo_name, "foo")
 683 //     do_signature(foo_signature, "()F")
 684 // klass      = vmSymbols::java_lang_Object()


1108                                                                                                                         \
1109   /* unsafe memory references (there are a lot of them...) */                                                           \
1110   do_signature(getReference_signature,    "(Ljava/lang/Object;J)Ljava/lang/Object;")                                    \
1111   do_signature(putReference_signature,    "(Ljava/lang/Object;JLjava/lang/Object;)V")                                   \
1112   do_signature(getBoolean_signature,      "(Ljava/lang/Object;J)Z")                                                     \
1113   do_signature(putBoolean_signature,      "(Ljava/lang/Object;JZ)V")                                                    \
1114   do_signature(getByte_signature,         "(Ljava/lang/Object;J)B")                                                     \
1115   do_signature(putByte_signature,         "(Ljava/lang/Object;JB)V")                                                    \
1116   do_signature(getShort_signature,        "(Ljava/lang/Object;J)S")                                                     \
1117   do_signature(putShort_signature,        "(Ljava/lang/Object;JS)V")                                                    \
1118   do_signature(getChar_signature,         "(Ljava/lang/Object;J)C")                                                     \
1119   do_signature(putChar_signature,         "(Ljava/lang/Object;JC)V")                                                    \
1120   do_signature(getInt_signature,          "(Ljava/lang/Object;J)I")                                                     \
1121   do_signature(putInt_signature,          "(Ljava/lang/Object;JI)V")                                                    \
1122   do_signature(getLong_signature,         "(Ljava/lang/Object;J)J")                                                     \
1123   do_signature(putLong_signature,         "(Ljava/lang/Object;JJ)V")                                                    \
1124   do_signature(getFloat_signature,        "(Ljava/lang/Object;J)F")                                                     \
1125   do_signature(putFloat_signature,        "(Ljava/lang/Object;JF)V")                                                    \
1126   do_signature(getDouble_signature,       "(Ljava/lang/Object;J)D")                                                     \
1127   do_signature(putDouble_signature,       "(Ljava/lang/Object;JD)V")                                                    \
1128   do_signature(getValue_signature,        "(Ljava/lang/Object;JLjava/lang/Class;)Ljava/lang/Object;")                   \
1129   do_signature(putValue_signature,        "(Ljava/lang/Object;JLjava/lang/Class;Ljava/lang/Object;)V")                  \
1130                                                                                                                         \
1131   do_name(getReference_name,"getReference")     do_name(putReference_name,"putReference")                               \
1132   do_name(getBoolean_name,"getBoolean")         do_name(putBoolean_name,"putBoolean")                                   \
1133   do_name(getByte_name,"getByte")               do_name(putByte_name,"putByte")                                         \
1134   do_name(getShort_name,"getShort")             do_name(putShort_name,"putShort")                                       \
1135   do_name(getChar_name,"getChar")               do_name(putChar_name,"putChar")                                         \
1136   do_name(getInt_name,"getInt")                 do_name(putInt_name,"putInt")                                           \
1137   do_name(getLong_name,"getLong")               do_name(putLong_name,"putLong")                                         \
1138   do_name(getFloat_name,"getFloat")             do_name(putFloat_name,"putFloat")                                       \
1139   do_name(getDouble_name,"getDouble")           do_name(putDouble_name,"putDouble")                                     \
1140   do_name(getValue_name,"getValue")             do_name(putValue_name,"putValue")                                       \
1141   do_name(makePrivateBuffer_name,"makePrivateBuffer")                                                                   \
1142   do_name(finishPrivateBuffer_name,"finishPrivateBuffer")                                                               \
1143                                                                                                                         \
1144   do_intrinsic(_getReference,       jdk_internal_misc_Unsafe,     getReference_name, getReference_signature,     F_RN)  \
1145   do_intrinsic(_getBoolean,         jdk_internal_misc_Unsafe,     getBoolean_name, getBoolean_signature,         F_RN)  \
1146   do_intrinsic(_getByte,            jdk_internal_misc_Unsafe,     getByte_name, getByte_signature,               F_RN)  \
1147   do_intrinsic(_getShort,           jdk_internal_misc_Unsafe,     getShort_name, getShort_signature,             F_RN)  \
1148   do_intrinsic(_getChar,            jdk_internal_misc_Unsafe,     getChar_name, getChar_signature,               F_RN)  \
1149   do_intrinsic(_getInt,             jdk_internal_misc_Unsafe,     getInt_name, getInt_signature,                 F_RN)  \
1150   do_intrinsic(_getLong,            jdk_internal_misc_Unsafe,     getLong_name, getLong_signature,               F_RN)  \
1151   do_intrinsic(_getFloat,           jdk_internal_misc_Unsafe,     getFloat_name, getFloat_signature,             F_RN)  \
1152   do_intrinsic(_getDouble,          jdk_internal_misc_Unsafe,     getDouble_name, getDouble_signature,           F_RN)  \
1153   do_intrinsic(_getValue,           jdk_internal_misc_Unsafe,     getValue_name, getValue_signature,             F_RN)  \
1154   do_intrinsic(_putReference,       jdk_internal_misc_Unsafe,     putReference_name, putReference_signature,     F_RN)  \
1155   do_intrinsic(_putBoolean,         jdk_internal_misc_Unsafe,     putBoolean_name, putBoolean_signature,         F_RN)  \
1156   do_intrinsic(_putByte,            jdk_internal_misc_Unsafe,     putByte_name, putByte_signature,               F_RN)  \
1157   do_intrinsic(_putShort,           jdk_internal_misc_Unsafe,     putShort_name, putShort_signature,             F_RN)  \
1158   do_intrinsic(_putChar,            jdk_internal_misc_Unsafe,     putChar_name, putChar_signature,               F_RN)  \
1159   do_intrinsic(_putInt,             jdk_internal_misc_Unsafe,     putInt_name, putInt_signature,                 F_RN)  \
1160   do_intrinsic(_putLong,            jdk_internal_misc_Unsafe,     putLong_name, putLong_signature,               F_RN)  \
1161   do_intrinsic(_putFloat,           jdk_internal_misc_Unsafe,     putFloat_name, putFloat_signature,             F_RN)  \
1162   do_intrinsic(_putDouble,          jdk_internal_misc_Unsafe,     putDouble_name, putDouble_signature,           F_RN)  \
1163   do_intrinsic(_putValue,           jdk_internal_misc_Unsafe,     putValue_name, putValue_signature,             F_RN)  \
1164                                                                                                                         \
1165   do_intrinsic(_makePrivateBuffer,  jdk_internal_misc_Unsafe,     makePrivateBuffer_name, object_object_signature, F_RN)   \
1166   do_intrinsic(_finishPrivateBuffer,  jdk_internal_misc_Unsafe,   finishPrivateBuffer_name, object_object_signature, F_RN) \
1167                                                                                                                         \
1168   do_name(getReferenceVolatile_name,"getReferenceVolatile")   do_name(putReferenceVolatile_name,"putReferenceVolatile") \
1169   do_name(getBooleanVolatile_name,"getBooleanVolatile")       do_name(putBooleanVolatile_name,"putBooleanVolatile")     \
1170   do_name(getByteVolatile_name,"getByteVolatile")             do_name(putByteVolatile_name,"putByteVolatile")           \
1171   do_name(getShortVolatile_name,"getShortVolatile")           do_name(putShortVolatile_name,"putShortVolatile")         \
1172   do_name(getCharVolatile_name,"getCharVolatile")             do_name(putCharVolatile_name,"putCharVolatile")           \
1173   do_name(getIntVolatile_name,"getIntVolatile")               do_name(putIntVolatile_name,"putIntVolatile")             \
1174   do_name(getLongVolatile_name,"getLongVolatile")             do_name(putLongVolatile_name,"putLongVolatile")           \
1175   do_name(getFloatVolatile_name,"getFloatVolatile")           do_name(putFloatVolatile_name,"putFloatVolatile")         \
1176   do_name(getDoubleVolatile_name,"getDoubleVolatile")         do_name(putDoubleVolatile_name,"putDoubleVolatile")       \
1177                                                                                                                         \
1178   do_intrinsic(_getReferenceVolatile,     jdk_internal_misc_Unsafe,     getReferenceVolatile_name, getReference_signature, F_RN)  \
1179   do_intrinsic(_getBooleanVolatile,       jdk_internal_misc_Unsafe,     getBooleanVolatile_name, getBoolean_signature,     F_RN)  \
1180   do_intrinsic(_getByteVolatile,          jdk_internal_misc_Unsafe,     getByteVolatile_name, getByte_signature,           F_RN)  \
1181   do_intrinsic(_getShortVolatile,         jdk_internal_misc_Unsafe,     getShortVolatile_name, getShort_signature,         F_RN)  \
1182   do_intrinsic(_getCharVolatile,          jdk_internal_misc_Unsafe,     getCharVolatile_name, getChar_signature,           F_RN)  \
1183   do_intrinsic(_getIntVolatile,           jdk_internal_misc_Unsafe,     getIntVolatile_name, getInt_signature,             F_RN)  \
1184   do_intrinsic(_getLongVolatile,          jdk_internal_misc_Unsafe,     getLongVolatile_name, getLong_signature,           F_RN)  \
1185   do_intrinsic(_getFloatVolatile,         jdk_internal_misc_Unsafe,     getFloatVolatile_name, getFloat_signature,         F_RN)  \
1186   do_intrinsic(_getDoubleVolatile,        jdk_internal_misc_Unsafe,     getDoubleVolatile_name, getDouble_signature,       F_RN)  \


< prev index next >