< prev index next >

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

Print this page




1161   // Perform a collection of the heap; intended for use in implementing
1162   // "System.gc".  This probably implies as full a collection as the
1163   // "CollectedHeap" supports.
1164   virtual void collect(GCCause::Cause cause);
1165 
1166   // The same as above but assume that the caller holds the Heap_lock.
1167   void collect_locked(GCCause::Cause cause);
1168 
1169   virtual bool copy_allocation_context_stats(const jint* contexts,
1170                                              jlong* totals,
1171                                              jbyte* accuracy,
1172                                              jint len);
1173 
1174   // True iff an evacuation has failed in the most-recent collection.
1175   bool evacuation_failed() { return _evacuation_failed; }
1176 
1177   void remove_from_old_sets(const HeapRegionSetCount& old_regions_removed, const HeapRegionSetCount& humongous_regions_removed);
1178   void prepend_to_freelist(FreeRegionList* list);
1179   void decrement_summary_bytes(size_t bytes);
1180 
1181   // Returns "TRUE" iff "p" points into the committed areas of the heap.
1182   virtual bool is_in(const void* p) const;
1183 #ifdef ASSERT
1184   // Returns whether p is in one of the available areas of the heap. Slow but
1185   // extensive version.
1186   bool is_in_exact(const void* p) const;
1187 #endif
1188 
1189   // Return "TRUE" iff the given object address is within the collection
1190   // set. Slow implementation.
1191   bool obj_in_cs(oop obj);
1192 
1193   inline bool is_in_cset(const HeapRegion *hr);
1194   inline bool is_in_cset(oop obj);
1195 
1196   inline bool is_in_cset_or_humongous(const oop obj);
1197 
1198  private:
1199   // This array is used for a quick test on whether a reference points into
1200   // the collection set or not. Each of the array's elements denotes whether the
1201   // corresponding region is in the collection set or not.




1161   // Perform a collection of the heap; intended for use in implementing
1162   // "System.gc".  This probably implies as full a collection as the
1163   // "CollectedHeap" supports.
1164   virtual void collect(GCCause::Cause cause);
1165 
1166   // The same as above but assume that the caller holds the Heap_lock.
1167   void collect_locked(GCCause::Cause cause);
1168 
1169   virtual bool copy_allocation_context_stats(const jint* contexts,
1170                                              jlong* totals,
1171                                              jbyte* accuracy,
1172                                              jint len);
1173 
1174   // True iff an evacuation has failed in the most-recent collection.
1175   bool evacuation_failed() { return _evacuation_failed; }
1176 
1177   void remove_from_old_sets(const HeapRegionSetCount& old_regions_removed, const HeapRegionSetCount& humongous_regions_removed);
1178   void prepend_to_freelist(FreeRegionList* list);
1179   void decrement_summary_bytes(size_t bytes);
1180 

1181   virtual bool is_in(const void* p) const;
1182 #ifdef ASSERT
1183   // Returns whether p is in one of the available areas of the heap. Slow but
1184   // extensive version.
1185   bool is_in_exact(const void* p) const;
1186 #endif
1187 
1188   // Return "TRUE" iff the given object address is within the collection
1189   // set. Slow implementation.
1190   bool obj_in_cs(oop obj);
1191 
1192   inline bool is_in_cset(const HeapRegion *hr);
1193   inline bool is_in_cset(oop obj);
1194 
1195   inline bool is_in_cset_or_humongous(const oop obj);
1196 
1197  private:
1198   // This array is used for a quick test on whether a reference points into
1199   // the collection set or not. Each of the array's elements denotes whether the
1200   // corresponding region is in the collection set or not.


< prev index next >