< prev index next >

src/share/vm/prims/methodHandles.hpp

Print this page




 177     return (ref_kind == JVM_REF_invokeVirtual ||
 178             ref_kind == JVM_REF_invokeInterface);
 179   }
 180 
 181 
 182 #ifdef TARGET_ARCH_x86
 183 # include "methodHandles_x86.hpp"
 184 #endif
 185 #ifdef TARGET_ARCH_sparc
 186 # include "methodHandles_sparc.hpp"
 187 #endif
 188 #ifdef TARGET_ARCH_zero
 189 # include "methodHandles_zero.hpp"
 190 #endif
 191 #ifdef TARGET_ARCH_arm
 192 # include "methodHandles_arm.hpp"
 193 #endif
 194 #ifdef TARGET_ARCH_ppc
 195 # include "methodHandles_ppc.hpp"
 196 #endif



 197 
 198   // Tracing
 199   static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
 200   static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
 201     if (TraceMethodHandles) {
 202       const char* name = vmIntrinsics::name_at(iid);
 203       if (*name == '_')  name += 1;
 204       const size_t len = strlen(name) + 50;
 205       char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal);
 206       const char* suffix = "";
 207       if (is_signature_polymorphic(iid)) {
 208         if (is_signature_polymorphic_static(iid))
 209           suffix = "/static";
 210         else
 211           suffix = "/private";
 212       }
 213       jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
 214       trace_method_handle(_masm, qname);
 215       // Note:  Don't free the allocated char array because it's used
 216       // during runtime.




 177     return (ref_kind == JVM_REF_invokeVirtual ||
 178             ref_kind == JVM_REF_invokeInterface);
 179   }
 180 
 181 
 182 #ifdef TARGET_ARCH_x86
 183 # include "methodHandles_x86.hpp"
 184 #endif
 185 #ifdef TARGET_ARCH_sparc
 186 # include "methodHandles_sparc.hpp"
 187 #endif
 188 #ifdef TARGET_ARCH_zero
 189 # include "methodHandles_zero.hpp"
 190 #endif
 191 #ifdef TARGET_ARCH_arm
 192 # include "methodHandles_arm.hpp"
 193 #endif
 194 #ifdef TARGET_ARCH_ppc
 195 # include "methodHandles_ppc.hpp"
 196 #endif
 197 #ifdef TARGET_ARCH_aarch32
 198 # include "methodHandles_aarch32.hpp"
 199 #endif
 200 
 201   // Tracing
 202   static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
 203   static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
 204     if (TraceMethodHandles) {
 205       const char* name = vmIntrinsics::name_at(iid);
 206       if (*name == '_')  name += 1;
 207       const size_t len = strlen(name) + 50;
 208       char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal);
 209       const char* suffix = "";
 210       if (is_signature_polymorphic(iid)) {
 211         if (is_signature_polymorphic_static(iid))
 212           suffix = "/static";
 213         else
 214           suffix = "/private";
 215       }
 216       jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
 217       trace_method_handle(_masm, qname);
 218       // Note:  Don't free the allocated char array because it's used
 219       // during runtime.


< prev index next >