comparison src/share/vm/gc_interface/collectedHeap.hpp @ 1387:0bfd3fb24150

6858496: Clear all SoftReferences before an out-of-memory due to GC overhead limit. Summary: Ensure a full GC that clears SoftReferences before throwing an out-of-memory Reviewed-by: ysr, jcoomes
author jmasa
date Tue, 13 Apr 2010 13:52:10 -0700
parents 7b0e9cba0307
children c18cbe5936b8
comparison
equal deleted inserted replaced
1361:6b73e879f1c2 1387:0bfd3fb24150
1 /* 1 /*
2 * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 2001-2010 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
29 29
30 class BarrierSet; 30 class BarrierSet;
31 class ThreadClosure; 31 class ThreadClosure;
32 class AdaptiveSizePolicy; 32 class AdaptiveSizePolicy;
33 class Thread; 33 class Thread;
34 class CollectorPolicy;
34 35
35 // 36 //
36 // CollectedHeap 37 // CollectedHeap
37 // SharedHeap 38 // SharedHeap
38 // GenCollectedHeap 39 // GenCollectedHeap
504 void increment_total_full_collections() { _total_full_collections++; } 505 void increment_total_full_collections() { _total_full_collections++; }
505 506
506 // Return the AdaptiveSizePolicy for the heap. 507 // Return the AdaptiveSizePolicy for the heap.
507 virtual AdaptiveSizePolicy* size_policy() = 0; 508 virtual AdaptiveSizePolicy* size_policy() = 0;
508 509
510 // Return the CollectorPolicy for the heap
511 virtual CollectorPolicy* collector_policy() const = 0;
512
509 // Iterate over all the ref-containing fields of all objects, calling 513 // Iterate over all the ref-containing fields of all objects, calling
510 // "cl.do_oop" on each. This includes objects in permanent memory. 514 // "cl.do_oop" on each. This includes objects in permanent memory.
511 virtual void oop_iterate(OopClosure* cl) = 0; 515 virtual void oop_iterate(OopClosure* cl) = 0;
512 516
513 // Iterate over all objects, calling "cl.do_object" on each. 517 // Iterate over all objects, calling "cl.do_object" on each.