< prev index next >

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

Print this page

        

*** 370,380 **** return new_obj; } size_t G1CollectedHeap::humongous_obj_size_in_regions(size_t word_size) { assert(is_humongous(word_size), "Object of size " SIZE_FORMAT " must be humongous here", word_size); ! return align_size_up_(word_size, HeapRegion::GrainWords) / HeapRegion::GrainWords; } // If could fit into free regions w/o expansion, try. // Otherwise, if can expand, do so. // Otherwise, if using ex regions might help, try with ex given back. --- 370,380 ---- return new_obj; } size_t G1CollectedHeap::humongous_obj_size_in_regions(size_t word_size) { assert(is_humongous(word_size), "Object of size " SIZE_FORMAT " must be humongous here", word_size); ! return align_up_(word_size, HeapRegion::GrainWords) / HeapRegion::GrainWords; } // If could fit into free regions w/o expansion, try. // Otherwise, if can expand, do so. // Otherwise, if using ex regions might help, try with ex given back.
*** 1603,1614 **** } return NULL; } bool G1CollectedHeap::expand(size_t expand_bytes, WorkGang* pretouch_workers, double* expand_time_ms) { ! size_t aligned_expand_bytes = ReservedSpace::page_align_size_up(expand_bytes); ! aligned_expand_bytes = align_size_up(aligned_expand_bytes, HeapRegion::GrainBytes); log_debug(gc, ergo, heap)("Expand the heap. requested expansion amount: " SIZE_FORMAT "B expansion amount: " SIZE_FORMAT "B", expand_bytes, aligned_expand_bytes); --- 1603,1614 ---- } return NULL; } bool G1CollectedHeap::expand(size_t expand_bytes, WorkGang* pretouch_workers, double* expand_time_ms) { ! size_t aligned_expand_bytes = ReservedSpace::page_align_up(expand_bytes); ! aligned_expand_bytes = align_up(aligned_expand_bytes, HeapRegion::GrainBytes); log_debug(gc, ergo, heap)("Expand the heap. requested expansion amount: " SIZE_FORMAT "B expansion amount: " SIZE_FORMAT "B", expand_bytes, aligned_expand_bytes);
*** 1644,1655 **** return regions_to_expand > 0; } void G1CollectedHeap::shrink_helper(size_t shrink_bytes) { size_t aligned_shrink_bytes = ! ReservedSpace::page_align_size_down(shrink_bytes); ! aligned_shrink_bytes = align_size_down(aligned_shrink_bytes, HeapRegion::GrainBytes); uint num_regions_to_remove = (uint)(shrink_bytes / HeapRegion::GrainBytes); uint num_regions_removed = _hrm.shrink_by(num_regions_to_remove); size_t shrunk_bytes = num_regions_removed * HeapRegion::GrainBytes; --- 1644,1655 ---- return regions_to_expand > 0; } void G1CollectedHeap::shrink_helper(size_t shrink_bytes) { size_t aligned_shrink_bytes = ! ReservedSpace::page_align_down(shrink_bytes); ! aligned_shrink_bytes = align_down(aligned_shrink_bytes, HeapRegion::GrainBytes); uint num_regions_to_remove = (uint)(shrink_bytes / HeapRegion::GrainBytes); uint num_regions_removed = _hrm.shrink_by(num_regions_to_remove); size_t shrunk_bytes = num_regions_removed * HeapRegion::GrainBytes;
*** 2433,2443 **** } // For G1 TLABs should not contain humongous objects, so the maximum TLAB size // must be equal to the humongous object limit. size_t G1CollectedHeap::max_tlab_size() const { ! return align_size_down(_humongous_object_threshold_in_words, MinObjAlignment); } size_t G1CollectedHeap::unsafe_max_tlab_alloc(Thread* ignored) const { AllocationContext_t context = AllocationContext::current(); return _allocator->unsafe_max_tlab_alloc(context); --- 2433,2443 ---- } // For G1 TLABs should not contain humongous objects, so the maximum TLAB size // must be equal to the humongous object limit. size_t G1CollectedHeap::max_tlab_size() const { ! return align_down(_humongous_object_threshold_in_words, MinObjAlignment); } size_t G1CollectedHeap::unsafe_max_tlab_alloc(Thread* ignored) const { AllocationContext_t context = AllocationContext::current(); return _allocator->unsafe_max_tlab_alloc(context);
< prev index next >