< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp

Print this page
rev 58687 : Shenandoah: New incremental-update mode


  40   } while (0)
  41 
  42 #define SHENANDOAH_ERGO_ENABLE_FLAG(name)                                   \
  43   do {                                                                      \
  44     if (FLAG_IS_DEFAULT(name) && !(name)) {                                 \
  45       log_info(gc)("Heuristics ergonomically sets -XX:+" #name);            \
  46       FLAG_SET_DEFAULT(name, true);                                         \
  47     }                                                                       \
  48   } while (0)
  49 
  50 #define SHENANDOAH_ERGO_OVERRIDE_DEFAULT(name, value)                       \
  51   do {                                                                      \
  52     if (FLAG_IS_DEFAULT(name)) {                                            \
  53       log_info(gc)("Heuristics ergonomically sets -XX:" #name "=" #value);  \
  54       FLAG_SET_DEFAULT(name, value);                                        \
  55     }                                                                       \
  56   } while (0)
  57 
  58 #define SHENANDOAH_CHECK_FLAG_SET(name)                                     \
  59   do {                                                                      \
  60     if (!name) {                                                            \
  61       err_msg message("Heuristics needs -XX:+" #name " to work correctly"); \
  62       vm_exit_during_initialization("Error", message);                      \
  63     }                                                                       \
  64   } while (0)
  65 
  66 class ShenandoahCollectionSet;
  67 class ShenandoahHeapRegion;
  68 
  69 class ShenandoahHeuristics : public CHeapObj<mtGC> {
  70   static const intx Concurrent_Adjust   = -1; // recover from penalties
  71   static const intx Degenerated_Penalty = 10; // how much to penalize average GC duration history on Degenerated GC
  72   static const intx Full_Penalty        = 20; // how much to penalize average GC duration history on Full GC
  73 
  74 protected:
  75   typedef struct {
  76     ShenandoahHeapRegion* _region;
  77     size_t _garbage;
  78     uint64_t _seqnum_last_alloc;
  79   } RegionData;
  80 




  40   } while (0)
  41 
  42 #define SHENANDOAH_ERGO_ENABLE_FLAG(name)                                   \
  43   do {                                                                      \
  44     if (FLAG_IS_DEFAULT(name) && !(name)) {                                 \
  45       log_info(gc)("Heuristics ergonomically sets -XX:+" #name);            \
  46       FLAG_SET_DEFAULT(name, true);                                         \
  47     }                                                                       \
  48   } while (0)
  49 
  50 #define SHENANDOAH_ERGO_OVERRIDE_DEFAULT(name, value)                       \
  51   do {                                                                      \
  52     if (FLAG_IS_DEFAULT(name)) {                                            \
  53       log_info(gc)("Heuristics ergonomically sets -XX:" #name "=" #value);  \
  54       FLAG_SET_DEFAULT(name, value);                                        \
  55     }                                                                       \
  56   } while (0)
  57 
  58 #define SHENANDOAH_CHECK_FLAG_SET(name)                                     \
  59   do {                                                                      \
  60     if (!(name)) {                                                          \
  61       err_msg message("Heuristics needs -XX:+" #name " to work correctly"); \
  62       vm_exit_during_initialization("Error", message);                      \
  63     }                                                                       \
  64   } while (0)
  65 
  66 class ShenandoahCollectionSet;
  67 class ShenandoahHeapRegion;
  68 
  69 class ShenandoahHeuristics : public CHeapObj<mtGC> {
  70   static const intx Concurrent_Adjust   = -1; // recover from penalties
  71   static const intx Degenerated_Penalty = 10; // how much to penalize average GC duration history on Degenerated GC
  72   static const intx Full_Penalty        = 20; // how much to penalize average GC duration history on Full GC
  73 
  74 protected:
  75   typedef struct {
  76     ShenandoahHeapRegion* _region;
  77     size_t _garbage;
  78     uint64_t _seqnum_last_alloc;
  79   } RegionData;
  80 


< prev index next >