< prev index next >

src/hotspot/share/prims/methodHandles.cpp

Print this page

        

*** 236,247 **** --- 236,252 ---- tty->print_cr("memberName: invokeinterface method_holder::method: %s, itableindex: %d, access_flags:", Method::name_and_sig_as_C_string(m->method_holder(), m->name(), m->signature()), vmindex); m->access_flags().print_on(tty); if (!m->is_abstract()) { + if (!m->is_private()) { tty->print("default"); } + else { + tty->print("private-intf"); + } + } tty->cr(); } break; case CallInfo::vtable_call:
*** 290,299 **** --- 295,307 ---- if (m->is_static()) { flags |= IS_METHOD | (JVM_REF_invokeStatic << REFERENCE_KIND_SHIFT); } else if (m->is_initializer()) { flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); } else { + // "special" reflects that this is a direct call, not that it + // necessarily originates from an invokespecial. We can also do + // direct calls for private and/or final non-static methods. flags |= IS_METHOD | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); } break; default: assert(false, "bad CallInfo"); return NULL;
< prev index next >