< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp

Print this page
*** 878,11 ***
  template<typename Iter>
  HeapWord* ShenandoahFreeSet::allocate_from_regions(Iter& iterator, ShenandoahAllocRequest &req, bool &in_new_region) {
    for (idx_t idx = iterator.current(); iterator.has_next(); idx = iterator.next()) {
      ShenandoahHeapRegion* r = _heap->get_region(idx);
      size_t min_size = (req.type() == ShenandoahAllocRequest::_alloc_tlab) ? req.min_size() : req.size();
!     if (alloc_capacity(r) >= min_size) {
        HeapWord* result = try_allocate_in(r, req, in_new_region);
        if (result != nullptr) {
          return result;
        }
      }
--- 878,11 ---
  template<typename Iter>
  HeapWord* ShenandoahFreeSet::allocate_from_regions(Iter& iterator, ShenandoahAllocRequest &req, bool &in_new_region) {
    for (idx_t idx = iterator.current(); iterator.has_next(); idx = iterator.next()) {
      ShenandoahHeapRegion* r = _heap->get_region(idx);
      size_t min_size = (req.type() == ShenandoahAllocRequest::_alloc_tlab) ? req.min_size() : req.size();
!     if (alloc_capacity(r) >= min_size * HeapWordSize) {
        HeapWord* result = try_allocate_in(r, req, in_new_region);
        if (result != nullptr) {
          return result;
        }
      }
< prev index next >