1.1 --- a/src/share/vm/prims/methodHandles.cpp Sun Oct 06 16:13:50 2013 +0200 1.2 +++ b/src/share/vm/prims/methodHandles.cpp Mon Oct 07 12:20:28 2013 -0400 1.3 @@ -187,12 +187,34 @@ 1.4 receiver_limit = m->method_holder(); 1.5 assert(receiver_limit->verify_itable_index(vmindex), ""); 1.6 flags |= IS_METHOD | (JVM_REF_invokeInterface << REFERENCE_KIND_SHIFT); 1.7 + if (TraceInvokeDynamic) { 1.8 + ResourceMark rm; 1.9 + tty->print_cr("memberName: invokeinterface method_holder::method: %s, receiver: %s, itableindex: %d, access_flags:", 1.10 + Method::name_and_sig_as_C_string(receiver_limit(), m->name(), m->signature()), 1.11 + receiver_limit()->internal_name(), vmindex); 1.12 + m->access_flags().print_on(tty); 1.13 + if (!m->is_abstract()) { 1.14 + tty->print("default"); 1.15 + } 1.16 + tty->cr(); 1.17 + } 1.18 break; 1.19 1.20 case CallInfo::vtable_call: 1.21 vmindex = info.vtable_index(); 1.22 flags |= IS_METHOD | (JVM_REF_invokeVirtual << REFERENCE_KIND_SHIFT); 1.23 assert(receiver_limit->is_subtype_of(m->method_holder()), "virtual call must be type-safe"); 1.24 + if (TraceInvokeDynamic) { 1.25 + ResourceMark rm; 1.26 + tty->print_cr("memberName: invokevirtual method_holder::method: %s, receiver: %s, vtableindex: %d, access_flags:", 1.27 + Method::name_and_sig_as_C_string(receiver_limit(), m->name(), m->signature()), 1.28 + receiver_limit()->internal_name(), vmindex); 1.29 + m->access_flags().print_on(tty); 1.30 + if (m->is_default_method()) { 1.31 + tty->print("default"); 1.32 + } 1.33 + tty->cr(); 1.34 + } 1.35 break; 1.36 1.37 case CallInfo::direct_call: