comparison src/share/vm/oops/methodOop.cpp @ 2460:ed69575596ac

6981791: remove experimental code for JSR 292 Reviewed-by: twisti
author jrose
date Thu, 07 Apr 2011 17:02:30 -0700
parents 8033953d67ff
children 328926869b15
comparison
equal deleted inserted replaced
2459:55973726c600 2460:ed69575596ac
850 } 850 }
851 851
852 bool methodOopDesc::is_method_handle_invoke_name(vmSymbols::SID name_sid) { 852 bool methodOopDesc::is_method_handle_invoke_name(vmSymbols::SID name_sid) {
853 switch (name_sid) { 853 switch (name_sid) {
854 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name): 854 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name):
855 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name): 855 case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name):
856 return true; 856 return true;
857 } 857 }
858 if ((AllowTransitionalJSR292 || AllowInvokeForInvokeGeneric) 858 if (AllowInvokeGeneric
859 && name_sid == vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name)) 859 && name_sid == vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name))
860 return true; 860 return true;
861 return false; 861 return false;
862 } 862 }
863 863
864 // Constant pool structure for invoke methods: 864 // Constant pool structure for invoke methods:
1090 // ditto for method and signature: 1090 // ditto for method and signature:
1091 vmSymbols::SID name_id = vmSymbols::find_sid(name()); 1091 vmSymbols::SID name_id = vmSymbols::find_sid(name());
1092 if (name_id == vmSymbols::NO_SID) return; 1092 if (name_id == vmSymbols::NO_SID) return;
1093 vmSymbols::SID sig_id = vmSymbols::find_sid(signature()); 1093 vmSymbols::SID sig_id = vmSymbols::find_sid(signature());
1094 if (klass_id != vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_MethodHandle) 1094 if (klass_id != vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_MethodHandle)
1095 && !(klass_id == vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_MethodHandle) && AllowTransitionalJSR292)
1096 && sig_id == vmSymbols::NO_SID) return; 1095 && sig_id == vmSymbols::NO_SID) return;
1097 jshort flags = access_flags().as_short(); 1096 jshort flags = access_flags().as_short();
1098 1097
1099 vmIntrinsics::ID id = vmIntrinsics::find_id(klass_id, name_id, sig_id, flags); 1098 vmIntrinsics::ID id = vmIntrinsics::find_id(klass_id, name_id, sig_id, flags);
1100 if (id != vmIntrinsics::_none) { 1099 if (id != vmIntrinsics::_none) {
1116 break; 1115 break;
1117 } 1116 }
1118 break; 1117 break;
1119 1118
1120 // Signature-polymorphic methods: MethodHandle.invoke*, InvokeDynamic.*. 1119 // Signature-polymorphic methods: MethodHandle.invoke*, InvokeDynamic.*.
1121 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_MethodHandle): // AllowTransitionalJSR292 ONLY
1122 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_MethodHandle): 1120 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_MethodHandle):
1123 if (is_static() || !is_native()) break; 1121 if (is_static() || !is_native()) break;
1124 switch (name_id) { 1122 switch (name_id) {
1125 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name): 1123 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name):
1124 if (!AllowInvokeGeneric) break;
1125 case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name):
1126 id = vmIntrinsics::_invokeGeneric; 1126 id = vmIntrinsics::_invokeGeneric;
1127 break; 1127 break;
1128 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name): 1128 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name):
1129 id = vmIntrinsics::_invokeExact; 1129 id = vmIntrinsics::_invokeExact;
1130 break;
1131 case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name):
1132 if (AllowInvokeForInvokeGeneric) id = vmIntrinsics::_invokeGeneric;
1133 else if (AllowTransitionalJSR292) id = vmIntrinsics::_invokeExact;
1134 break; 1130 break;
1135 } 1131 }
1136 break; 1132 break;
1137 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_InvokeDynamic): 1133 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_InvokeDynamic):
1138 if (!is_static() || !is_native()) break; 1134 if (!is_static() || !is_native()) break;