src/cpu/x86/vm/methodHandles_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8000263 Cdiff src/cpu/x86/vm/methodHandles_x86.cpp

src/cpu/x86/vm/methodHandles_x86.cpp

Print this page

        

*** 207,218 **** Register rdx_argp = rdx; // argument list ptr, live on error paths Register rax_temp = rax; 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(); if (VerifyMethodHandles) { --- 207,216 ----
*** 249,275 **** DEBUG_ONLY(rdx_argp = noreg); } // 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); ! } if (iid == vmIntrinsics::_invokeBasic) { generate_method_handle_dispatch(_masm, iid, rcx_mh, noreg, not_for_compiler_entry); } else { --- 247,257 ---- DEBUG_ONLY(rdx_argp = noreg); } // rdx_first_arg_addr is live! ! trace_method_handle_interpreter_entry(_masm, iid); if (iid == vmIntrinsics::_invokeBasic) { generate_method_handle_dispatch(_masm, iid, rcx_mh, noreg, not_for_compiler_entry); } else {
*** 285,302 **** __ pop(rbx_member); // extract last argument __ push(rax_temp); // re-push return address 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; } void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm, vmIntrinsics::ID iid, --- 267,276 ----
src/cpu/x86/vm/methodHandles_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File