210 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \ |
210 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \ |
211 template(newField_name, "newField") \ |
211 template(newField_name, "newField") \ |
212 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \ |
212 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \ |
213 template(newMethod_name, "newMethod") \ |
213 template(newMethod_name, "newMethod") \ |
214 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \ |
214 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \ |
215 /* the following two names must be in order: */ \ |
215 template(invokeBasic_name, "invokeBasic") \ |
216 template(invokeExact_name, "invokeExact") \ |
216 template(linkToVirtual_name, "linkToVirtual") \ |
217 template(invokeGeneric_name, "invokeGeneric") \ |
217 template(linkToStatic_name, "linkToStatic") \ |
218 template(invokeVarargs_name, "invokeVarargs") \ |
218 template(linkToSpecial_name, "linkToSpecial") \ |
|
219 template(linkToInterface_name, "linkToInterface") \ |
|
220 template(compiledLambdaForm_name, "<compiledLambdaForm>") /*fake name*/ \ |
219 template(star_name, "*") /*not really a name*/ \ |
221 template(star_name, "*") /*not really a name*/ \ |
220 template(invoke_name, "invoke") \ |
222 template(invoke_name, "invoke") \ |
221 template(override_name, "override") \ |
223 template(override_name, "override") \ |
222 template(parameterTypes_name, "parameterTypes") \ |
224 template(parameterTypes_name, "parameterTypes") \ |
223 template(returnType_name, "returnType") \ |
225 template(returnType_name, "returnType") \ |
234 template(constantPoolOop_name, "constantPoolOop") \ |
236 template(constantPoolOop_name, "constantPoolOop") \ |
235 template(sun_reflect_UnsafeStaticFieldAccessorImpl, "sun/reflect/UnsafeStaticFieldAccessorImpl")\ |
237 template(sun_reflect_UnsafeStaticFieldAccessorImpl, "sun/reflect/UnsafeStaticFieldAccessorImpl")\ |
236 template(base_name, "base") \ |
238 template(base_name, "base") \ |
237 \ |
239 \ |
238 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \ |
240 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \ |
239 template(java_lang_invoke_InvokeDynamic, "java/lang/invoke/InvokeDynamic") \ |
|
240 template(java_lang_invoke_Linkage, "java/lang/invoke/Linkage") \ |
|
241 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \ |
241 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \ |
242 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \ |
242 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \ |
243 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \ |
243 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \ |
244 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \ |
244 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \ |
245 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \ |
245 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \ |
246 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \ |
246 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \ |
247 template(java_lang_invoke_WrongMethodTypeException, "java/lang/invoke/WrongMethodTypeException") \ |
|
248 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \ |
247 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \ |
|
248 template(java_lang_invoke_MemberName_signature, "Ljava/lang/invoke/MemberName;") \ |
|
249 template(java_lang_invoke_LambdaForm_signature, "Ljava/lang/invoke/LambdaForm;") \ |
249 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \ |
250 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \ |
250 /* internal classes known only to the JVM: */ \ |
251 /* internal classes known only to the JVM: */ \ |
251 template(java_lang_invoke_MethodTypeForm, "java/lang/invoke/MethodTypeForm") \ |
|
252 template(java_lang_invoke_MethodTypeForm_signature, "Ljava/lang/invoke/MethodTypeForm;") \ |
|
253 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \ |
252 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \ |
254 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \ |
253 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \ |
255 template(java_lang_invoke_MethodHandleImpl, "java/lang/invoke/MethodHandleImpl") \ |
254 template(java_lang_invoke_LambdaForm, "java/lang/invoke/LambdaForm") \ |
256 template(java_lang_invoke_AdapterMethodHandle, "java/lang/invoke/AdapterMethodHandle") \ |
|
257 template(java_lang_invoke_BoundMethodHandle, "java/lang/invoke/BoundMethodHandle") \ |
|
258 template(java_lang_invoke_DirectMethodHandle, "java/lang/invoke/DirectMethodHandle") \ |
|
259 template(java_lang_invoke_CountingMethodHandle, "java/lang/invoke/CountingMethodHandle") \ |
|
260 template(java_lang_invoke_ForceInline_signature, "Ljava/lang/invoke/ForceInline;") \ |
255 template(java_lang_invoke_ForceInline_signature, "Ljava/lang/invoke/ForceInline;") \ |
|
256 template(java_lang_invoke_DontInline_signature, "Ljava/lang/invoke/DontInline;") \ |
|
257 template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \ |
|
258 template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;") \ |
261 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \ |
259 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \ |
262 template(findMethodHandleType_name, "findMethodHandleType") \ |
260 template(findMethodHandleType_name, "findMethodHandleType") \ |
263 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \ |
261 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \ |
264 template(notifyGenericMethodType_name, "notifyGenericMethodType") \ |
|
265 template(notifyGenericMethodType_signature, "(Ljava/lang/invoke/MethodType;)V") \ |
|
266 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \ |
262 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \ |
267 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \ |
263 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \ |
268 template(makeDynamicCallSite_name, "makeDynamicCallSite") \ |
264 template(linkMethod_name, "linkMethod") \ |
269 template(makeDynamicCallSite_signature, "(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/invoke/MemberName;I)Ljava/lang/invoke/CallSite;") \ |
265 template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \ |
|
266 template(linkCallSite_name, "linkCallSite") \ |
|
267 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;") \ |
270 template(setTargetNormal_name, "setTargetNormal") \ |
268 template(setTargetNormal_name, "setTargetNormal") \ |
271 template(setTargetVolatile_name, "setTargetVolatile") \ |
269 template(setTargetVolatile_name, "setTargetVolatile") \ |
272 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \ |
270 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \ |
273 NOT_LP64( do_alias(intptr_signature, int_signature) ) \ |
271 NOT_LP64( do_alias(intptr_signature, int_signature) ) \ |
274 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \ |
272 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \ |
357 template(equals_name, "equals") \ |
355 template(equals_name, "equals") \ |
358 template(target_name, "target") \ |
356 template(target_name, "target") \ |
359 template(toString_name, "toString") \ |
357 template(toString_name, "toString") \ |
360 template(values_name, "values") \ |
358 template(values_name, "values") \ |
361 template(receiver_name, "receiver") \ |
359 template(receiver_name, "receiver") \ |
362 template(vmmethod_name, "vmmethod") \ |
|
363 template(vmtarget_name, "vmtarget") \ |
360 template(vmtarget_name, "vmtarget") \ |
|
361 template(vmindex_name, "vmindex") \ |
|
362 template(vmcount_name, "vmcount") \ |
364 template(vmentry_name, "vmentry") \ |
363 template(vmentry_name, "vmentry") \ |
365 template(vmcount_name, "vmcount") \ |
|
366 template(vmslots_name, "vmslots") \ |
|
367 template(vmlayout_name, "vmlayout") \ |
|
368 template(vmindex_name, "vmindex") \ |
|
369 template(vmargslot_name, "vmargslot") \ |
|
370 template(flags_name, "flags") \ |
364 template(flags_name, "flags") \ |
371 template(argument_name, "argument") \ |
|
372 template(conversion_name, "conversion") \ |
|
373 template(rtype_name, "rtype") \ |
365 template(rtype_name, "rtype") \ |
374 template(ptypes_name, "ptypes") \ |
366 template(ptypes_name, "ptypes") \ |
375 template(form_name, "form") \ |
367 template(form_name, "form") \ |
376 template(erasedType_name, "erasedType") \ |
368 template(basicType_name, "basicType") \ |
377 template(genericInvoker_name, "genericInvoker") \ |
|
378 template(append_name, "append") \ |
369 template(append_name, "append") \ |
379 template(klass_name, "klass") \ |
370 template(klass_name, "klass") \ |
380 template(resolved_constructor_name, "resolved_constructor") \ |
371 template(resolved_constructor_name, "resolved_constructor") \ |
381 template(array_klass_name, "array_klass") \ |
372 template(array_klass_name, "array_klass") \ |
382 template(oop_size_name, "oop_size") \ |
373 template(oop_size_name, "oop_size") \ |
920 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ |
911 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ |
921 /* (symbol object_initializer_name defined above) */ \ |
912 /* (symbol object_initializer_name defined above) */ \ |
922 \ |
913 \ |
923 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \ |
914 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \ |
924 /* (symbols invoke_name and invoke_signature defined above) */ \ |
915 /* (symbols invoke_name and invoke_signature defined above) */ \ |
925 do_intrinsic(_checkSpreadArgument, java_lang_invoke_MethodHandleNatives, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \ |
916 /* the polymorphic MH intrinsics must be in compact order, with _invokeGeneric first and _linkToInterface last */ \ |
926 do_name( checkSpreadArgument_name, "checkSpreadArgument") \ |
917 do_intrinsic(_invokeGeneric, java_lang_invoke_MethodHandle, invoke_name, star_name, F_RN) \ |
927 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \ |
918 do_intrinsic(_invokeBasic, java_lang_invoke_MethodHandle, invokeBasic_name, star_name, F_RN) \ |
928 do_intrinsic(_invokeExact, java_lang_invoke_MethodHandle, invokeExact_name, object_array_object_signature, F_RN) \ |
919 do_intrinsic(_linkToVirtual, java_lang_invoke_MethodHandle, linkToVirtual_name, star_name, F_SN) \ |
929 do_intrinsic(_invokeGeneric, java_lang_invoke_MethodHandle, invokeGeneric_name, object_array_object_signature, F_RN) \ |
920 do_intrinsic(_linkToStatic, java_lang_invoke_MethodHandle, linkToStatic_name, star_name, F_SN) \ |
930 do_intrinsic(_invokeVarargs, java_lang_invoke_MethodHandle, invokeVarargs_name, object_array_object_signature, F_R) \ |
921 do_intrinsic(_linkToSpecial, java_lang_invoke_MethodHandle, linkToSpecial_name, star_name, F_SN) \ |
931 do_intrinsic(_invokeDynamic, java_lang_invoke_InvokeDynamic, star_name, object_array_object_signature, F_SN) \ |
922 do_intrinsic(_linkToInterface, java_lang_invoke_MethodHandle, linkToInterface_name, star_name, F_SN) \ |
932 \ |
923 /* special marker for bytecode generated for the JVM from a LambdaForm: */ \ |
933 do_intrinsic(_selectAlternative, java_lang_invoke_MethodHandleImpl, selectAlternative_name, selectAlternative_signature, F_S) \ |
924 do_intrinsic(_compiledLambdaForm, java_lang_invoke_MethodHandle, compiledLambdaForm_name, star_name, F_RN) \ |
934 \ |
925 \ |
935 /* unboxing methods: */ \ |
926 /* unboxing methods: */ \ |
936 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \ |
927 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \ |
937 do_name( booleanValue_name, "booleanValue") \ |
928 do_name( booleanValue_name, "booleanValue") \ |
938 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \ |
929 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \ |