Mercurial > hg > graal-compiler
diff src/share/vm/prims/methodHandles.hpp @ 6847:65d07d9ee446
8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
author | twisti |
---|---|
date | Mon, 08 Oct 2012 17:04:00 -0700 |
parents | da91efe96a93 |
children | 6337ca4dcad8 |
line wrap: on
line diff
--- a/src/share/vm/prims/methodHandles.hpp Mon Oct 08 13:02:13 2012 -0700 +++ b/src/share/vm/prims/methodHandles.hpp Mon Oct 08 17:04:00 2012 -0700 @@ -196,7 +196,27 @@ # include "methodHandles_ppc.hpp" #endif - + // Tracing + static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN; + static void trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) { + if (TraceMethodHandles) { + const char* name = vmIntrinsics::name_at(iid); + if (*name == '_') name += 1; + const size_t len = strlen(name) + 50; + char* qname = NEW_C_HEAP_ARRAY(char, len, mtInternal); + const char* suffix = ""; + if (is_signature_polymorphic(iid)) { + if (is_signature_polymorphic_static(iid)) + suffix = "/static"; + else + suffix = "/private"; + } + jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix); + trace_method_handle(_masm, qname); + // Note: Don't free the allocated char array because it's used + // during runtime. + } + } };