Mercurial > hg > graal-jvmci-8
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) \ |