src/hotspot/share/prims/methodHandles.cpp
changeset 48157 7c4d43c26352
parent 47216 71c04702a3d5
child 48514 9608f7f41c4e
equal deleted inserted replaced
48156:a8f9aac3c2e5 48157:7c4d43c26352
  1027     VM_Deoptimize op;
  1027     VM_Deoptimize op;
  1028     VMThread::execute(&op);
  1028     VMThread::execute(&op);
  1029   }
  1029   }
  1030 }
  1030 }
  1031 
  1031 
       
  1032 void MethodHandles::trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
       
  1033   if (TraceMethodHandles) {
       
  1034     const char* name = vmIntrinsics::name_at(iid);
       
  1035     if (*name == '_')  name += 1;
       
  1036     const size_t len = strlen(name) + 50;
       
  1037     char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal);
       
  1038     const char* suffix = "";
       
  1039     if (is_signature_polymorphic(iid)) {
       
  1040       if (is_signature_polymorphic_static(iid))
       
  1041         suffix = "/static";
       
  1042       else
       
  1043         suffix = "/private";
       
  1044     }
       
  1045     jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
       
  1046     trace_method_handle(_masm, qname);
       
  1047     // Note:  Don't free the allocated char array because it's used
       
  1048     // during runtime.
       
  1049   }
       
  1050 }
       
  1051 
  1032 //
  1052 //
  1033 // Here are the native methods in java.lang.invoke.MethodHandleNatives
  1053 // Here are the native methods in java.lang.invoke.MethodHandleNatives
  1034 // They are the private interface between this JVM and the HotSpot-specific
  1054 // They are the private interface between this JVM and the HotSpot-specific
  1035 // Java code that implements JSR 292 method handles.
  1055 // Java code that implements JSR 292 method handles.
  1036 //
  1056 //