< prev index next >

src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp

Print this page




 242 
 243   // Save the tops of the spaces in all generations
 244   void record_gen_tops_before_GC() PRODUCT_RETURN;
 245 
 246   // Mangle the unused parts of all spaces in the heap
 247   void gen_mangle_unused_area() PRODUCT_RETURN;
 248 
 249   // Call these in sequential code around the processing of strong roots.
 250   class ParStrongRootsScope : public MarkScope {
 251    public:
 252     ParStrongRootsScope();
 253     ~ParStrongRootsScope();
 254   };
 255 
 256   GCMemoryManager* old_gc_manager() const { return _old_manager; }
 257   GCMemoryManager* young_gc_manager() const { return _young_manager; }
 258 
 259   WorkGang& workers() {
 260     return _workers;
 261   }



 262 };
 263 
 264 // Class that can be used to print information about the
 265 // adaptive size policy at intervals specified by
 266 // AdaptiveSizePolicyOutputInterval.  Only print information
 267 // if an adaptive size policy is in use.
 268 class AdaptiveSizePolicyOutput : AllStatic {
 269   static bool enabled() {
 270     return UseParallelGC &&
 271            UseAdaptiveSizePolicy &&
 272            log_is_enabled(Debug, gc, ergo);
 273   }
 274  public:
 275   static void print() {
 276     if (enabled()) {
 277       ParallelScavengeHeap::heap()->size_policy()->print();
 278     }
 279   }
 280 
 281   static void print(AdaptiveSizePolicy* size_policy, uint count) {


 242 
 243   // Save the tops of the spaces in all generations
 244   void record_gen_tops_before_GC() PRODUCT_RETURN;
 245 
 246   // Mangle the unused parts of all spaces in the heap
 247   void gen_mangle_unused_area() PRODUCT_RETURN;
 248 
 249   // Call these in sequential code around the processing of strong roots.
 250   class ParStrongRootsScope : public MarkScope {
 251    public:
 252     ParStrongRootsScope();
 253     ~ParStrongRootsScope();
 254   };
 255 
 256   GCMemoryManager* old_gc_manager() const { return _old_manager; }
 257   GCMemoryManager* young_gc_manager() const { return _young_manager; }
 258 
 259   WorkGang& workers() {
 260     return _workers;
 261   }
 262 
 263   // Runs the given AbstractGangTask with the current active workers.
 264   virtual void run_task(AbstractGangTask* task);
 265 };
 266 
 267 // Class that can be used to print information about the
 268 // adaptive size policy at intervals specified by
 269 // AdaptiveSizePolicyOutputInterval.  Only print information
 270 // if an adaptive size policy is in use.
 271 class AdaptiveSizePolicyOutput : AllStatic {
 272   static bool enabled() {
 273     return UseParallelGC &&
 274            UseAdaptiveSizePolicy &&
 275            log_is_enabled(Debug, gc, ergo);
 276   }
 277  public:
 278   static void print() {
 279     if (enabled()) {
 280       ParallelScavengeHeap::heap()->size_policy()->print();
 281     }
 282   }
 283 
 284   static void print(AdaptiveSizePolicy* size_policy, uint count) {
< prev index next >