< prev index next >

src/hotspot/share/gc/g1/g1ParScanThreadState.hpp

Print this page
rev 57223 : imported patch 8225484-changes-to-survivor-calculation


  52 
  53   G1PLABAllocator* _plab_allocator;
  54 
  55   AgeTable _age_table;
  56   G1HeapRegionAttr _dest[G1HeapRegionAttr::Num];
  57   // Local tenuring threshold.
  58   uint _tenuring_threshold;
  59   G1ScanEvacuatedObjClosure  _scanner;
  60 
  61   uint _worker_id;
  62 
  63   // Remember the last enqueued card to avoid enqueuing the same card over and over;
  64   // since we only ever scan a card once, this is sufficient.
  65   size_t _last_enqueued_card;
  66 
  67   // Upper and lower threshold to start and end work queue draining.
  68   uint const _stack_trim_upper_threshold;
  69   uint const _stack_trim_lower_threshold;
  70 
  71   Tickspan _trim_ticks;



  72   // Map from young-age-index (0 == not young, 1 is youngest) to
  73   // surviving words. base is what we get back from the malloc call
  74   size_t* _surviving_young_words_base;
  75   // this points into the array, as we use the first few entries for padding
  76   size_t* _surviving_young_words;
  77   // Number of elements in the array above.
  78   size_t _surviving_words_length;
  79   // Indicates whether in the last generation (old) there is no more space
  80   // available for allocation.
  81   bool _old_gen_is_full;
  82 
  83 #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t))
  84 
  85   G1RedirtyCardsQueue& redirty_cards_queue()     { return _rdcq; }
  86   G1CardTable* ct()                              { return _ct; }
  87 
  88   G1HeapRegionAttr dest(G1HeapRegionAttr original) const {
  89     assert(original.is_valid(),
  90            "Original region attr invalid: %s", original.get_type_str());
  91     assert(_dest[original.type()].is_valid_gen(),




  52 
  53   G1PLABAllocator* _plab_allocator;
  54 
  55   AgeTable _age_table;
  56   G1HeapRegionAttr _dest[G1HeapRegionAttr::Num];
  57   // Local tenuring threshold.
  58   uint _tenuring_threshold;
  59   G1ScanEvacuatedObjClosure  _scanner;
  60 
  61   uint _worker_id;
  62 
  63   // Remember the last enqueued card to avoid enqueuing the same card over and over;
  64   // since we only ever scan a card once, this is sufficient.
  65   size_t _last_enqueued_card;
  66 
  67   // Upper and lower threshold to start and end work queue draining.
  68   uint const _stack_trim_upper_threshold;
  69   uint const _stack_trim_lower_threshold;
  70 
  71   Tickspan _trim_ticks;
  72 
  73   // The amount of actually copied words into the survivor regions during evacuation.
  74   size_t _surviving_survivor_words;
  75   // Map from young-age-index (0 == not young, 1 is youngest) to
  76   // surviving words. base is what we get back from the malloc call
  77   size_t* _surviving_young_words_base;
  78   // this points into the array, as we use the first few entries for padding
  79   size_t* _surviving_young_words;
  80   // Number of elements in the array above.
  81   size_t _surviving_words_length;
  82   // Indicates whether in the last generation (old) there is no more space
  83   // available for allocation.
  84   bool _old_gen_is_full;
  85 
  86 #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t))
  87 
  88   G1RedirtyCardsQueue& redirty_cards_queue()     { return _rdcq; }
  89   G1CardTable* ct()                              { return _ct; }
  90 
  91   G1HeapRegionAttr dest(G1HeapRegionAttr original) const {
  92     assert(original.is_valid(),
  93            "Original region attr invalid: %s", original.get_type_str());
  94     assert(_dest[original.type()].is_valid_gen(),


< prev index next >