OpenJDK / jdk / jdk12
changeset 34241:78486dc87f38
8143252: Clean up G1CollectedHeap interface
Summary: Delete unused methods and parameters
Reviewed-by: mgerdin, tschatzl, pliden
author | drwhite |
---|---|
date | Thu, 19 Nov 2015 12:43:08 -0500 |
parents | 62db4b48cbef |
children | 1cc8705dd350 |
files | hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp |
diffstat | 2 files changed, 23 insertions(+), 50 deletions(-) [+] |
line wrap: on
line diff
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Thu Nov 19 21:21:15 2015 +0000 +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Thu Nov 19 12:43:08 2015 -0500 @@ -1202,9 +1202,8 @@ heap_region_iterate(&cl); } -bool G1CollectedHeap::do_collection(bool explicit_gc, - bool clear_all_soft_refs, - size_t word_size) { +bool G1CollectedHeap::do_full_collection(bool explicit_gc, + bool clear_all_soft_refs) { assert_at_safepoint(true /* should_be_vm_thread */); if (GC_locker::check_active_before_gc()) { @@ -1362,8 +1361,7 @@ clear_rsets_post_compaction(); check_gc_time_stamps(); - // Resize the heap if necessary. - resize_if_necessary_after_full_collection(explicit_gc ? 0 : word_size); + resize_if_necessary_after_full_collection(); if (_hr_printer.is_active()) { // We should do this after we potentially resize the heap so @@ -1471,22 +1469,15 @@ } void G1CollectedHeap::do_full_collection(bool clear_all_soft_refs) { - // do_collection() will return whether it succeeded in performing - // the GC. Currently, there is no facility on the - // do_full_collection() API to notify the caller than the collection - // did not succeed (e.g., because it was locked out by the GC - // locker). So, right now, we'll ignore the return value. - bool dummy = do_collection(true, /* explicit_gc */ - clear_all_soft_refs, - 0 /* word_size */); -} - -// This code is mostly copied from TenuredGeneration. -void -G1CollectedHeap:: -resize_if_necessary_after_full_collection(size_t word_size) { - // Include the current allocation, if any, and bytes that will be - // pre-allocated to support collections, as "used". + // Currently, there is no facility in the do_full_collection(bool) API to notify + // the caller that the collection did not succeed (e.g., because it was locked + // out by the GC locker). So, right now, we'll ignore the return value. + bool dummy = do_full_collection(true, /* explicit_gc */ + clear_all_soft_refs); +} + +void G1CollectedHeap::resize_if_necessary_after_full_collection() { + // Include bytes that will be pre-allocated to support collections, as "used". const size_t used_after_gc = used(); const size_t capacity_after_gc = capacity(); const size_t free_after_gc = capacity_after_gc - used_after_gc; @@ -1598,9 +1589,8 @@ if (do_gc) { // Expansion didn't work, we'll try to do a Full GC. - *gc_succeeded = do_collection(false, /* explicit_gc */ - clear_all_soft_refs, - word_size); + *gc_succeeded = do_full_collection(false, /* explicit_gc */ + clear_all_soft_refs); } return NULL;
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp Thu Nov 19 21:21:15 2015 +0000 +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp Thu Nov 19 12:43:08 2015 -0500 @@ -471,26 +471,20 @@ void retire_gc_alloc_region(HeapRegion* alloc_region, size_t allocated_bytes, InCSetState dest); - // - if explicit_gc is true, the GC is for a System.gc() or a heap - // inspection request and should collect the entire heap + // - if explicit_gc is true, the GC is for a System.gc() etc, + // otherwise it's for a failed allocation. // - if clear_all_soft_refs is true, all soft references should be - // cleared during the GC - // - if explicit_gc is false, word_size describes the allocation that - // the GC should attempt (at least) to satisfy + // cleared during the GC. // - it returns false if it is unable to do the collection due to the - // GC locker being active, true otherwise - bool do_collection(bool explicit_gc, - bool clear_all_soft_refs, - size_t word_size); + // GC locker being active, true otherwise. + bool do_full_collection(bool explicit_gc, + bool clear_all_soft_refs); - // Callback from VM_G1CollectFull operation. - // Perform a full collection. + // Callback from VM_G1CollectFull operation, or collect_as_vm_thread. virtual void do_full_collection(bool clear_all_soft_refs); - // Resize the heap if necessary after a full collection. If this is - // after a collect-for allocation, "word_size" is the allocation size, - // and will be considered part of the used portion of the heap. - void resize_if_necessary_after_full_collection(size_t word_size); + // Resize the heap if necessary after a full collection. + void resize_if_necessary_after_full_collection(); // Callback from VM_G1CollectForAllocation operation. // This function does everything necessary/possible to satisfy a @@ -1150,9 +1144,6 @@ // "CollectedHeap" supports. virtual void collect(GCCause::Cause cause); - // The same as above but assume that the caller holds the Heap_lock. - void collect_locked(GCCause::Cause cause); - virtual bool copy_allocation_context_stats(const jint* contexts, jlong* totals, jbyte* accuracy, @@ -1352,14 +1343,6 @@ return (region_size / 2); } - // Update mod union table with the set of dirty cards. - void updateModUnion(); - - // Set the mod union bits corresponding to the given memRegion. Note - // that this is always a safe operation, since it doesn't clear any - // bits. - void markModUnionRange(MemRegion mr); - // Print the maximum heap capacity. virtual size_t max_capacity() const;