< prev index next >

src/share/vm/prims/methodHandles.cpp

Print this page

        

*** 355,367 **** 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(); ! } 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; --- 355,368 ---- 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,392 **** 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; ! } 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) { --- 381,394 ---- 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,407 **** --- 400,410 ---- // 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 >