< prev index next >

src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp

Print this page




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
  26 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
  27 
  28 #include "gc_implementation/parallelScavenge/generationSizer.hpp"
  29 #include "gc_implementation/parallelScavenge/objectStartArray.hpp"
  30 #include "gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp"
  31 #include "gc_implementation/parallelScavenge/psOldGen.hpp"
  32 #include "gc_implementation/parallelScavenge/psYoungGen.hpp"
  33 #include "gc_implementation/shared/gcPolicyCounters.hpp"
  34 #include "gc_implementation/shared/gcWhen.hpp"
  35 #include "gc_interface/collectedHeap.inline.hpp"
  36 #include "memory/collectorPolicy.hpp"

  37 #include "utilities/ostream.hpp"
  38 
  39 class AdjoiningGenerations;
  40 class GCHeapSummary;
  41 class GCTaskManager;
  42 class PSAdaptiveSizePolicy;
  43 class PSHeapSummary;
  44 
  45 class ParallelScavengeHeap : public CollectedHeap {
  46   friend class VMStructs;
  47  private:
  48   static PSYoungGen* _young_gen;
  49   static PSOldGen*   _old_gen;
  50 
  51   // Sizing policy for entire heap
  52   static PSAdaptiveSizePolicy*       _size_policy;
  53   static PSGCAdaptivePolicyCounters* _gc_policy_counters;
  54 
  55   static ParallelScavengeHeap* _psh;
  56 


 220 
 221   void verify(bool silent, VerifyOption option /* ignored */);
 222 
 223   void print_heap_change(size_t prev_used);
 224 
 225   // Resize the young generation.  The reserved space for the
 226   // generation may be expanded in preparation for the resize.
 227   void resize_young_gen(size_t eden_size, size_t survivor_size);
 228 
 229   // Resize the old generation.  The reserved space for the
 230   // generation may be expanded in preparation for the resize.
 231   void resize_old_gen(size_t desired_free_space);
 232 
 233   // Save the tops of the spaces in all generations
 234   void record_gen_tops_before_GC() PRODUCT_RETURN;
 235 
 236   // Mangle the unused parts of all spaces in the heap
 237   void gen_mangle_unused_area() PRODUCT_RETURN;
 238 
 239   // Call these in sequential code around the processing of strong roots.
 240   class ParStrongRootsScope : public MarkingCodeBlobClosure::MarkScope {
 241    public:
 242     ParStrongRootsScope();
 243     ~ParStrongRootsScope();
 244   };
 245 };
 246 
 247 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP


  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
  26 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
  27 
  28 #include "gc_implementation/parallelScavenge/generationSizer.hpp"
  29 #include "gc_implementation/parallelScavenge/objectStartArray.hpp"
  30 #include "gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp"
  31 #include "gc_implementation/parallelScavenge/psOldGen.hpp"
  32 #include "gc_implementation/parallelScavenge/psYoungGen.hpp"
  33 #include "gc_implementation/shared/gcPolicyCounters.hpp"
  34 #include "gc_implementation/shared/gcWhen.hpp"
  35 #include "gc_interface/collectedHeap.inline.hpp"
  36 #include "memory/collectorPolicy.hpp"
  37 #include "memory/strongRootsScope.hpp"
  38 #include "utilities/ostream.hpp"
  39 
  40 class AdjoiningGenerations;
  41 class GCHeapSummary;
  42 class GCTaskManager;
  43 class PSAdaptiveSizePolicy;
  44 class PSHeapSummary;
  45 
  46 class ParallelScavengeHeap : public CollectedHeap {
  47   friend class VMStructs;
  48  private:
  49   static PSYoungGen* _young_gen;
  50   static PSOldGen*   _old_gen;
  51 
  52   // Sizing policy for entire heap
  53   static PSAdaptiveSizePolicy*       _size_policy;
  54   static PSGCAdaptivePolicyCounters* _gc_policy_counters;
  55 
  56   static ParallelScavengeHeap* _psh;
  57 


 221 
 222   void verify(bool silent, VerifyOption option /* ignored */);
 223 
 224   void print_heap_change(size_t prev_used);
 225 
 226   // Resize the young generation.  The reserved space for the
 227   // generation may be expanded in preparation for the resize.
 228   void resize_young_gen(size_t eden_size, size_t survivor_size);
 229 
 230   // Resize the old generation.  The reserved space for the
 231   // generation may be expanded in preparation for the resize.
 232   void resize_old_gen(size_t desired_free_space);
 233 
 234   // Save the tops of the spaces in all generations
 235   void record_gen_tops_before_GC() PRODUCT_RETURN;
 236 
 237   // Mangle the unused parts of all spaces in the heap
 238   void gen_mangle_unused_area() PRODUCT_RETURN;
 239 
 240   // Call these in sequential code around the processing of strong roots.
 241   class ParStrongRootsScope : public MarkScope {
 242    public:
 243     ParStrongRootsScope();
 244     ~ParStrongRootsScope();
 245   };
 246 };
 247 
 248 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
< prev index next >