< prev index next >

src/share/vm/gc/shenandoah/shenandoahHeapRegionSet.cpp

Print this page
rev 13068 : [mq]: partial.patch


 167   return NULL;
 168 }
 169 
 170 class FindRegionClosure : public ShenandoahHeapRegionClosure {
 171   ShenandoahHeapRegion* _query;
 172   bool _result;
 173 public:
 174 
 175   FindRegionClosure(ShenandoahHeapRegion* query) : _query(query), _result(false) {}
 176 
 177   bool doHeapRegion(ShenandoahHeapRegion* r) {
 178     _result = (r == _query);
 179     return _result;
 180   }
 181 
 182   bool result() { return _result;}
 183 };
 184 
 185 bool ShenandoahHeapRegionSet::contains(ShenandoahHeapRegion* r) {
 186   FindRegionClosure cl(r);
 187   unclaimed_heap_region_iterate(&cl);
 188   return cl.result();
 189 }
 190 
 191 HeapWord* ShenandoahHeapRegionSet::bottom() const {
 192   return get(0)->bottom();
 193 }
 194 
 195 HeapWord* ShenandoahHeapRegionSet::end() const {
 196   return get(_active_end - 1)->end();
 197 }
 198 
 199 ShenandoahHeapRegion* ShenandoahHeapRegionSet::get(size_t i) const {
 200   if (i < _active_end) {
 201     return _regions[i];
 202   } else {
 203     return NULL;
 204   }
 205 }
 206 
 207 ShenandoahHeapRegion* ShenandoahHeapRegionSet::current() const {


 167   return NULL;
 168 }
 169 
 170 class FindRegionClosure : public ShenandoahHeapRegionClosure {
 171   ShenandoahHeapRegion* _query;
 172   bool _result;
 173 public:
 174 
 175   FindRegionClosure(ShenandoahHeapRegion* query) : _query(query), _result(false) {}
 176 
 177   bool doHeapRegion(ShenandoahHeapRegion* r) {
 178     _result = (r == _query);
 179     return _result;
 180   }
 181 
 182   bool result() { return _result;}
 183 };
 184 
 185 bool ShenandoahHeapRegionSet::contains(ShenandoahHeapRegion* r) {
 186   FindRegionClosure cl(r);
 187   active_heap_region_iterate(&cl);
 188   return cl.result();
 189 }
 190 
 191 HeapWord* ShenandoahHeapRegionSet::bottom() const {
 192   return get(0)->bottom();
 193 }
 194 
 195 HeapWord* ShenandoahHeapRegionSet::end() const {
 196   return get(_active_end - 1)->end();
 197 }
 198 
 199 ShenandoahHeapRegion* ShenandoahHeapRegionSet::get(size_t i) const {
 200   if (i < _active_end) {
 201     return _regions[i];
 202   } else {
 203     return NULL;
 204   }
 205 }
 206 
 207 ShenandoahHeapRegion* ShenandoahHeapRegionSet::current() const {
< prev index next >