src/hotspot/share/gc/shared/genCollectedHeap.hpp
changeset 59053 ba6c248cae19
parent 58015 dd84de796f2c
child 59153 1152339c298a
equal deleted inserted replaced
59051:f0312c7d5b37 59053:ba6c248cae19
    43 // collection.  It has two generations, young and old.
    43 // collection.  It has two generations, young and old.
    44 class GenCollectedHeap : public CollectedHeap {
    44 class GenCollectedHeap : public CollectedHeap {
    45   friend class Generation;
    45   friend class Generation;
    46   friend class DefNewGeneration;
    46   friend class DefNewGeneration;
    47   friend class TenuredGeneration;
    47   friend class TenuredGeneration;
    48   friend class ConcurrentMarkSweepGeneration;
       
    49   friend class CMSCollector;
       
    50   friend class GenMarkSweep;
    48   friend class GenMarkSweep;
    51   friend class VM_GenCollectForAllocation;
    49   friend class VM_GenCollectForAllocation;
    52   friend class VM_GenCollectFull;
    50   friend class VM_GenCollectFull;
    53   friend class VM_GenCollectFullConcurrent;
    51   friend class VM_GenCollectFullConcurrent;
    54   friend class VM_GC_HeapInspection;
    52   friend class VM_GC_HeapInspection;
   384                      OopClosure* strong_roots,
   382                      OopClosure* strong_roots,
   385                      CLDClosure* strong_cld_closure,
   383                      CLDClosure* strong_cld_closure,
   386                      CLDClosure* weak_cld_closure,
   384                      CLDClosure* weak_cld_closure,
   387                      CodeBlobToOopClosure* code_roots);
   385                      CodeBlobToOopClosure* code_roots);
   388 
   386 
   389   // Accessor for memory state verification support
       
   390   NOT_PRODUCT(
       
   391     virtual size_t skip_header_HeapWords() { return 0; }
       
   392   )
       
   393 
       
   394   virtual void gc_prologue(bool full);
   387   virtual void gc_prologue(bool full);
   395   virtual void gc_epilogue(bool full);
   388   virtual void gc_epilogue(bool full);
   396 
   389 
   397  public:
   390  public:
   398   void young_process_roots(StrongRootsScope* scope,
   391   void young_process_roots(StrongRootsScope* scope,
   463 
   456 
   464   HeapWord* mem_allocate_work(size_t size,
   457   HeapWord* mem_allocate_work(size_t size,
   465                               bool is_tlab,
   458                               bool is_tlab,
   466                               bool* gc_overhead_limit_was_exceeded);
   459                               bool* gc_overhead_limit_was_exceeded);
   467 
   460 
   468   // Override
       
   469   void check_for_non_bad_heap_word_value(HeapWord* addr,
       
   470     size_t size) PRODUCT_RETURN;
       
   471 
       
   472 #if INCLUDE_SERIALGC
   461 #if INCLUDE_SERIALGC
   473   // For use by mark-sweep.  As implemented, mark-sweep-compact is global
   462   // For use by mark-sweep.  As implemented, mark-sweep-compact is global
   474   // in an essential way: compaction is performed across generations, by
   463   // in an essential way: compaction is performed across generations, by
   475   // iterating over spaces.
   464   // iterating over spaces.
   476   void prepare_for_compaction();
   465   void prepare_for_compaction();