795 assert(!mr.is_empty(), "Should be non-empty"); |
795 assert(!mr.is_empty(), "Should be non-empty"); |
796 // We use MemRegion(bottom(), end()) rather than used_region() below |
796 // We use MemRegion(bottom(), end()) rather than used_region() below |
797 // because the two are not necessarily equal for some kinds of |
797 // because the two are not necessarily equal for some kinds of |
798 // spaces, in particular, certain kinds of free list spaces. |
798 // spaces, in particular, certain kinds of free list spaces. |
799 // We could use the more complicated but more precise: |
799 // We could use the more complicated but more precise: |
800 // MemRegion(used_region().start(), round_to(used_region().end(), CardSize)) |
800 // MemRegion(used_region().start(), align_up(used_region().end(), CardSize)) |
801 // but the slight imprecision seems acceptable in the assertion check. |
801 // but the slight imprecision seems acceptable in the assertion check. |
802 assert(MemRegion(bottom(), end()).contains(mr), |
802 assert(MemRegion(bottom(), end()).contains(mr), |
803 "Should be within used space"); |
803 "Should be within used space"); |
804 HeapWord* prev = cl->previous(); // max address from last time |
804 HeapWord* prev = cl->previous(); // max address from last time |
805 if (prev >= mr.end()) { // nothing to do |
805 if (prev >= mr.end()) { // nothing to do |
856 CompactibleFreeListSpace::object_iterate_careful_m(MemRegion mr, |
856 CompactibleFreeListSpace::object_iterate_careful_m(MemRegion mr, |
857 ObjectClosureCareful* cl) { |
857 ObjectClosureCareful* cl) { |
858 assert_lock_strong(freelistLock()); |
858 assert_lock_strong(freelistLock()); |
859 // Can't use used_region() below because it may not necessarily |
859 // Can't use used_region() below because it may not necessarily |
860 // be the same as [bottom(),end()); although we could |
860 // be the same as [bottom(),end()); although we could |
861 // use [used_region().start(),round_to(used_region().end(),CardSize)), |
861 // use [used_region().start(),align_up(used_region().end(),CardSize)), |
862 // that appears too cumbersome, so we just do the simpler check |
862 // that appears too cumbersome, so we just do the simpler check |
863 // in the assertion below. |
863 // in the assertion below. |
864 assert(!mr.is_empty() && MemRegion(bottom(),end()).contains(mr), |
864 assert(!mr.is_empty() && MemRegion(bottom(),end()).contains(mr), |
865 "mr should be non-empty and within used space"); |
865 "mr should be non-empty and within used space"); |
866 HeapWord *addr, *end; |
866 HeapWord *addr, *end; |