Mercurial > hg > truffle
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; |