src/share/vm/prims/methodHandles.hpp

changeset 4158
65d07d9ee446
parent 4037
da91efe96a93
child 4965
6337ca4dcad8
equal deleted inserted replaced
4157:377508648226 4158:65d07d9ee446
194 #endif 194 #endif
195 #ifdef TARGET_ARCH_ppc 195 #ifdef TARGET_ARCH_ppc
196 # include "methodHandles_ppc.hpp" 196 # include "methodHandles_ppc.hpp"
197 #endif 197 #endif
198 198
199 199 // Tracing
200 static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
201 static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
202 if (TraceMethodHandles) {
203 const char* name = vmIntrinsics::name_at(iid);
204 if (*name == '_') name += 1;
205 const size_t len = strlen(name) + 50;
206 char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal);
207 const char* suffix = "";
208 if (is_signature_polymorphic(iid)) {
209 if (is_signature_polymorphic_static(iid))
210 suffix = "/static";
211 else
212 suffix = "/private";
213 }
214 jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
215 trace_method_handle(_masm, qname);
216 // Note: Don't free the allocated char array because it's used
217 // during runtime.
218 }
219 }
200 }; 220 };
201 221
202 222
203 //------------------------------------------------------------------------------ 223 //------------------------------------------------------------------------------
204 // MethodHandlesAdapterGenerator 224 // MethodHandlesAdapterGenerator

mercurial