hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp
changeset 3589 abdd970c243d
parent 2882 d508a8bac491
child 3590 a268fa66d7fb
equal deleted inserted replaced
3588:57abdf957b1b 3589:abdd970c243d
    34   bool     _def_use_cache;
    34   bool     _def_use_cache;
    35   size_t _n_periods;
    35   size_t _n_periods;
    36   size_t _total_cards;
    36   size_t _total_cards;
    37   size_t _total_travs;
    37   size_t _total_travs;
    38 
    38 
    39   unsigned char*  _card_counts;
    39   unsigned char* _card_counts;
    40   unsigned _n_card_counts;
    40   unsigned       _n_card_counts;
    41   const jbyte* _ct_bot;
    41   const jbyte*   _ct_bot;
    42   unsigned* _cur_card_count_histo;
    42   unsigned*      _cur_card_count_histo;
    43   unsigned* _cum_card_count_histo;
    43   unsigned*      _cum_card_count_histo;
    44   jbyte**  _hot_cache;
    44 
    45   int      _hot_cache_size;
    45   jbyte**      _hot_cache;
    46   int      _n_hot;
    46   int          _hot_cache_size;
    47   int      _hot_cache_idx;
    47   int          _n_hot;
       
    48   int          _hot_cache_idx;
       
    49 
       
    50   int          _hot_cache_par_chunk_size;
       
    51   volatile int _hot_cache_par_claimed_idx;
    48 
    52 
    49   // Returns the count of this card after incrementing it.
    53   // Returns the count of this card after incrementing it.
    50   int add_card_count(jbyte* card_ptr);
    54   int add_card_count(jbyte* card_ptr);
    51 
    55 
    52   void print_card_count_histo_range(unsigned* histo, int from, int to,
    56   void print_card_count_histo_range(unsigned* histo, int from, int to,
    68   jbyte* cache_insert(jbyte* card_ptr);
    72   jbyte* cache_insert(jbyte* card_ptr);
    69 
    73 
    70   // Process the cached entries.
    74   // Process the cached entries.
    71   void clean_up_cache(int worker_i, G1RemSet* g1rs);
    75   void clean_up_cache(int worker_i, G1RemSet* g1rs);
    72 
    76 
       
    77   // Set up for parallel processing of the cards in the hot cache
       
    78   void clear_hot_cache_claimed_index() {
       
    79     _hot_cache_par_claimed_idx = 0;
       
    80   }
       
    81 
    73   // Discard entries in the hot cache.
    82   // Discard entries in the hot cache.
    74   void clear_hot_cache() {
    83   void clear_hot_cache() {
    75     _hot_cache_idx = 0; _n_hot = 0;
    84     _hot_cache_idx = 0; _n_hot = 0;
    76   }
    85   }
    77 
    86