mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 03:54:33 +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
|
@ -209,8 +209,6 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
|||
Register rcx_mh = rcx; // MH receiver; dies quickly and is recycled
|
||||
Register rbx_method = rbx; // eventual target of this invocation
|
||||
|
||||
address code_start = __ pc();
|
||||
|
||||
// here's where control starts out:
|
||||
__ align(CodeEntryAlignment);
|
||||
address entry_point = __ pc();
|
||||
|
@ -251,23 +249,7 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
|||
|
||||
// rdx_first_arg_addr is live!
|
||||
|
||||
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 (vmIntrinsics::method_for(iid) == NULL ||
|
||||
!vmIntrinsics::method_for(iid)->access_flags().is_public()) {
|
||||
if (is_signature_polymorphic_static(iid))
|
||||
suffix = "/static";
|
||||
else
|
||||
suffix = "/private";
|
||||
}
|
||||
jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
|
||||
// note: stub look for mh in rcx
|
||||
trace_method_handle(_masm, qname);
|
||||
}
|
||||
trace_method_handle_interpreter_entry(_masm, iid);
|
||||
|
||||
if (iid == vmIntrinsics::_invokeBasic) {
|
||||
generate_method_handle_dispatch(_masm, iid, rcx_mh, noreg, not_for_compiler_entry);
|
||||
|
@ -287,14 +269,6 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
|||
generate_method_handle_dispatch(_masm, iid, rcx_recv, rbx_member, not_for_compiler_entry);
|
||||
}
|
||||
|
||||
if (PrintMethodHandleStubs) {
|
||||
address code_end = __ pc();
|
||||
tty->print_cr("--------");
|
||||
tty->print_cr("method handle interpreter entry for %s", vmIntrinsics::name_at(iid));
|
||||
Disassembler::decode(code_start, code_end);
|
||||
tty->cr();
|
||||
}
|
||||
|
||||
return entry_point;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue