hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp

Print this page




 574   bool _completed_initialization;
 575 
 576   // In support of ExplicitGCInvokesConcurrent
 577   static bool _full_gc_requested;
 578   static GCCause::Cause _full_gc_cause;
 579   unsigned int _collection_count_start;
 580 
 581   // Should we unload classes this concurrent cycle?
 582   bool _should_unload_classes;
 583   unsigned int  _concurrent_cycles_since_last_unload;
 584   unsigned int concurrent_cycles_since_last_unload() const {
 585     return _concurrent_cycles_since_last_unload;
 586   }
 587   // Did we (allow) unload classes in the previous concurrent cycle?
 588   bool unloaded_classes_last_cycle() const {
 589     return concurrent_cycles_since_last_unload() == 0;
 590   }
 591   // Root scanning options for perm gen
 592   int _roots_scanning_options;
 593   int roots_scanning_options() const      { return _roots_scanning_options; }

 594   void add_root_scanning_option(int o)    { _roots_scanning_options |= o;   }
 595   void remove_root_scanning_option(int o) { _roots_scanning_options &= ~o;  }
 596 
 597   // Verification support
 598   CMSBitMap     _verification_mark_bm;
 599   void verify_after_remark_work_1();
 600   void verify_after_remark_work_2();
 601 
 602   // true if any verification flag is on.
 603   bool _verifying;
 604   bool verifying() const { return _verifying; }
 605   void set_verifying(bool v) { _verifying = v; }
 606 
 607   // Collector policy
 608   ConcurrentMarkSweepPolicy* _collector_policy;
 609   ConcurrentMarkSweepPolicy* collector_policy() { return _collector_policy; }
 610 
 611   void set_did_compact(bool v);
 612 
 613   // XXX Move these to CMSStats ??? FIX ME !!!




 574   bool _completed_initialization;
 575 
 576   // In support of ExplicitGCInvokesConcurrent
 577   static bool _full_gc_requested;
 578   static GCCause::Cause _full_gc_cause;
 579   unsigned int _collection_count_start;
 580 
 581   // Should we unload classes this concurrent cycle?
 582   bool _should_unload_classes;
 583   unsigned int  _concurrent_cycles_since_last_unload;
 584   unsigned int concurrent_cycles_since_last_unload() const {
 585     return _concurrent_cycles_since_last_unload;
 586   }
 587   // Did we (allow) unload classes in the previous concurrent cycle?
 588   bool unloaded_classes_last_cycle() const {
 589     return concurrent_cycles_since_last_unload() == 0;
 590   }
 591   // Root scanning options for perm gen
 592   int _roots_scanning_options;
 593   int roots_scanning_options() const      { return _roots_scanning_options; }
 594   void set_root_scanning_option(int o)    { _roots_scanning_options = o;    }
 595   void add_root_scanning_option(int o)    { _roots_scanning_options |= o;   }
 596   void remove_root_scanning_option(int o) { _roots_scanning_options &= ~o;  }
 597 
 598   // Verification support
 599   CMSBitMap     _verification_mark_bm;
 600   void verify_after_remark_work_1();
 601   void verify_after_remark_work_2();
 602 
 603   // true if any verification flag is on.
 604   bool _verifying;
 605   bool verifying() const { return _verifying; }
 606   void set_verifying(bool v) { _verifying = v; }
 607 
 608   // Collector policy
 609   ConcurrentMarkSweepPolicy* _collector_policy;
 610   ConcurrentMarkSweepPolicy* collector_policy() { return _collector_policy; }
 611 
 612   void set_did_compact(bool v);
 613 
 614   // XXX Move these to CMSStats ??? FIX ME !!!