< prev index next >

src/share/vm/oops/klassVtable.cpp

Print this page
rev 13113 : imported patch 8181917-refactor-ul-logstream

*** 25,34 **** --- 25,35 ---- #include "precompiled.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" #include "gc/shared/gcLocker.hpp" #include "logging/log.hpp" + #include "logging/logStream.hpp" #include "memory/metaspaceShared.hpp" #include "memory/resourceArea.hpp" #include "memory/universe.inline.hpp" #include "oops/instanceKlass.hpp" #include "oops/klassVtable.hpp"
*** 299,317 **** assert(super_method->name() == name && super_method->signature() == signature, "vtable entry name/sig mismatch"); #endif if (supersuperklass->is_override(super_method, target_loader, target_classname, THREAD)) { if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm(THREAD); ! outputStream* logst = Log(vtables)::trace_stream(); char* sig = target_method()->name_and_sig_as_C_string(); ! logst->print("transitive overriding superclass %s with %s index %d, original flags: ", supersuperklass->internal_name(), sig, vtable_index); ! super_method->print_linkage_flags(logst); ! logst->print("overriders flags: "); ! target_method->print_linkage_flags(logst); ! logst->cr(); } break; // return found superk } } else { --- 300,319 ---- assert(super_method->name() == name && super_method->signature() == signature, "vtable entry name/sig mismatch"); #endif if (supersuperklass->is_override(super_method, target_loader, target_classname, THREAD)) { if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm(THREAD); ! LogTarget(Trace, vtables) lt; ! LogStream ls(lt); char* sig = target_method()->name_and_sig_as_C_string(); ! ls.print("transitive overriding superclass %s with %s index %d, original flags: ", supersuperklass->internal_name(), sig, vtable_index); ! super_method->print_linkage_flags(&ls); ! ls.print("overriders flags: "); ! target_method->print_linkage_flags(&ls); ! ls.cr(); } break; // return found superk } } else {
*** 330,352 **** Klass* target_klass, Method* super_method, Thread* thread) { #ifndef PRODUCT if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm(thread); ! outputStream* logst = Log(vtables)::trace_stream(); char* sig = target_method()->name_and_sig_as_C_string(); if (overrides) { ! logst->print("overriding with %s index %d, original flags: ", sig, i); } else { ! logst->print("NOT overriding with %s index %d, original flags: ", sig, i); } ! super_method->print_linkage_flags(logst); ! logst->print("overriders flags: "); ! target_method->print_linkage_flags(logst); ! logst->cr(); } #endif } // Update child's copy of super vtable for overrides --- 332,355 ---- Klass* target_klass, Method* super_method, Thread* thread) { #ifndef PRODUCT if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm(thread); ! LogTarget(Trace, vtables) lt; ! LogStream ls(lt); char* sig = target_method()->name_and_sig_as_C_string(); if (overrides) { ! ls.print("overriding with %s index %d, original flags: ", sig, i); } else { ! ls.print("NOT overriding with %s index %d, original flags: ", sig, i); } ! super_method->print_linkage_flags(&ls); ! ls.print("overriders flags: "); ! target_method->print_linkage_flags(&ls); ! ls.cr(); } #endif } // Update child's copy of super vtable for overrides
*** 548,564 **** assert(table()[index].method() == m, "archived method is different from the runtime method"); } else { if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm; ! outputStream* logst = Log(vtables)::trace_stream(); const char* sig = (m != NULL) ? m->name_and_sig_as_C_string() : "<NULL>"; ! logst->print("adding %s at index %d, flags: ", sig, index); if (m != NULL) { ! m->print_linkage_flags(logst); } ! logst->cr(); } table()[index].set(m); } } --- 551,568 ---- assert(table()[index].method() == m, "archived method is different from the runtime method"); } else { if (log_develop_is_enabled(Trace, vtables)) { ResourceMark rm; ! LogTarget(Trace, vtables) lt; ! LogStream ls(lt); const char* sig = (m != NULL) ? m->name_and_sig_as_C_string() : "<NULL>"; ! ls.print("adding %s at index %d, flags: ", sig, index); if (m != NULL) { ! m->print_linkage_flags(&ls); } ! ls.cr(); } table()[index].set(m); } }
*** 882,898 **** ik()->default_methods(), ik()->local_interfaces()); for (int i = 0; i < mirandas.length(); i++) { if (log_develop_is_enabled(Trace, vtables)) { Method* meth = mirandas.at(i); ResourceMark rm(Thread::current()); ! outputStream* logst = Log(vtables)::trace_stream(); if (meth != NULL) { char* sig = meth->name_and_sig_as_C_string(); ! logst->print("fill in mirandas with %s index %d, flags: ", sig, initialized); ! meth->print_linkage_flags(logst); ! logst->cr(); } } put_method_at(mirandas.at(i), initialized); ++initialized; } --- 886,903 ---- ik()->default_methods(), ik()->local_interfaces()); for (int i = 0; i < mirandas.length(); i++) { if (log_develop_is_enabled(Trace, vtables)) { Method* meth = mirandas.at(i); ResourceMark rm(Thread::current()); ! LogTarget(Trace, vtables) lt; ! LogStream ls(lt); if (meth != NULL) { char* sig = meth->name_and_sig_as_C_string(); ! ls.print("fill in mirandas with %s index %d, flags: ", sig, initialized); ! meth->print_linkage_flags(&ls); ! ls.cr(); } } put_method_at(mirandas.at(i), initialized); ++initialized; }
*** 1114,1133 **** if (interface_method_needs_itable_index(m)) { assert(!m->is_final_method(), "no final interface methods"); // If m is already assigned a vtable index, do not disturb it. if (log_develop_is_enabled(Trace, itables)) { ResourceMark rm; ! outputStream* logst = Log(itables)::trace_stream(); assert(m != NULL, "methods can never be null"); const char* sig = m->name_and_sig_as_C_string(); if (m->has_vtable_index()) { ! logst->print("vtable index %d for method: %s, flags: ", m->vtable_index(), sig); } else { ! logst->print("itable index %d for method: %s, flags: ", ime_num, sig); } ! m->print_linkage_flags(logst); ! logst->cr(); } if (!m->has_vtable_index()) { // A shared method could have an initialized itable_index that // is < 0. assert(m->vtable_index() == Method::pending_itable_index || --- 1119,1139 ---- if (interface_method_needs_itable_index(m)) { assert(!m->is_final_method(), "no final interface methods"); // If m is already assigned a vtable index, do not disturb it. if (log_develop_is_enabled(Trace, itables)) { ResourceMark rm; ! LogTarget(Trace, itables) lt; ! LogStream ls(lt); assert(m != NULL, "methods can never be null"); const char* sig = m->name_and_sig_as_C_string(); if (m->has_vtable_index()) { ! ls.print("vtable index %d for method: %s, flags: ", m->vtable_index(), sig); } else { ! ls.print("itable index %d for method: %s, flags: ", ime_num, sig); } ! m->print_linkage_flags(&ls); ! ls.cr(); } if (!m->has_vtable_index()) { // A shared method could have an initialized itable_index that // is < 0. assert(m->vtable_index() == Method::pending_itable_index ||
*** 1234,1251 **** assert(ime_num < ime_count, "oob"); itableOffsetEntry::method_entry(_klass, method_table_offset)[ime_num].initialize(target()); if (log_develop_is_enabled(Trace, itables)) { ResourceMark rm(THREAD); if (target() != NULL) { ! outputStream* logst = Log(itables)::trace_stream(); char* sig = target()->name_and_sig_as_C_string(); ! logst->print("interface: %s, ime_num: %d, target: %s, method_holder: %s ", interf->internal_name(), ime_num, sig, target()->method_holder()->internal_name()); ! logst->print("target_method flags: "); ! target()->print_linkage_flags(logst); ! logst->cr(); } } } } } --- 1240,1258 ---- assert(ime_num < ime_count, "oob"); itableOffsetEntry::method_entry(_klass, method_table_offset)[ime_num].initialize(target()); if (log_develop_is_enabled(Trace, itables)) { ResourceMark rm(THREAD); if (target() != NULL) { ! LogTarget(Trace, itables) lt; ! LogStream ls(lt); char* sig = target()->name_and_sig_as_C_string(); ! ls.print("interface: %s, ime_num: %d, target: %s, method_holder: %s ", interf->internal_name(), ime_num, sig, target()->method_holder()->internal_name()); ! ls.print("target_method flags: "); ! target()->print_linkage_flags(&ls); ! ls.cr(); } } } } }
< prev index next >