comparison src/share/vm/classfile/vmSymbols.hpp @ 1507:cd5dbf694d45

6939134: JSR 292 adjustments to method handle invocation Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces Reviewed-by: twisti
author jrose
date Sat, 01 May 2010 02:42:18 -0700
parents d7f654633cfe
children c18cbe5936b8
comparison
equal deleted inserted replaced
1506:2338d41fbd81 1507:cd5dbf694d45
135 template(java_lang_ClassCastException, "java/lang/ClassCastException") \ 135 template(java_lang_ClassCastException, "java/lang/ClassCastException") \
136 template(java_lang_ClassNotFoundException, "java/lang/ClassNotFoundException") \ 136 template(java_lang_ClassNotFoundException, "java/lang/ClassNotFoundException") \
137 template(java_lang_CloneNotSupportedException, "java/lang/CloneNotSupportedException") \ 137 template(java_lang_CloneNotSupportedException, "java/lang/CloneNotSupportedException") \
138 template(java_lang_IllegalAccessException, "java/lang/IllegalAccessException") \ 138 template(java_lang_IllegalAccessException, "java/lang/IllegalAccessException") \
139 template(java_lang_IllegalArgumentException, "java/lang/IllegalArgumentException") \ 139 template(java_lang_IllegalArgumentException, "java/lang/IllegalArgumentException") \
140 template(java_lang_IllegalStateException, "java/lang/IllegalStateException") \
140 template(java_lang_IllegalMonitorStateException, "java/lang/IllegalMonitorStateException") \ 141 template(java_lang_IllegalMonitorStateException, "java/lang/IllegalMonitorStateException") \
141 template(java_lang_IllegalThreadStateException, "java/lang/IllegalThreadStateException") \ 142 template(java_lang_IllegalThreadStateException, "java/lang/IllegalThreadStateException") \
142 template(java_lang_IndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException") \ 143 template(java_lang_IndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException") \
143 template(java_lang_InstantiationException, "java/lang/InstantiationException") \ 144 template(java_lang_InstantiationException, "java/lang/InstantiationException") \
144 template(java_lang_InstantiationError, "java/lang/InstantiationError") \ 145 template(java_lang_InstantiationError, "java/lang/InstantiationError") \
199 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \ 200 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \
200 template(newField_name, "newField") \ 201 template(newField_name, "newField") \
201 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \ 202 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \
202 template(newMethod_name, "newMethod") \ 203 template(newMethod_name, "newMethod") \
203 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \ 204 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \
205 /* the following two names must be in order: */ \
206 template(invokeExact_name, "invokeExact") \
207 template(invokeGeneric_name, "invokeGeneric") \
208 template(invokeVarargs_name, "invokeVarargs") \
209 template(star_name, "*") /*not really a name*/ \
204 template(invoke_name, "invoke") \ 210 template(invoke_name, "invoke") \
205 template(override_name, "override") \ 211 template(override_name, "override") \
206 template(parameterTypes_name, "parameterTypes") \ 212 template(parameterTypes_name, "parameterTypes") \
207 template(returnType_name, "returnType") \ 213 template(returnType_name, "returnType") \
208 template(signature_name, "signature") \ 214 template(signature_name, "signature") \
229 template(java_dyn_MethodHandle_signature, "Ljava/dyn/MethodHandle;") \ 235 template(java_dyn_MethodHandle_signature, "Ljava/dyn/MethodHandle;") \
230 /* internal classes known only to the JVM: */ \ 236 /* internal classes known only to the JVM: */ \
231 template(java_dyn_MethodTypeForm, "java/dyn/MethodTypeForm") \ 237 template(java_dyn_MethodTypeForm, "java/dyn/MethodTypeForm") \
232 template(java_dyn_MethodTypeForm_signature, "Ljava/dyn/MethodTypeForm;") \ 238 template(java_dyn_MethodTypeForm_signature, "Ljava/dyn/MethodTypeForm;") \
233 template(sun_dyn_MemberName, "sun/dyn/MemberName") \ 239 template(sun_dyn_MemberName, "sun/dyn/MemberName") \
240 template(sun_dyn_MemberName_signature, "Lsun/dyn/MemberName;") \
234 template(sun_dyn_MethodHandleImpl, "sun/dyn/MethodHandleImpl") \ 241 template(sun_dyn_MethodHandleImpl, "sun/dyn/MethodHandleImpl") \
242 template(sun_dyn_MethodHandleNatives, "sun/dyn/MethodHandleNatives") \
235 template(sun_dyn_AdapterMethodHandle, "sun/dyn/AdapterMethodHandle") \ 243 template(sun_dyn_AdapterMethodHandle, "sun/dyn/AdapterMethodHandle") \
236 template(sun_dyn_BoundMethodHandle, "sun/dyn/BoundMethodHandle") \ 244 template(sun_dyn_BoundMethodHandle, "sun/dyn/BoundMethodHandle") \
237 template(sun_dyn_DirectMethodHandle, "sun/dyn/DirectMethodHandle") \ 245 template(sun_dyn_DirectMethodHandle, "sun/dyn/DirectMethodHandle") \
238 template(makeImpl_name, "makeImpl") /*MethodType::makeImpl*/ \ 246 /* internal up-calls made only by the JVM, via class sun.dyn.MethodHandleNatives: */ \
239 template(makeImpl_signature, "(Ljava/lang/Class;[Ljava/lang/Class;ZZ)Ljava/dyn/MethodType;") \ 247 template(findMethodHandleType_name, "findMethodHandleType") \
240 template(makeSite_name, "makeSite") /*CallSite::makeSite*/ \ 248 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/dyn/MethodType;") \
241 template(makeSite_signature, "(Ljava/lang/Class;Ljava/lang/String;Ljava/dyn/MethodType;II)Ljava/dyn/CallSite;") \ 249 template(makeDynamicCallSite_name, "makeDynamicCallSite") \
242 template(findBootstrapMethod_name, "findBootstrapMethod") \ 250 template(makeDynamicCallSite_signature, "(Ljava/dyn/MethodHandle;Ljava/lang/String;Ljava/dyn/MethodType;Ljava/lang/Object;Lsun/dyn/MemberName;I)Ljava/dyn/CallSite;") \
243 template(findBootstrapMethod_signature, "(Ljava/lang/Class;Ljava/lang/Class;)Ljava/dyn/MethodHandle;") \
244 NOT_LP64( do_alias(machine_word_signature, int_signature) ) \ 251 NOT_LP64( do_alias(machine_word_signature, int_signature) ) \
245 LP64_ONLY( do_alias(machine_word_signature, long_signature) ) \ 252 LP64_ONLY( do_alias(machine_word_signature, long_signature) ) \
246 \ 253 \
247 /* common method and field names */ \ 254 /* common method and field names */ \
248 template(object_initializer_name, "<init>") \ 255 template(object_initializer_name, "<init>") \
406 template(int_int_void_signature, "(II)V") \ 413 template(int_int_void_signature, "(II)V") \
407 template(long_long_void_signature, "(JJ)V") \ 414 template(long_long_void_signature, "(JJ)V") \
408 template(void_classloader_signature, "()Ljava/lang/ClassLoader;") \ 415 template(void_classloader_signature, "()Ljava/lang/ClassLoader;") \
409 template(void_object_signature, "()Ljava/lang/Object;") \ 416 template(void_object_signature, "()Ljava/lang/Object;") \
410 template(void_class_signature, "()Ljava/lang/Class;") \ 417 template(void_class_signature, "()Ljava/lang/Class;") \
411 template(void_string_signature, "()Ljava/lang/String;") \ 418 template(void_string_signature, "()Ljava/lang/String;") \
412 template(object_array_object_object_signature, "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\ 419 template(object_array_object_signature, "([Ljava/lang/Object;)Ljava/lang/Object;") \
420 template(object_object_array_object_signature, "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;")\
413 template(exception_void_signature, "(Ljava/lang/Exception;)V") \ 421 template(exception_void_signature, "(Ljava/lang/Exception;)V") \
414 template(protectiondomain_signature, "[Ljava/security/ProtectionDomain;") \ 422 template(protectiondomain_signature, "[Ljava/security/ProtectionDomain;") \
415 template(accesscontrolcontext_signature, "Ljava/security/AccessControlContext;") \ 423 template(accesscontrolcontext_signature, "Ljava/security/AccessControlContext;") \
416 template(class_protectiondomain_signature, "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V") \ 424 template(class_protectiondomain_signature, "(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V") \
417 template(thread_signature, "Ljava/lang/Thread;") \ 425 template(thread_signature, "Ljava/lang/Thread;") \
861 do_intrinsic(_String_String, java_lang_String, object_initializer_name, string_void_signature, F_R) \ 869 do_intrinsic(_String_String, java_lang_String, object_initializer_name, string_void_signature, F_R) \
862 \ 870 \
863 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ 871 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \
864 /* (symbol object_initializer_name defined above) */ \ 872 /* (symbol object_initializer_name defined above) */ \
865 \ 873 \
866 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_array_object_object_signature, F_R) \ 874 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \
867 /* (symbols invoke_name and invoke_signature defined above) */ \ 875 /* (symbols invoke_name and invoke_signature defined above) */ \
868 do_intrinsic(_checkSpreadArgument, sun_dyn_MethodHandleImpl, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \ 876 do_intrinsic(_checkSpreadArgument, sun_dyn_MethodHandleImpl, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \
869 do_name( checkSpreadArgument_name, "checkSpreadArgument") \ 877 do_name( checkSpreadArgument_name, "checkSpreadArgument") \
870 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \ 878 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \
879 do_intrinsic(_invokeExact, java_dyn_MethodHandle, invokeExact_name, object_array_object_signature, F_RN) \
880 do_intrinsic(_invokeGeneric, java_dyn_MethodHandle, invokeGeneric_name, object_array_object_signature, F_RN) \
881 do_intrinsic(_invokeVarargs, java_dyn_MethodHandle, invokeVarargs_name, object_array_object_signature, F_R) \
882 do_intrinsic(_invokeDynamic, java_dyn_InvokeDynamic, star_name, object_array_object_signature, F_SN) \
871 \ 883 \
872 /* unboxing methods: */ \ 884 /* unboxing methods: */ \
873 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \ 885 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \
874 do_name( booleanValue_name, "booleanValue") \ 886 do_name( booleanValue_name, "booleanValue") \
875 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \ 887 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \