src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc_implementation/concurrentMarkSweep

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

Print this page
rev 7215 : imported patch remove_levels


1105     MS_foreground_collection_type       = 1,
1106     MSC_foreground_collection_type      = 2,
1107     Unknown_collection_type             = 3
1108   };
1109 
1110   CollectionTypes _debug_collection_type;
1111 
1112   // True if a compacting collection was done.
1113   bool _did_compact;
1114   bool did_compact() { return _did_compact; }
1115 
1116   // Fraction of current occupancy at which to start a CMS collection which
1117   // will collect this generation (at least).
1118   double _initiating_occupancy;
1119 
1120  protected:
1121   // Shrink generation by specified size (returns false if unable to shrink)
1122   void shrink_free_list_by(size_t bytes);
1123 
1124   // Update statistics for GC
1125   virtual void update_gc_stats(int level, bool full);
1126 
1127   // Maximum available space in the generation (including uncommitted)
1128   // space.
1129   size_t max_available() const;
1130 
1131   // getter and initializer for _initiating_occupancy field.
1132   double initiating_occupancy() const { return _initiating_occupancy; }
1133   void   init_initiating_occupancy(intx io, uintx tr);
1134 
1135  public:
1136   ConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size,
1137                                 int level, CardTableRS* ct,
1138                                 bool use_adaptive_freelists,
1139                                 FreeBlockDictionary<FreeChunk>::DictionaryChoice);
1140 
1141   // Accessors
1142   CMSCollector* collector() const { return _collector; }
1143   static void set_collector(CMSCollector* collector) {
1144     assert(_collector == NULL, "already set");
1145     _collector = collector;
1146   }
1147   CompactibleFreeListSpace*  cmsSpace() const { return _cmsSpace;  }
1148 
1149   Mutex* freelistLock() const;
1150 
1151   virtual Generation::Name kind() { return Generation::ConcurrentMarkSweep; }
1152 
1153   void set_did_compact(bool v) { _did_compact = v; }
1154 
1155   bool refs_discovery_is_atomic() const { return false; }
1156   bool refs_discovery_is_mt()     const {
1157     // Note: CMS does MT-discovery during the parallel-remark




1105     MS_foreground_collection_type       = 1,
1106     MSC_foreground_collection_type      = 2,
1107     Unknown_collection_type             = 3
1108   };
1109 
1110   CollectionTypes _debug_collection_type;
1111 
1112   // True if a compacting collection was done.
1113   bool _did_compact;
1114   bool did_compact() { return _did_compact; }
1115 
1116   // Fraction of current occupancy at which to start a CMS collection which
1117   // will collect this generation (at least).
1118   double _initiating_occupancy;
1119 
1120  protected:
1121   // Shrink generation by specified size (returns false if unable to shrink)
1122   void shrink_free_list_by(size_t bytes);
1123 
1124   // Update statistics for GC
1125   virtual void update_gc_stats(Generation* current_generation, bool full);
1126 
1127   // Maximum available space in the generation (including uncommitted)
1128   // space.
1129   size_t max_available() const;
1130 
1131   // getter and initializer for _initiating_occupancy field.
1132   double initiating_occupancy() const { return _initiating_occupancy; }
1133   void   init_initiating_occupancy(intx io, uintx tr);
1134 
1135  public:
1136   ConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size,
1137                                 CardTableRS* ct,
1138                                 bool use_adaptive_freelists,
1139                                 FreeBlockDictionary<FreeChunk>::DictionaryChoice);
1140 
1141   // Accessors
1142   CMSCollector* collector() const { return _collector; }
1143   static void set_collector(CMSCollector* collector) {
1144     assert(_collector == NULL, "already set");
1145     _collector = collector;
1146   }
1147   CompactibleFreeListSpace*  cmsSpace() const { return _cmsSpace;  }
1148 
1149   Mutex* freelistLock() const;
1150 
1151   virtual Generation::Name kind() { return Generation::ConcurrentMarkSweep; }
1152 
1153   void set_did_compact(bool v) { _did_compact = v; }
1154 
1155   bool refs_discovery_is_atomic() const { return false; }
1156   bool refs_discovery_is_mt()     const {
1157     // Note: CMS does MT-discovery during the parallel-remark


src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File