< prev index next >

src/share/vm/utilities/bitMap.cpp

Print this page
rev 10387 : 8151436: Leaner ArrayAllocator and BitMaps
Reviewed-by: tschatzl, pliden, kbarrett

*** 28,45 **** #include "runtime/atomic.inline.hpp" #include "utilities/bitMap.inline.hpp" #include "utilities/copy.hpp" BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) : ! _map(map), _size(size_in_bits), _map_allocator(false) { assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption."); } BitMap::BitMap(idx_t size_in_bits, bool in_resource_area) : ! _map(NULL), _size(0), _map_allocator(false) { assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption."); resize(size_in_bits, in_resource_area); } --- 28,45 ---- #include "runtime/atomic.inline.hpp" #include "utilities/bitMap.inline.hpp" #include "utilities/copy.hpp" BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) : ! _map(map), _size(size_in_bits) { assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption."); } BitMap::BitMap(idx_t size_in_bits, bool in_resource_area) : ! _map(NULL), _size(0) { assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption."); resize(size_in_bits, in_resource_area); }
*** 52,62 **** if (in_resource_area) { _map = NEW_RESOURCE_ARRAY(bm_word_t, new_size_in_words); Copy::disjoint_words((HeapWord*)old_map, (HeapWord*) _map, MIN2(old_size_in_words, new_size_in_words)); } else { ! _map = _map_allocator.reallocate(new_size_in_words); } if (new_size_in_words > old_size_in_words) { clear_range_of_words(old_size_in_words, new_size_in_words); } --- 52,62 ---- if (in_resource_area) { _map = NEW_RESOURCE_ARRAY(bm_word_t, new_size_in_words); Copy::disjoint_words((HeapWord*)old_map, (HeapWord*) _map, MIN2(old_size_in_words, new_size_in_words)); } else { ! _map = ArrayAllocator<bm_word_t, mtInternal>::reallocate(old_map, old_size_in_words, new_size_in_words); } if (new_size_in_words > old_size_in_words) { clear_range_of_words(old_size_in_words, new_size_in_words); }
< prev index next >