84 _region_shift = HeapRegion::LogOfHRGrainBytes; |
84 _region_shift = HeapRegion::LogOfHRGrainBytes; |
85 _next_search_index = 0; |
85 _next_search_index = 0; |
86 _allocated_length = 0; |
86 _allocated_length = 0; |
87 _max_length = max_length; |
87 _max_length = max_length; |
88 |
88 |
89 _regions = NEW_C_HEAP_ARRAY(HeapRegion*, max_length); |
89 _regions = NEW_C_HEAP_ARRAY(HeapRegion*, max_length, mtGC); |
90 memset(_regions, 0, (size_t) max_length * sizeof(HeapRegion*)); |
90 memset(_regions, 0, (size_t) max_length * sizeof(HeapRegion*)); |
91 _regions_biased = _regions - ((uintx) bottom >> _region_shift); |
91 _regions_biased = _regions - ((uintx) bottom >> _region_shift); |
92 |
92 |
93 assert(&_regions[0] == &_regions_biased[addr_to_index_biased(bottom)], |
93 assert(&_regions[0] == &_regions_biased[addr_to_index_biased(bottom)], |
94 "bottom should be included in the region with index 0"); |
94 "bottom should be included in the region with index 0"); |