8152845: Improve PackageEntry and ModuleEntry print methods for future logging
Changed print methods for PackageEntry and ModuleEntry to take an outputStream Reviewed-by: lfoltan, hseigel, coleenp
This commit is contained in:
parent
87d68625af
commit
acd52761a2
hotspot/src/share/vm/classfile
@ -36,6 +36,7 @@
|
||||
#include "utilities/events.hpp"
|
||||
#include "utilities/growableArray.hpp"
|
||||
#include "utilities/hashtable.inline.hpp"
|
||||
#include "utilities/ostream.hpp"
|
||||
|
||||
ModuleEntry* ModuleEntryTable::_javabase_module = NULL;
|
||||
|
||||
@ -359,31 +360,29 @@ void ModuleEntryTable::patch_javabase_entries(Handle module_handle) {
|
||||
java_lang_Class::set_fixup_module_field_list(NULL);
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void ModuleEntryTable::print() {
|
||||
tty->print_cr("Module Entry Table (table_size=%d, entries=%d)",
|
||||
table_size(), number_of_entries());
|
||||
void ModuleEntryTable::print(outputStream* st) {
|
||||
st->print_cr("Module Entry Table (table_size=%d, entries=%d)",
|
||||
table_size(), number_of_entries());
|
||||
for (int i = 0; i < table_size(); i++) {
|
||||
for (ModuleEntry* probe = bucket(i);
|
||||
probe != NULL;
|
||||
probe = probe->next()) {
|
||||
probe->print();
|
||||
probe->print(st);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ModuleEntry::print() {
|
||||
void ModuleEntry::print(outputStream* st) {
|
||||
ResourceMark rm;
|
||||
tty->print_cr("entry "PTR_FORMAT" name %s module "PTR_FORMAT" loader %s version %s location %s strict %s next "PTR_FORMAT,
|
||||
p2i(this),
|
||||
name() == NULL ? UNNAMED_MODULE : name()->as_C_string(),
|
||||
p2i(module()),
|
||||
loader()->loader_name(),
|
||||
version() != NULL ? version()->as_C_string() : "NULL",
|
||||
location() != NULL ? location()->as_C_string() : "NULL",
|
||||
BOOL_TO_STR(!can_read_all_unnamed()), p2i(next()));
|
||||
st->print_cr("entry "PTR_FORMAT" name %s module "PTR_FORMAT" loader %s version %s location %s strict %s next "PTR_FORMAT,
|
||||
p2i(this),
|
||||
name() == NULL ? UNNAMED_MODULE : name()->as_C_string(),
|
||||
p2i(module()),
|
||||
loader()->loader_name(),
|
||||
version() != NULL ? version()->as_C_string() : "NULL",
|
||||
location() != NULL ? location()->as_C_string() : "NULL",
|
||||
BOOL_TO_STR(!can_read_all_unnamed()), p2i(next()));
|
||||
}
|
||||
#endif
|
||||
|
||||
void ModuleEntryTable::verify() {
|
||||
int element_count = 0;
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "trace/traceMacros.hpp"
|
||||
#include "utilities/growableArray.hpp"
|
||||
#include "utilities/hashtable.hpp"
|
||||
#include "utilities/ostream.hpp"
|
||||
|
||||
#define UNNAMED_MODULE "Unnamed Module"
|
||||
|
||||
@ -141,7 +142,7 @@ public:
|
||||
void purge_reads();
|
||||
void delete_reads();
|
||||
|
||||
void print() PRODUCT_RETURN;
|
||||
void print(outputStream* st = tty);
|
||||
void verify();
|
||||
};
|
||||
|
||||
@ -223,7 +224,7 @@ public:
|
||||
static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location);
|
||||
static void patch_javabase_entries(Handle module_handle);
|
||||
|
||||
void print() PRODUCT_RETURN;
|
||||
void print(outputStream* st = tty);
|
||||
void verify();
|
||||
};
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "utilities/events.hpp"
|
||||
#include "utilities/growableArray.hpp"
|
||||
#include "utilities/hashtable.inline.hpp"
|
||||
#include "utilities/ostream.hpp"
|
||||
|
||||
// Return true if this package is exported to m.
|
||||
bool PackageEntry::is_qexported_to(ModuleEntry* m) const {
|
||||
@ -265,28 +266,26 @@ void PackageEntryTable::purge_all_package_exports() {
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
void PackageEntryTable::print() {
|
||||
tty->print_cr("Package Entry Table (table_size=%d, entries=%d)",
|
||||
table_size(), number_of_entries());
|
||||
void PackageEntryTable::print(outputStream* st) {
|
||||
st->print_cr("Package Entry Table (table_size=%d, entries=%d)",
|
||||
table_size(), number_of_entries());
|
||||
for (int i = 0; i < table_size(); i++) {
|
||||
for (PackageEntry* probe = bucket(i);
|
||||
probe != NULL;
|
||||
probe = probe->next()) {
|
||||
probe->print();
|
||||
probe->print(st);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PackageEntry::print() {
|
||||
void PackageEntry::print(outputStream* st) {
|
||||
ResourceMark rm;
|
||||
tty->print_cr("package entry "PTR_FORMAT" name %s module %s classpath_index "
|
||||
INT32_FORMAT " is_exported %d is_exported_allUnnamed %d " "next "PTR_FORMAT,
|
||||
p2i(this), name()->as_C_string(),
|
||||
(module()->is_named() ? module()->name()->as_C_string() : UNNAMED_MODULE),
|
||||
_classpath_index, _is_exported, _is_exported_allUnnamed, p2i(next()));
|
||||
st->print_cr("package entry "PTR_FORMAT" name %s module %s classpath_index "
|
||||
INT32_FORMAT " is_exported %d is_exported_allUnnamed %d " "next "PTR_FORMAT,
|
||||
p2i(this), name()->as_C_string(),
|
||||
(module()->is_named() ? module()->name()->as_C_string() : UNNAMED_MODULE),
|
||||
_classpath_index, _is_exported, _is_exported_allUnnamed, p2i(next()));
|
||||
}
|
||||
#endif
|
||||
|
||||
void PackageEntryTable::verify() {
|
||||
int element_count = 0;
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "oops/symbol.hpp"
|
||||
#include "utilities/growableArray.hpp"
|
||||
#include "utilities/hashtable.hpp"
|
||||
#include "utilities/ostream.hpp"
|
||||
|
||||
// A PackageEntry basically represents a Java package. It contains:
|
||||
// - Symbol* containing the package's name.
|
||||
@ -144,7 +145,7 @@ public:
|
||||
void purge_qualified_exports();
|
||||
void delete_qualified_exports();
|
||||
|
||||
void print() PRODUCT_RETURN;
|
||||
void print(outputStream* st = tty);
|
||||
void verify();
|
||||
};
|
||||
|
||||
@ -195,7 +196,7 @@ public:
|
||||
// purge dead weak references out of exported list
|
||||
void purge_all_package_exports();
|
||||
|
||||
void print() PRODUCT_RETURN;
|
||||
void print(outputStream* st = tty);
|
||||
void verify();
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user