< prev index next >

src/share/vm/gc/g1/heapRegionManager.cpp

Print this page
rev 12309 : [mq]: 8169703-crash-with-alwayspretouch

*** 284,294 **** // committed, expand_at that index. uint curr = max_length() - 1; while (true) { HeapRegion *hr = _regions.get_by_index(curr); if (hr == NULL) { ! uint res = expand_at(curr, 1); if (res == 1) { *expanded = true; return curr; } } else { --- 284,294 ---- // committed, expand_at that index. uint curr = max_length() - 1; while (true) { HeapRegion *hr = _regions.get_by_index(curr); if (hr == NULL) { ! uint res = expand_at(curr, 1, NULL); if (res == 1) { *expanded = true; return curr; } } else {
*** 302,322 **** } curr--; } } ! bool HeapRegionManager::allocate_containing_regions(MemRegion range, size_t* commit_count) { size_t commits = 0; uint start_index = (uint)_regions.get_index_by_address(range.start()); uint last_index = (uint)_regions.get_index_by_address(range.last()); // Ensure that each G1 region in the range is free, returning false if not. // Commit those that are not yet available, and keep count. for (uint curr_index = start_index; curr_index <= last_index; curr_index++) { if (!is_available(curr_index)) { commits++; ! expand_at(curr_index, 1); } HeapRegion* curr_region = _regions.get_by_index(curr_index); if (!curr_region->is_free()) { return false; } --- 302,322 ---- } curr--; } } ! bool HeapRegionManager::allocate_containing_regions(MemRegion range, size_t* commit_count, WorkGang* pretouch_workers) { size_t commits = 0; uint start_index = (uint)_regions.get_index_by_address(range.start()); uint last_index = (uint)_regions.get_index_by_address(range.last()); // Ensure that each G1 region in the range is free, returning false if not. // Commit those that are not yet available, and keep count. for (uint curr_index = start_index; curr_index <= last_index; curr_index++) { if (!is_available(curr_index)) { commits++; ! expand_at(curr_index, 1, pretouch_workers); } HeapRegion* curr_region = _regions.get_by_index(curr_index); if (!curr_region->is_free()) { return false; }
< prev index next >