< prev index next >
src/share/vm/prims/methodHandles.cpp
Print this page
@@ -355,13 +355,14 @@
case vmIntrinsics::_invokeBasic: return vmSymbols::invokeBasic_name();
case vmIntrinsics::_linkToVirtual: return vmSymbols::linkToVirtual_name();
case vmIntrinsics::_linkToStatic: return vmSymbols::linkToStatic_name();
case vmIntrinsics::_linkToSpecial: return vmSymbols::linkToSpecial_name();
case vmIntrinsics::_linkToInterface: return vmSymbols::linkToInterface_name();
- }
+ default:
fatal("unexpected intrinsic id: %d %s", iid, vmIntrinsics::name_at(iid));
return 0;
+ }
}
Bytecodes::Code MethodHandles::signature_polymorphic_intrinsic_bytecode(vmIntrinsics::ID id) {
switch(id) {
case vmIntrinsics::_linkToVirtual: return Bytecodes::_invokevirtual;
@@ -380,13 +381,14 @@
case vmIntrinsics::_invokeBasic: return 0;
case vmIntrinsics::_linkToVirtual: return JVM_REF_invokeVirtual;
case vmIntrinsics::_linkToStatic: return JVM_REF_invokeStatic;
case vmIntrinsics::_linkToSpecial: return JVM_REF_invokeSpecial;
case vmIntrinsics::_linkToInterface: return JVM_REF_invokeInterface;
- }
+ default:
fatal("unexpected intrinsic id: %d %s", iid, vmIntrinsics::name_at(iid));
return 0;
+ }
}
vmIntrinsics::ID MethodHandles::signature_polymorphic_name_id(Symbol* name) {
vmSymbols::SID name_id = vmSymbols::find_sid(name);
switch (name_id) {
@@ -398,10 +400,11 @@
// There is one static signature-polymorphic method for each JVM invocation mode.
case vmSymbols::VM_SYMBOL_ENUM_NAME(linkToVirtual_name): return vmIntrinsics::_linkToVirtual;
case vmSymbols::VM_SYMBOL_ENUM_NAME(linkToStatic_name): return vmIntrinsics::_linkToStatic;
case vmSymbols::VM_SYMBOL_ENUM_NAME(linkToSpecial_name): return vmIntrinsics::_linkToSpecial;
case vmSymbols::VM_SYMBOL_ENUM_NAME(linkToInterface_name): return vmIntrinsics::_linkToInterface;
+ default: break;
}
// Cover the case of invokeExact and any future variants of invokeFoo.
Klass* mh_klass = SystemDictionary::well_known_klass(
SystemDictionary::WK_KLASS_ENUM_NAME(MethodHandle_klass) );
< prev index next >