src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-gc-g1-mmap Sdiff src/share/vm/gc_implementation/concurrentMarkSweep

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

Print this page




  38 // are swept during collection.
  39 //
  40 // See the corresponding .cpp file for a description of the specifics
  41 // for that implementation.
  42 
  43 class Mutex;
  44 
  45 template <class Chunk>
  46 class AdaptiveFreeList : public FreeList<Chunk> {
  47   friend class CompactibleFreeListSpace;
  48   friend class VMStructs;
  49   // friend class PrintTreeCensusClosure<Chunk, FreeList_t>;
  50 
  51   size_t        _hint;          // next larger size list with a positive surplus
  52 
  53   AllocationStats _allocation_stats; // allocation-related statistics
  54 
  55  public:
  56 
  57   AdaptiveFreeList();
  58   AdaptiveFreeList(Chunk* fc);
  59 
  60   using FreeList<Chunk>::assert_proper_lock_protection;
  61 #ifdef ASSERT
  62   using FreeList<Chunk>::protecting_lock;
  63 #endif
  64   using FreeList<Chunk>::count;
  65   using FreeList<Chunk>::size;
  66   using FreeList<Chunk>::verify_chunk_in_free_list;
  67   using FreeList<Chunk>::getFirstNChunksFromList;
  68   using FreeList<Chunk>::print_on;
  69   void return_chunk_at_head(Chunk* fc, bool record_return);
  70   void return_chunk_at_head(Chunk* fc);
  71   void return_chunk_at_tail(Chunk* fc, bool record_return);
  72   void return_chunk_at_tail(Chunk* fc);
  73   using FreeList<Chunk>::return_chunk_at_tail;
  74   using FreeList<Chunk>::remove_chunk;
  75   using FreeList<Chunk>::prepend;
  76   using FreeList<Chunk>::print_labels_on;
  77   using FreeList<Chunk>::get_chunk_at_head;
  78 




  38 // are swept during collection.
  39 //
  40 // See the corresponding .cpp file for a description of the specifics
  41 // for that implementation.
  42 
  43 class Mutex;
  44 
  45 template <class Chunk>
  46 class AdaptiveFreeList : public FreeList<Chunk> {
  47   friend class CompactibleFreeListSpace;
  48   friend class VMStructs;
  49   // friend class PrintTreeCensusClosure<Chunk, FreeList_t>;
  50 
  51   size_t        _hint;          // next larger size list with a positive surplus
  52 
  53   AllocationStats _allocation_stats; // allocation-related statistics
  54 
  55  public:
  56 
  57   AdaptiveFreeList();

  58 
  59   using FreeList<Chunk>::assert_proper_lock_protection;
  60 #ifdef ASSERT
  61   using FreeList<Chunk>::protecting_lock;
  62 #endif
  63   using FreeList<Chunk>::count;
  64   using FreeList<Chunk>::size;
  65   using FreeList<Chunk>::verify_chunk_in_free_list;
  66   using FreeList<Chunk>::getFirstNChunksFromList;
  67   using FreeList<Chunk>::print_on;
  68   void return_chunk_at_head(Chunk* fc, bool record_return);
  69   void return_chunk_at_head(Chunk* fc);
  70   void return_chunk_at_tail(Chunk* fc, bool record_return);
  71   void return_chunk_at_tail(Chunk* fc);
  72   using FreeList<Chunk>::return_chunk_at_tail;
  73   using FreeList<Chunk>::remove_chunk;
  74   using FreeList<Chunk>::prepend;
  75   using FreeList<Chunk>::print_labels_on;
  76   using FreeList<Chunk>::get_chunk_at_head;
  77 


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