comparison src/share/vm/classfile/vmSymbols.hpp @ 2356:72dee110246f

6839872: remove implementation inheritance from JSR 292 APIs Summary: consolidate runtime support in java.dyn.MethodHandleNatives; include transitional compatibility logic Reviewed-by: twisti
author jrose
date Fri, 11 Mar 2011 22:33:47 -0800
parents f36c9fe788b8
children 8033953d67ff
comparison
equal deleted inserted replaced
2355:799d8ccf63cf 2356:72dee110246f
238 template(java_dyn_MethodType_signature, "Ljava/dyn/MethodType;") \ 238 template(java_dyn_MethodType_signature, "Ljava/dyn/MethodType;") \
239 template(java_dyn_MethodHandle_signature, "Ljava/dyn/MethodHandle;") \ 239 template(java_dyn_MethodHandle_signature, "Ljava/dyn/MethodHandle;") \
240 /* internal classes known only to the JVM: */ \ 240 /* internal classes known only to the JVM: */ \
241 template(java_dyn_MethodTypeForm, "java/dyn/MethodTypeForm") \ 241 template(java_dyn_MethodTypeForm, "java/dyn/MethodTypeForm") \
242 template(java_dyn_MethodTypeForm_signature, "Ljava/dyn/MethodTypeForm;") \ 242 template(java_dyn_MethodTypeForm_signature, "Ljava/dyn/MethodTypeForm;") \
243 template(sun_dyn_MemberName, "sun/dyn/MemberName") \ 243 template(java_dyn_MemberName, "java/dyn/MemberName") \
244 template(sun_dyn_MemberName_signature, "Lsun/dyn/MemberName;") \ 244 template(java_dyn_MethodHandleImpl, "java/dyn/MethodHandleImpl") \
245 template(sun_dyn_MethodHandleImpl, "sun/dyn/MethodHandleImpl") \ 245 template(java_dyn_MethodHandleNatives, "java/dyn/MethodHandleNatives") \
246 template(sun_dyn_MethodHandleNatives, "sun/dyn/MethodHandleNatives") \ 246 template(java_dyn_AdapterMethodHandle, "java/dyn/AdapterMethodHandle") \
247 template(sun_dyn_AdapterMethodHandle, "sun/dyn/AdapterMethodHandle") \ 247 template(java_dyn_BoundMethodHandle, "java/dyn/BoundMethodHandle") \
248 template(sun_dyn_BoundMethodHandle, "sun/dyn/BoundMethodHandle") \ 248 template(java_dyn_DirectMethodHandle, "java/dyn/DirectMethodHandle") \
249 template(sun_dyn_DirectMethodHandle, "sun/dyn/DirectMethodHandle") \ 249 template(sun_dyn_MemberName, "sun/dyn/MemberName") /* AllowTransitionalJSR292 ONLY */ \
250 template(sun_dyn_MethodHandleImpl, "sun/dyn/MethodHandleImpl") /* AllowTransitionalJSR292 ONLY */ \
251 template(sun_dyn_MethodHandleNatives, "sun/dyn/MethodHandleNatives") /* AllowTransitionalJSR292 ONLY */ \
252 template(sun_dyn_AdapterMethodHandle, "sun/dyn/AdapterMethodHandle") /* AllowTransitionalJSR292 ONLY */ \
253 template(sun_dyn_BoundMethodHandle, "sun/dyn/BoundMethodHandle") /* AllowTransitionalJSR292 ONLY */ \
254 template(sun_dyn_DirectMethodHandle, "sun/dyn/DirectMethodHandle") /* AllowTransitionalJSR292 ONLY */ \
250 /* internal up-calls made only by the JVM, via class sun.dyn.MethodHandleNatives: */ \ 255 /* internal up-calls made only by the JVM, via class sun.dyn.MethodHandleNatives: */ \
251 template(findMethodHandleType_name, "findMethodHandleType") \ 256 template(findMethodHandleType_name, "findMethodHandleType") \
252 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/dyn/MethodType;") \ 257 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/dyn/MethodType;") \
253 template(notifyGenericMethodType_name, "notifyGenericMethodType") \ 258 template(notifyGenericMethodType_name, "notifyGenericMethodType") \
254 template(notifyGenericMethodType_signature, "(Ljava/dyn/MethodType;)V") \ 259 template(notifyGenericMethodType_signature, "(Ljava/dyn/MethodType;)V") \
255 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \ 260 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \
256 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/dyn/MethodHandle;") \ 261 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/dyn/MethodHandle;") \
257 template(makeDynamicCallSite_name, "makeDynamicCallSite") \ 262 template(makeDynamicCallSite_name, "makeDynamicCallSite") \
258 template(makeDynamicCallSite_signature, "(Ljava/dyn/MethodHandle;Ljava/lang/String;Ljava/dyn/MethodType;Ljava/lang/Object;Lsun/dyn/MemberName;I)Ljava/dyn/CallSite;") \ 263 template(makeDynamicCallSite_signature, "(Ljava/dyn/MethodHandle;Ljava/lang/String;Ljava/dyn/MethodType;Ljava/lang/Object;Ljava/dyn/MemberName;I)Ljava/dyn/CallSite;") \
264 template(makeDynamicCallSite_TRANS_signature, "(Ljava/dyn/MethodHandle;Ljava/lang/String;Ljava/dyn/MethodType;Ljava/lang/Object;Lsun/dyn/MemberName;I)Ljava/dyn/CallSite;") /* AllowTransitionalJSR292 ONLY */ \
259 NOT_LP64( do_alias(machine_word_signature, int_signature) ) \ 265 NOT_LP64( do_alias(machine_word_signature, int_signature) ) \
260 LP64_ONLY( do_alias(machine_word_signature, long_signature) ) \ 266 LP64_ONLY( do_alias(machine_word_signature, long_signature) ) \
261 \ 267 \
262 /* common method and field names */ \ 268 /* common method and field names */ \
263 template(object_initializer_name, "<init>") \ 269 template(object_initializer_name, "<init>") \
880 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ 886 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \
881 /* (symbol object_initializer_name defined above) */ \ 887 /* (symbol object_initializer_name defined above) */ \
882 \ 888 \
883 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \ 889 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \
884 /* (symbols invoke_name and invoke_signature defined above) */ \ 890 /* (symbols invoke_name and invoke_signature defined above) */ \
885 do_intrinsic(_checkSpreadArgument, sun_dyn_MethodHandleImpl, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \ 891 do_intrinsic(_checkSpreadArgument, java_dyn_MethodHandleNatives, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \
892 do_intrinsic(_checkSpreadArgument_TRANS, sun_dyn_MethodHandleImpl, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) /* AllowTransitionalJSR292 ONLY */ \
886 do_name( checkSpreadArgument_name, "checkSpreadArgument") \ 893 do_name( checkSpreadArgument_name, "checkSpreadArgument") \
887 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \ 894 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \
888 do_intrinsic(_invokeExact, java_dyn_MethodHandle, invokeExact_name, object_array_object_signature, F_RN) \ 895 do_intrinsic(_invokeExact, java_dyn_MethodHandle, invokeExact_name, object_array_object_signature, F_RN) \
889 do_intrinsic(_invokeGeneric, java_dyn_MethodHandle, invokeGeneric_name, object_array_object_signature, F_RN) \ 896 do_intrinsic(_invokeGeneric, java_dyn_MethodHandle, invokeGeneric_name, object_array_object_signature, F_RN) \
890 do_intrinsic(_invokeVarargs, java_dyn_MethodHandle, invokeVarargs_name, object_array_object_signature, F_R) \ 897 do_intrinsic(_invokeVarargs, java_dyn_MethodHandle, invokeVarargs_name, object_array_object_signature, F_R) \
993 return _symbols[id]; 1000 return _symbols[id];
994 } 1001 }
995 1002
996 // Returns symbol's SID if one is assigned, else NO_SID. 1003 // Returns symbol's SID if one is assigned, else NO_SID.
997 static SID find_sid(Symbol* symbol); 1004 static SID find_sid(Symbol* symbol);
1005 static SID find_sid(const char* symbol_name);
998 1006
999 #ifndef PRODUCT 1007 #ifndef PRODUCT
1000 // No need for this in the product: 1008 // No need for this in the product:
1001 static const char* name_for(SID sid); 1009 static const char* name_for(SID sid);
1002 #endif //PRODUCT 1010 #endif //PRODUCT