< prev index next >
src/share/vm/gc/g1/g1CollectedHeap.hpp
Print this page
rev 9408 : [mq]: rev.01
rev 9409 : [mq]: rev.02
*** 469,498 ****
HeapRegion* new_gc_alloc_region(size_t word_size, uint count,
InCSetState dest);
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 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
// - 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);
! // Callback from VM_G1CollectFull operation.
! // Perform a full collection.
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);
// Callback from VM_G1CollectForAllocation operation.
// This function does everything necessary/possible to satisfy a
// failed allocation request (including collection, expansion, etc.)
HeapWord* satisfy_failed_allocation(size_t word_size,
--- 469,492 ----
HeapRegion* new_gc_alloc_region(size_t word_size, uint count,
InCSetState dest);
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() etc,
! // otherwise it's for a failed allocation.
// - if clear_all_soft_refs is true, all soft references should be
! // 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_full_collection(bool explicit_gc,
! bool clear_all_soft_refs);
! // 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.
! void resize_if_necessary_after_full_collection();
// Callback from VM_G1CollectForAllocation operation.
// This function does everything necessary/possible to satisfy a
// failed allocation request (including collection, expansion, etc.)
HeapWord* satisfy_failed_allocation(size_t word_size,
*** 1148,1160 ****
// Perform a collection of the heap; intended for use in implementing
// "System.gc". This probably implies as full a collection as the
// "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,
jint len);
--- 1142,1151 ----
*** 1350,1367 ****
// Returns the humongous threshold for a specific region size
static size_t humongous_threshold_for(size_t region_size) {
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;
virtual jlong millis_since_last_gc();
--- 1341,1350 ----
< prev index next >