262 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \
263 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \
264 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \
265 template(java_lang_invoke_DirectMethodHandle, "java/lang/invoke/DirectMethodHandle") \
266 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \
267 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \
268 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \
269 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \
270 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \
271 template(java_lang_invoke_MemberName_signature, "Ljava/lang/invoke/MemberName;") \
272 template(java_lang_invoke_LambdaForm_signature, "Ljava/lang/invoke/LambdaForm;") \
273 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \
274 /* internal classes known only to the JVM: */ \
275 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \
276 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \
277 template(java_lang_invoke_LambdaForm, "java/lang/invoke/LambdaForm") \
278 template(java_lang_invoke_ForceInline_signature, "Ljava/lang/invoke/ForceInline;") \
279 template(java_lang_invoke_DontInline_signature, "Ljava/lang/invoke/DontInline;") \
280 template(java_lang_invoke_Stable_signature, "Ljava/lang/invoke/Stable;") \
281 template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \
282 template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;") \
283 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \
284 template(findMethodHandleType_name, "findMethodHandleType") \
285 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
286 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \
287 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \
288 template(linkMethod_name, "linkMethod") \
289 template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
290 template(linkCallSite_name, "linkCallSite") \
291 template(linkCallSite_signature, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
292 template(setTargetNormal_name, "setTargetNormal") \
293 template(setTargetVolatile_name, "setTargetVolatile") \
294 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \
295 NOT_LP64( do_alias(intptr_signature, int_signature) ) \
296 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \
297 template(selectAlternative_signature, "(ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;") \
298 \
299 /* common method and field names */ \
300 template(object_initializer_name, "<init>") \
301 template(class_initializer_name, "<clinit>") \
850 do_signature(allocateInstance_signature, "(Ljava/lang/Class;)Ljava/lang/Object;") \
851 do_intrinsic(_copyMemory, sun_misc_Unsafe, copyMemory_name, copyMemory_signature, F_RN) \
852 do_name( copyMemory_name, "copyMemory") \
853 do_signature(copyMemory_signature, "(Ljava/lang/Object;JLjava/lang/Object;JJ)V") \
854 do_intrinsic(_park, sun_misc_Unsafe, park_name, park_signature, F_RN) \
855 do_name( park_name, "park") \
856 do_signature(park_signature, "(ZJ)V") \
857 do_intrinsic(_unpark, sun_misc_Unsafe, unpark_name, unpark_signature, F_RN) \
858 do_name( unpark_name, "unpark") \
859 do_alias( unpark_signature, /*(LObject;)V*/ object_void_signature) \
860 do_intrinsic(_loadFence, sun_misc_Unsafe, loadFence_name, loadFence_signature, F_RN) \
861 do_name( loadFence_name, "loadFence") \
862 do_alias( loadFence_signature, void_method_signature) \
863 do_intrinsic(_storeFence, sun_misc_Unsafe, storeFence_name, storeFence_signature, F_RN) \
864 do_name( storeFence_name, "storeFence") \
865 do_alias( storeFence_signature, void_method_signature) \
866 do_intrinsic(_fullFence, sun_misc_Unsafe, fullFence_name, fullFence_signature, F_RN) \
867 do_name( fullFence_name, "fullFence") \
868 do_alias( fullFence_signature, void_method_signature) \
869 \
870 /* unsafe memory references (there are a lot of them...) */ \
871 do_signature(getObject_signature, "(Ljava/lang/Object;J)Ljava/lang/Object;") \
872 do_signature(putObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;)V") \
873 do_signature(getBoolean_signature, "(Ljava/lang/Object;J)Z") \
874 do_signature(putBoolean_signature, "(Ljava/lang/Object;JZ)V") \
875 do_signature(getByte_signature, "(Ljava/lang/Object;J)B") \
876 do_signature(putByte_signature, "(Ljava/lang/Object;JB)V") \
877 do_signature(getShort_signature, "(Ljava/lang/Object;J)S") \
878 do_signature(putShort_signature, "(Ljava/lang/Object;JS)V") \
879 do_signature(getChar_signature, "(Ljava/lang/Object;J)C") \
880 do_signature(putChar_signature, "(Ljava/lang/Object;JC)V") \
881 do_signature(getInt_signature, "(Ljava/lang/Object;J)I") \
882 do_signature(putInt_signature, "(Ljava/lang/Object;JI)V") \
883 do_signature(getLong_signature, "(Ljava/lang/Object;J)J") \
884 do_signature(putLong_signature, "(Ljava/lang/Object;JJ)V") \
885 do_signature(getFloat_signature, "(Ljava/lang/Object;J)F") \
886 do_signature(putFloat_signature, "(Ljava/lang/Object;JF)V") \
887 do_signature(getDouble_signature, "(Ljava/lang/Object;J)D") \
888 do_signature(putDouble_signature, "(Ljava/lang/Object;JD)V") \
889 \
|
262 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \
263 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \
264 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \
265 template(java_lang_invoke_DirectMethodHandle, "java/lang/invoke/DirectMethodHandle") \
266 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \
267 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \
268 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \
269 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \
270 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \
271 template(java_lang_invoke_MemberName_signature, "Ljava/lang/invoke/MemberName;") \
272 template(java_lang_invoke_LambdaForm_signature, "Ljava/lang/invoke/LambdaForm;") \
273 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \
274 /* internal classes known only to the JVM: */ \
275 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \
276 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \
277 template(java_lang_invoke_LambdaForm, "java/lang/invoke/LambdaForm") \
278 template(java_lang_invoke_ForceInline_signature, "Ljava/lang/invoke/ForceInline;") \
279 template(java_lang_invoke_DontInline_signature, "Ljava/lang/invoke/DontInline;") \
280 template(java_lang_invoke_Stable_signature, "Ljava/lang/invoke/Stable;") \
281 template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \
282 template(java_lang_invoke_LambdaForm_Shared_signature, "Ljava/lang/invoke/LambdaForm$Shared;") \
283 template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;") \
284 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \
285 template(findMethodHandleType_name, "findMethodHandleType") \
286 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
287 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \
288 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \
289 template(linkMethod_name, "linkMethod") \
290 template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
291 template(linkCallSite_name, "linkCallSite") \
292 template(linkCallSite_signature, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \
293 template(setTargetNormal_name, "setTargetNormal") \
294 template(setTargetVolatile_name, "setTargetVolatile") \
295 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \
296 NOT_LP64( do_alias(intptr_signature, int_signature) ) \
297 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \
298 template(selectAlternative_signature, "(ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;") \
299 \
300 /* common method and field names */ \
301 template(object_initializer_name, "<init>") \
302 template(class_initializer_name, "<clinit>") \
851 do_signature(allocateInstance_signature, "(Ljava/lang/Class;)Ljava/lang/Object;") \
852 do_intrinsic(_copyMemory, sun_misc_Unsafe, copyMemory_name, copyMemory_signature, F_RN) \
853 do_name( copyMemory_name, "copyMemory") \
854 do_signature(copyMemory_signature, "(Ljava/lang/Object;JLjava/lang/Object;JJ)V") \
855 do_intrinsic(_park, sun_misc_Unsafe, park_name, park_signature, F_RN) \
856 do_name( park_name, "park") \
857 do_signature(park_signature, "(ZJ)V") \
858 do_intrinsic(_unpark, sun_misc_Unsafe, unpark_name, unpark_signature, F_RN) \
859 do_name( unpark_name, "unpark") \
860 do_alias( unpark_signature, /*(LObject;)V*/ object_void_signature) \
861 do_intrinsic(_loadFence, sun_misc_Unsafe, loadFence_name, loadFence_signature, F_RN) \
862 do_name( loadFence_name, "loadFence") \
863 do_alias( loadFence_signature, void_method_signature) \
864 do_intrinsic(_storeFence, sun_misc_Unsafe, storeFence_name, storeFence_signature, F_RN) \
865 do_name( storeFence_name, "storeFence") \
866 do_alias( storeFence_signature, void_method_signature) \
867 do_intrinsic(_fullFence, sun_misc_Unsafe, fullFence_name, fullFence_signature, F_RN) \
868 do_name( fullFence_name, "fullFence") \
869 do_alias( fullFence_signature, void_method_signature) \
870 \
871 /* Custom branch frequencies profiling support for JSR292 */ \
872 do_class(java_lang_invoke_MethodHandleImpl, "java/lang/invoke/MethodHandleImpl") \
873 do_intrinsic(_profileBranch, java_lang_invoke_MethodHandleImpl, profileBranch_name, profileBranch_signature, F_S) \
874 do_name( profileBranch_name, "profileBranch") \
875 do_signature(profileBranch_signature, "(Z[I)Z") \
876 \
877 /* unsafe memory references (there are a lot of them...) */ \
878 do_signature(getObject_signature, "(Ljava/lang/Object;J)Ljava/lang/Object;") \
879 do_signature(putObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;)V") \
880 do_signature(getBoolean_signature, "(Ljava/lang/Object;J)Z") \
881 do_signature(putBoolean_signature, "(Ljava/lang/Object;JZ)V") \
882 do_signature(getByte_signature, "(Ljava/lang/Object;J)B") \
883 do_signature(putByte_signature, "(Ljava/lang/Object;JB)V") \
884 do_signature(getShort_signature, "(Ljava/lang/Object;J)S") \
885 do_signature(putShort_signature, "(Ljava/lang/Object;JS)V") \
886 do_signature(getChar_signature, "(Ljava/lang/Object;J)C") \
887 do_signature(putChar_signature, "(Ljava/lang/Object;JC)V") \
888 do_signature(getInt_signature, "(Ljava/lang/Object;J)I") \
889 do_signature(putInt_signature, "(Ljava/lang/Object;JI)V") \
890 do_signature(getLong_signature, "(Ljava/lang/Object;J)J") \
891 do_signature(putLong_signature, "(Ljava/lang/Object;JJ)V") \
892 do_signature(getFloat_signature, "(Ljava/lang/Object;J)F") \
893 do_signature(putFloat_signature, "(Ljava/lang/Object;JF)V") \
894 do_signature(getDouble_signature, "(Ljava/lang/Object;J)D") \
895 do_signature(putDouble_signature, "(Ljava/lang/Object;JD)V") \
896 \
|