comparison src/share/vm/oops/methodOop.cpp @ 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 dbad0519a1c4
children 8033953d67ff
comparison
equal deleted inserted replaced
2355:799d8ccf63cf 2356:72dee110246f
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(invokeGeneric_name):
856 return true; 856 return true;
857 } 857 }
858 if (AllowTransitionalJSR292 858 if ((AllowTransitionalJSR292 || AllowInvokeForInvokeGeneric)
859 && name_sid == vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name)) 859 && name_sid == vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name))
860 return true; 860 return true;
861 return false; 861 return false;
862 } 862 }
863 863
1125 break; 1125 break;
1126 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name): 1126 case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name):
1127 id = vmIntrinsics::_invokeExact; 1127 id = vmIntrinsics::_invokeExact;
1128 break; 1128 break;
1129 case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name): 1129 case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name):
1130 if (AllowTransitionalJSR292) id = vmIntrinsics::_invokeExact; 1130 if (AllowInvokeForInvokeGeneric) id = vmIntrinsics::_invokeGeneric;
1131 else if (AllowTransitionalJSR292) id = vmIntrinsics::_invokeExact;
1131 break; 1132 break;
1132 } 1133 }
1133 break; 1134 break;
1134 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_InvokeDynamic): 1135 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_InvokeDynamic):
1135 if (!is_static() || !is_native()) break; 1136 if (!is_static() || !is_native()) break;