src/hotspot/share/utilities/bitMap.hpp
changeset 52485 e5534cc91a10
parent 52394 96bd0f70ef99
child 53244 9807daeb47c4
equal deleted inserted replaced
52484:18bd95c0e463 52485:e5534cc91a10
    70 
    70 
    71   // Values for get_next_bit_impl flip parameter.
    71   // Values for get_next_bit_impl flip parameter.
    72   static const bm_word_t find_ones_flip = 0;
    72   static const bm_word_t find_ones_flip = 0;
    73   static const bm_word_t find_zeros_flip = ~(bm_word_t)0;
    73   static const bm_word_t find_zeros_flip = ~(bm_word_t)0;
    74 
    74 
       
    75   // Threshold for performing small range operation, even when large range
       
    76   // operation was requested. Measured in words.
       
    77   static const size_t small_range_words = 32;
       
    78 
    75  protected:
    79  protected:
    76   // Return the position of bit within the word that contains it (e.g., if
    80   // Return the position of bit within the word that contains it (e.g., if
    77   // bitmap words are 32 bits, return a number 0 <= n <= 31).
    81   // bitmap words are 32 bits, return a number 0 <= n <= 31).
    78   static idx_t bit_in_word(idx_t bit) { return bit & (BitsPerWord - 1); }
    82   static idx_t bit_in_word(idx_t bit) { return bit & (BitsPerWord - 1); }
    79 
    83 
   114   void      clear_range_of_words       (idx_t beg, idx_t end);
   118   void      clear_range_of_words       (idx_t beg, idx_t end);
   115   void      set_large_range_of_words   (idx_t beg, idx_t end);
   119   void      set_large_range_of_words   (idx_t beg, idx_t end);
   116   void      clear_large_range_of_words (idx_t beg, idx_t end);
   120   void      clear_large_range_of_words (idx_t beg, idx_t end);
   117 
   121 
   118   static void clear_range_of_words(bm_word_t* map, idx_t beg, idx_t end);
   122   static void clear_range_of_words(bm_word_t* map, idx_t beg, idx_t end);
       
   123 
       
   124   static bool is_small_range_of_words(idx_t beg_full_word, idx_t end_full_word);
   119 
   125 
   120   // The index of the first full word in a range.
   126   // The index of the first full word in a range.
   121   idx_t word_index_round_up(idx_t bit) const;
   127   idx_t word_index_round_up(idx_t bit) const;
   122 
   128 
   123   // Verification.
   129   // Verification.