src/share/vm/memory/genCollectedHeap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/memory

src/share/vm/memory/genCollectedHeap.hpp

Print this page




  71 
  72   // Indicates that the most recent previous incremental collection failed.
  73   // The flag is cleared when an action is taken that might clear the
  74   // condition that caused that incremental collection to fail.
  75   bool _incremental_collection_failed;
  76 
  77   // In support of ExplicitGCInvokesConcurrent functionality
  78   unsigned int _full_collections_completed;
  79 
  80   // Data structure for claiming the (potentially) parallel tasks in
  81   // (gen-specific) strong roots processing.
  82   SubTasksDone* _gen_process_strong_tasks;
  83   SubTasksDone* gen_process_strong_tasks() { return _gen_process_strong_tasks; }
  84 
  85   // In block contents verification, the number of header words to skip
  86   NOT_PRODUCT(static size_t _skip_header_HeapWords;)
  87 
  88 protected:
  89   // Directs each generation up to and including "collectedGen" to recompute
  90   // its desired size.
  91   void compute_new_generation_sizes(int collectedGen);
  92 
  93   // Helper functions for allocation
  94   HeapWord* attempt_allocation(size_t size,
  95                                bool   is_tlab,
  96                                bool   first_only);
  97 
  98   // Helper function for two callbacks below.
  99   // Considers collection of the first max_level+1 generations.
 100   void do_collection(bool   full,
 101                      bool   clear_all_soft_refs,
 102                      size_t size,
 103                      bool   is_tlab,
 104                      int    max_level);
 105 
 106   // Callback from VM_GenCollectForAllocation operation.
 107   // This function does everything necessary/possible to satisfy an
 108   // allocation request that failed in the youngest generation that should
 109   // have handled it (including collection, expansion, etc.)
 110   HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
 111 




  71 
  72   // Indicates that the most recent previous incremental collection failed.
  73   // The flag is cleared when an action is taken that might clear the
  74   // condition that caused that incremental collection to fail.
  75   bool _incremental_collection_failed;
  76 
  77   // In support of ExplicitGCInvokesConcurrent functionality
  78   unsigned int _full_collections_completed;
  79 
  80   // Data structure for claiming the (potentially) parallel tasks in
  81   // (gen-specific) strong roots processing.
  82   SubTasksDone* _gen_process_strong_tasks;
  83   SubTasksDone* gen_process_strong_tasks() { return _gen_process_strong_tasks; }
  84 
  85   // In block contents verification, the number of header words to skip
  86   NOT_PRODUCT(static size_t _skip_header_HeapWords;)
  87 
  88 protected:
  89   // Directs each generation up to and including "collectedGen" to recompute
  90   // its desired size.
  91   //void compute_new_generation_sizes(int collectedGen);
  92 
  93   // Helper functions for allocation
  94   HeapWord* attempt_allocation(size_t size,
  95                                bool   is_tlab,
  96                                bool   first_only);
  97 
  98   // Helper function for two callbacks below.
  99   // Considers collection of the first max_level+1 generations.
 100   void do_collection(bool   full,
 101                      bool   clear_all_soft_refs,
 102                      size_t size,
 103                      bool   is_tlab,
 104                      int    max_level);
 105 
 106   // Callback from VM_GenCollectForAllocation operation.
 107   // This function does everything necessary/possible to satisfy an
 108   // allocation request that failed in the youngest generation that should
 109   // have handled it (including collection, expansion, etc.)
 110   HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
 111 


src/share/vm/memory/genCollectedHeap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File