8270803: Reduce CDS API verbosity

Reviewed-by: minqi, ccheung
This commit is contained in:
Ioi Lam 2021-07-21 03:52:19 +00:00
parent 6346793c64
commit 7dd19af259
17 changed files with 196 additions and 208 deletions

View file

@ -67,9 +67,8 @@
#if INCLUDE_CDS_JAVA_HEAP
bool HeapShared::_closed_archive_heap_region_mapped = false;
bool HeapShared::_open_archive_heap_region_mapped = false;
bool HeapShared::_archive_heap_region_fixed = false;
bool HeapShared::_closed_regions_mapped = false;
bool HeapShared::_open_regions_mapped = false;
address HeapShared::_narrow_oop_base;
int HeapShared::_narrow_oop_shift;
DumpedInternedStrings *HeapShared::_dumped_interned_strings = NULL;
@ -122,10 +121,9 @@ OopHandle HeapShared::_roots;
// Java heap object archiving support
//
////////////////////////////////////////////////////////////////
void HeapShared::fixup_mapped_heap_regions() {
void HeapShared::fixup_mapped_regions() {
FileMapInfo *mapinfo = FileMapInfo::current_info();
mapinfo->fixup_mapped_heap_regions();
set_archive_heap_region_fixed();
if (is_mapped()) {
_roots = OopHandle(Universe::vm_global(), decode_from_archive(_roots_narrow));
if (!MetaspaceShared::use_full_module_graph()) {
@ -213,7 +211,7 @@ objArrayOop HeapShared::roots() {
void HeapShared::set_roots(narrowOop roots) {
assert(UseSharedSpaces, "runtime only");
assert(open_archive_heap_region_mapped(), "must be");
assert(open_regions_mapped(), "must be");
_roots_narrow = roots;
}
@ -238,7 +236,7 @@ oop HeapShared::get_root(int index, bool clear) {
void HeapShared::clear_root(int index) {
assert(index >= 0, "sanity");
assert(UseSharedSpaces, "must be");
if (open_archive_heap_region_mapped()) {
if (open_regions_mapped()) {
if (log_is_enabled(Debug, cds, heap)) {
oop old = roots()->obj_at(index);
log_debug(cds, heap)("Clearing root %d: was " PTR_FORMAT, index, p2i(old));
@ -247,7 +245,7 @@ void HeapShared::clear_root(int index) {
}
}
oop HeapShared::archive_heap_object(oop obj) {
oop HeapShared::archive_object(oop obj) {
assert(DumpSharedSpaces, "dump-time only");
oop ao = find_archived_heap_object(obj);
@ -333,8 +331,8 @@ void HeapShared::run_full_gc_in_vm_thread() {
}
}
void HeapShared::archive_java_heap_objects(GrowableArray<MemRegion>* closed,
GrowableArray<MemRegion>* open) {
void HeapShared::archive_objects(GrowableArray<MemRegion>* closed_regions,
GrowableArray<MemRegion>* open_regions) {
G1HeapVerifier::verify_ready_for_archiving();
@ -347,10 +345,10 @@ void HeapShared::archive_java_heap_objects(GrowableArray<MemRegion>* closed,
log_info(cds)("Heap range = [" PTR_FORMAT " - " PTR_FORMAT "]",
p2i(CompressedOops::begin()), p2i(CompressedOops::end()));
log_info(cds)("Dumping objects to closed archive heap region ...");
copy_closed_archive_heap_objects(closed);
copy_closed_objects(closed_regions);
log_info(cds)("Dumping objects to open archive heap region ...");
copy_open_archive_heap_objects(open);
copy_open_objects(open_regions);
destroy_archived_object_cache();
}
@ -358,8 +356,7 @@ void HeapShared::archive_java_heap_objects(GrowableArray<MemRegion>* closed,
G1HeapVerifier::verify_archive_regions();
}
void HeapShared::copy_closed_archive_heap_objects(
GrowableArray<MemRegion> * closed_archive) {
void HeapShared::copy_closed_objects(GrowableArray<MemRegion>* closed_regions) {
assert(is_heap_object_archiving_allowed(), "Cannot archive java heap objects");
G1CollectedHeap::heap()->begin_archive_alloc_range();
@ -372,12 +369,11 @@ void HeapShared::copy_closed_archive_heap_objects(
true /* is_closed_archive */,
false /* is_full_module_graph */);
G1CollectedHeap::heap()->end_archive_alloc_range(closed_archive,
G1CollectedHeap::heap()->end_archive_alloc_range(closed_regions,
os::vm_allocation_granularity());
}
void HeapShared::copy_open_archive_heap_objects(
GrowableArray<MemRegion> * open_archive) {
void HeapShared::copy_open_objects(GrowableArray<MemRegion>* open_regions) {
assert(is_heap_object_archiving_allowed(), "Cannot archive java heap objects");
G1CollectedHeap::heap()->begin_archive_alloc_range(true /* open */);
@ -400,7 +396,7 @@ void HeapShared::copy_open_archive_heap_objects(
copy_roots();
G1CollectedHeap::heap()->end_archive_alloc_range(open_archive,
G1CollectedHeap::heap()->end_archive_alloc_range(open_regions,
os::vm_allocation_granularity());
}
@ -908,7 +904,7 @@ class WalkOopAndArchiveClosure: public BasicOopIterateClosure {
}
};
void HeapShared::check_closed_archive_heap_region_object(InstanceKlass* k) {
void HeapShared::check_closed_region_object(InstanceKlass* k) {
// Check fields in the object
for (JavaFieldStream fs(k); !fs.done(); fs.next()) {
if (!fs.access_flags().is_static()) {
@ -990,7 +986,7 @@ oop HeapShared::archive_reachable_objects_from(int level,
bool record_klasses_only = (archived_obj != NULL);
if (archived_obj == NULL) {
++_num_new_archived_objs;
archived_obj = archive_heap_object(orig_obj);
archived_obj = archive_object(orig_obj);
if (archived_obj == NULL) {
// Skip archiving the sub-graph referenced from the current entry field.
ResourceMark rm;
@ -1031,7 +1027,7 @@ oop HeapShared::archive_reachable_objects_from(int level,
subgraph_info, orig_obj, archived_obj);
orig_obj->oop_iterate(&walker);
if (is_closed_archive && orig_k->is_instance_klass()) {
check_closed_archive_heap_region_object(InstanceKlass::cast(orig_k));
check_closed_region_object(InstanceKlass::cast(orig_k));
}
return archived_obj;
}
@ -1433,8 +1429,10 @@ class PatchEmbeddedPointers: public BitMapClosure {
}
};
void HeapShared::patch_archived_heap_embedded_pointers(MemRegion region, address oopmap,
size_t oopmap_size_in_bits) {
// Patch all the non-null pointers that are embedded in the archived heap objects
// in this region
void HeapShared::patch_embedded_pointers(MemRegion region, address oopmap,
size_t oopmap_size_in_bits) {
BitMapView bm((BitMap::bm_word_t*)oopmap, oopmap_size_in_bits);
#ifndef PRODUCT