mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
This commit is contained in:
parent
b1d745897b
commit
7162ad011c
11 changed files with 136 additions and 171 deletions
|
@ -196,7 +196,27 @@ public:
|
|||
# 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.
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue