hotspot/src/share/vm/prims/methodHandles.cpp
changeset 35086 bbf32241d851
parent 34317 e93b85bf4cc2
child 35543 0961315f4016
child 35495 e27da438fa13
--- a/hotspot/src/share/vm/prims/methodHandles.cpp	Fri Dec 04 16:38:04 2015 +0100
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp	Fri Dec 04 23:46:19 2015 +0300
@@ -358,6 +358,19 @@
   return 0;
 }
 
+Bytecodes::Code MethodHandles::signature_polymorphic_intrinsic_bytecode(vmIntrinsics::ID id) {
+  switch(id) {
+    case vmIntrinsics::_linkToVirtual:   return Bytecodes::_invokevirtual;
+    case vmIntrinsics::_linkToInterface: return Bytecodes::_invokeinterface;
+    case vmIntrinsics::_linkToStatic:    return Bytecodes::_invokestatic;
+    case vmIntrinsics::_linkToSpecial:   return Bytecodes::_invokespecial;
+    case vmIntrinsics::_invokeBasic:     return Bytecodes::_invokehandle;
+    default:
+      fatal("unexpected id: (%d) %s", (uint)id, vmIntrinsics::name_at(id));
+      return Bytecodes::_illegal;
+  }
+}
+
 int MethodHandles::signature_polymorphic_intrinsic_ref_kind(vmIntrinsics::ID iid) {
   switch (iid) {
   case vmIntrinsics::_invokeBasic:      return 0;