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:
Rachel Protacio 2016-04-14 09:46:03 -04:00
parent 87d68625af
commit acd52761a2
4 changed files with 31 additions and 31 deletions

View file

@ -36,6 +36,7 @@
#include "utilities/events.hpp" #include "utilities/events.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
#include "utilities/hashtable.inline.hpp" #include "utilities/hashtable.inline.hpp"
#include "utilities/ostream.hpp"
ModuleEntry* ModuleEntryTable::_javabase_module = NULL; 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); java_lang_Class::set_fixup_module_field_list(NULL);
} }
#ifndef PRODUCT void ModuleEntryTable::print(outputStream* st) {
void ModuleEntryTable::print() { st->print_cr("Module Entry Table (table_size=%d, entries=%d)",
tty->print_cr("Module Entry Table (table_size=%d, entries=%d)", table_size(), number_of_entries());
table_size(), number_of_entries());
for (int i = 0; i < table_size(); i++) { for (int i = 0; i < table_size(); i++) {
for (ModuleEntry* probe = bucket(i); for (ModuleEntry* probe = bucket(i);
probe != NULL; probe != NULL;
probe = probe->next()) { probe = probe->next()) {
probe->print(); probe->print(st);
} }
} }
} }
void ModuleEntry::print() { void ModuleEntry::print(outputStream* st) {
ResourceMark rm; ResourceMark rm;
tty->print_cr("entry "PTR_FORMAT" name %s module "PTR_FORMAT" loader %s version %s location %s strict %s next "PTR_FORMAT, st->print_cr("entry "PTR_FORMAT" name %s module "PTR_FORMAT" loader %s version %s location %s strict %s next "PTR_FORMAT,
p2i(this), p2i(this),
name() == NULL ? UNNAMED_MODULE : name()->as_C_string(), name() == NULL ? UNNAMED_MODULE : name()->as_C_string(),
p2i(module()), p2i(module()),
loader()->loader_name(), loader()->loader_name(),
version() != NULL ? version()->as_C_string() : "NULL", version() != NULL ? version()->as_C_string() : "NULL",
location() != NULL ? location()->as_C_string() : "NULL", location() != NULL ? location()->as_C_string() : "NULL",
BOOL_TO_STR(!can_read_all_unnamed()), p2i(next())); BOOL_TO_STR(!can_read_all_unnamed()), p2i(next()));
} }
#endif
void ModuleEntryTable::verify() { void ModuleEntryTable::verify() {
int element_count = 0; int element_count = 0;

View file

@ -33,6 +33,7 @@
#include "trace/traceMacros.hpp" #include "trace/traceMacros.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
#include "utilities/hashtable.hpp" #include "utilities/hashtable.hpp"
#include "utilities/ostream.hpp"
#define UNNAMED_MODULE "Unnamed Module" #define UNNAMED_MODULE "Unnamed Module"
@ -141,7 +142,7 @@ public:
void purge_reads(); void purge_reads();
void delete_reads(); void delete_reads();
void print() PRODUCT_RETURN; void print(outputStream* st = tty);
void verify(); void verify();
}; };
@ -223,7 +224,7 @@ public:
static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location); static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location);
static void patch_javabase_entries(Handle module_handle); static void patch_javabase_entries(Handle module_handle);
void print() PRODUCT_RETURN; void print(outputStream* st = tty);
void verify(); void verify();
}; };

View file

@ -32,6 +32,7 @@
#include "utilities/events.hpp" #include "utilities/events.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
#include "utilities/hashtable.inline.hpp" #include "utilities/hashtable.inline.hpp"
#include "utilities/ostream.hpp"
// Return true if this package is exported to m. // Return true if this package is exported to m.
bool PackageEntry::is_qexported_to(ModuleEntry* m) const { bool PackageEntry::is_qexported_to(ModuleEntry* m) const {
@ -265,28 +266,26 @@ void PackageEntryTable::purge_all_package_exports() {
} }
} }
#ifndef PRODUCT void PackageEntryTable::print(outputStream* st) {
void PackageEntryTable::print() { st->print_cr("Package Entry Table (table_size=%d, entries=%d)",
tty->print_cr("Package Entry Table (table_size=%d, entries=%d)", table_size(), number_of_entries());
table_size(), number_of_entries());
for (int i = 0; i < table_size(); i++) { for (int i = 0; i < table_size(); i++) {
for (PackageEntry* probe = bucket(i); for (PackageEntry* probe = bucket(i);
probe != NULL; probe != NULL;
probe = probe->next()) { probe = probe->next()) {
probe->print(); probe->print(st);
} }
} }
} }
void PackageEntry::print() { void PackageEntry::print(outputStream* st) {
ResourceMark rm; ResourceMark rm;
tty->print_cr("package entry "PTR_FORMAT" name %s module %s classpath_index " 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, INT32_FORMAT " is_exported %d is_exported_allUnnamed %d " "next "PTR_FORMAT,
p2i(this), name()->as_C_string(), p2i(this), name()->as_C_string(),
(module()->is_named() ? module()->name()->as_C_string() : UNNAMED_MODULE), (module()->is_named() ? module()->name()->as_C_string() : UNNAMED_MODULE),
_classpath_index, _is_exported, _is_exported_allUnnamed, p2i(next())); _classpath_index, _is_exported, _is_exported_allUnnamed, p2i(next()));
} }
#endif
void PackageEntryTable::verify() { void PackageEntryTable::verify() {
int element_count = 0; int element_count = 0;

View file

@ -29,6 +29,7 @@
#include "oops/symbol.hpp" #include "oops/symbol.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
#include "utilities/hashtable.hpp" #include "utilities/hashtable.hpp"
#include "utilities/ostream.hpp"
// A PackageEntry basically represents a Java package. It contains: // A PackageEntry basically represents a Java package. It contains:
// - Symbol* containing the package's name. // - Symbol* containing the package's name.
@ -144,7 +145,7 @@ public:
void purge_qualified_exports(); void purge_qualified_exports();
void delete_qualified_exports(); void delete_qualified_exports();
void print() PRODUCT_RETURN; void print(outputStream* st = tty);
void verify(); void verify();
}; };
@ -195,7 +196,7 @@ public:
// purge dead weak references out of exported list // purge dead weak references out of exported list
void purge_all_package_exports(); void purge_all_package_exports();
void print() PRODUCT_RETURN; void print(outputStream* st = tty);
void verify(); void verify();
}; };