src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp

changeset 1324
15c5903cf9e1
parent 1230
215f81b4d9b3
child 1325
6cb8e9df7174
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp	Sun Aug 02 22:33:27 2009 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp	Mon Aug 03 12:59:30 2009 -0700
     1.3 @@ -36,15 +36,19 @@
     1.4    size_t _total_cards;
     1.5    size_t _total_travs;
     1.6  
     1.7 -  unsigned char*  _card_counts;
     1.8 -  unsigned _n_card_counts;
     1.9 -  const jbyte* _ct_bot;
    1.10 -  unsigned* _cur_card_count_histo;
    1.11 -  unsigned* _cum_card_count_histo;
    1.12 -  jbyte**  _hot_cache;
    1.13 -  int      _hot_cache_size;
    1.14 -  int      _n_hot;
    1.15 -  int      _hot_cache_idx;
    1.16 +  unsigned char* _card_counts;
    1.17 +  unsigned       _n_card_counts;
    1.18 +  const jbyte*   _ct_bot;
    1.19 +  unsigned*      _cur_card_count_histo;
    1.20 +  unsigned*      _cum_card_count_histo;
    1.21 +
    1.22 +  jbyte**      _hot_cache;
    1.23 +  int          _hot_cache_size;
    1.24 +  int          _n_hot;
    1.25 +  int          _hot_cache_idx;
    1.26 +
    1.27 +  int          _hot_cache_par_chunk_size;
    1.28 +  volatile int _hot_cache_par_claimed_idx;
    1.29  
    1.30    // Returns the count of this card after incrementing it.
    1.31    int add_card_count(jbyte* card_ptr);
    1.32 @@ -70,6 +74,11 @@
    1.33    // Process the cached entries.
    1.34    void clean_up_cache(int worker_i, G1RemSet* g1rs);
    1.35  
    1.36 +  // Set up for parallel processing of the cards in the hot cache
    1.37 +  void clear_hot_cache_claimed_index() {
    1.38 +    _hot_cache_par_claimed_idx = 0;
    1.39 +  }
    1.40 +
    1.41    // Discard entries in the hot cache.
    1.42    void clear_hot_cache() {
    1.43      _hot_cache_idx = 0; _n_hot = 0;

mercurial