< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.hpp

Print this page




1153 
1154   HeapWord* base() const {
1155     return _reserved.start();
1156   }
1157 
1158   bool is_in_reserved(const void* addr) const {
1159     return _reserved.contains(addr);
1160   }
1161 
1162   G1HotCardCache* hot_card_cache() const { return _hot_card_cache; }
1163 
1164   G1CardTable* card_table() const {
1165     return _card_table;
1166   }
1167 
1168   // Iteration functions.
1169 
1170   // Iterate over all objects, calling "cl.do_object" on each.
1171   virtual void object_iterate(ObjectClosure* cl);
1172 











1173   // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
1174   virtual void keep_alive(oop obj);
1175 
1176   // Iterate over heap regions, in address order, terminating the
1177   // iteration early if the "do_heap_region" method returns "true".
1178   void heap_region_iterate(HeapRegionClosure* blk) const;
1179 
1180   // Return the region with the given index. It assumes the index is valid.
1181   inline HeapRegion* region_at(uint index) const;
1182   inline HeapRegion* region_at_or_null(uint index) const;
1183 
1184   // Return the next region (by index) that is part of the same
1185   // humongous object that hr is part of.
1186   inline HeapRegion* next_region_in_humongous(HeapRegion* hr) const;
1187 
1188   // Calculate the region index of the given address. Given address must be
1189   // within the heap.
1190   inline uint addr_to_region(HeapWord* addr) const;
1191 
1192   inline HeapWord* bottom_addr_for_region(uint index) const;




1153 
1154   HeapWord* base() const {
1155     return _reserved.start();
1156   }
1157 
1158   bool is_in_reserved(const void* addr) const {
1159     return _reserved.contains(addr);
1160   }
1161 
1162   G1HotCardCache* hot_card_cache() const { return _hot_card_cache; }
1163 
1164   G1CardTable* card_table() const {
1165     return _card_table;
1166   }
1167 
1168   // Iteration functions.
1169 
1170   // Iterate over all objects, calling "cl.do_object" on each.
1171   virtual void object_iterate(ObjectClosure* cl);
1172 
1173   virtual bool run_par_heap_inspect_task(KlassInfoTable* cit,
1174                                                  BoolObjectClosure* filter,
1175                                                  size_t* missed_count,
1176                                                  size_t thread_num);
1177 
1178   // Parallel iterate over all objects.
1179   virtual void object_iterate_parallel(ObjectClosure* cl, uint worker_id, HeapRegionClaimer* claimer);
1180 
1181   // Parallel iterate over all objects, reture false if parallel not support.
1182   virtual bool object_iterate_try_parallel(AbstractGangTask *task, size_t par_thread_num);
1183 
1184   // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
1185   virtual void keep_alive(oop obj);
1186 
1187   // Iterate over heap regions, in address order, terminating the
1188   // iteration early if the "do_heap_region" method returns "true".
1189   void heap_region_iterate(HeapRegionClosure* blk) const;
1190 
1191   // Return the region with the given index. It assumes the index is valid.
1192   inline HeapRegion* region_at(uint index) const;
1193   inline HeapRegion* region_at_or_null(uint index) const;
1194 
1195   // Return the next region (by index) that is part of the same
1196   // humongous object that hr is part of.
1197   inline HeapRegion* next_region_in_humongous(HeapRegion* hr) const;
1198 
1199   // Calculate the region index of the given address. Given address must be
1200   // within the heap.
1201   inline uint addr_to_region(HeapWord* addr) const;
1202 
1203   inline HeapWord* bottom_addr_for_region(uint index) const;


< prev index next >